Discussions в репозитории не включены (has_discussions: false), поэтому ../../discussions отдавал 404 в README и CONTRIBUTING. Issues уже включены и используются для багов — направляем туда же и предложения фич/ неочевидные случаи лицензии.
2.3 KiB
Contributing to Aurum
Thanks for considering a contribution — code, docs, bug reports, and ideas are all welcome.
Getting a dev environment running
The fastest path to a working environment is the same Docker Compose setup end users run:
cp .env.example .env
docker compose up -d --build
This gives you Postgres, the FastAPI backend (with migrations applied automatically on boot), and the built frontend served through nginx at http://localhost:3000.
For active frontend development with hot reload:
cd frontend
npm install
npm run dev
The dev server proxies API calls to whatever backend is running — point it at the Dockerized backend above, or run the backend locally:
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload
Before opening a PR
- Frontend:
npm run build(runstsc -bthenvite build) must pass with no type errors. - Backend: new tables or columns need an Alembic migration (
alembic revision --autogenerate -m "...") — check the generated migration by hand, autogenerate isn't always right. - New user-facing text goes through the translation system in
frontend/src/lib/i18n.ts(bothruanden— theenobject is typed againstru's keys, so a missing translation is a build error, not a runtime surprise) rather than being hardcoded in a component. - Mobile: check your change at a narrow viewport — Aurum is designed mobile-first.
- Keep PRs focused. A bug fix doesn't need an accompanying refactor.
Reporting bugs
Open an Issue with steps to reproduce. For security issues, please use GitHub's private Security tab instead of a public issue.
Proposing features
Open an Issue first for anything that changes the data model or adds a new area of the app — it's a lot easier to align on the shape of a feature before code exists than to rework a finished PR.
License
Aurum is licensed under PolyForm Noncommercial 1.0.0, not a traditional OSI open source license — see the README's License section for what that means in practice. By submitting a PR, you agree your contribution is licensed under the same terms as the rest of the project.