Thanks for taking the time to contribute.
- Fork the repo and clone your fork
- Install dependencies:
bun install
- Create a
.envfile:cp .env.example .env
- Create upload directories:
mkdir -p uploads/images uploads/documents uploads/temp
- Start dev:
bun run dev(Vite)bun run start(API/server)
If you prefer the existing PM2 flow, see README.md.
- Keep changes focused and small.
- Follow existing code patterns (components, hooks, utilities).
- No
console.log/warn/error:- Frontend: use
src/utilities/logger.js - Backend: use
utilities/backend-logger.js
- Frontend: use
- Avoid adding new dependencies unless necessary.
- Frontend:
bun run test:frontend - API:
bun run test:api
Include tests for bug fixes when there’s an existing test harness.
- Create a branch:
git checkout -b yourname/short-description - Make your changes and run tests.
- Open a pull request.
- Describe what changed and why.
- Link any related issue.
- Include screenshots for UI changes.
- Note any new environment variables and update
.env.example.
Please open a GitHub Issue with:
- Steps to reproduce
- Expected vs actual behavior
- Screenshots/logs when helpful
Do not open a public issue for security vulnerabilities.
See SECURITY.md for responsible disclosure instructions.
This project is licensed under AGPL-3.0 (see LICENSE).
By submitting a pull request, you agree that your contribution is licensed under AGPL-3.0 and that you have the right to submit it under those terms.