mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-10-28 15:51:27 +00:00
Nav and header wired as proof. Full string extraction deferred until a second locale exists; CONTRIBUTING records the convention. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1.8 KiB
1.8 KiB
Contributing
Thanks for considering a contribution. Dash is a small, deliberate codebase — read AGENTS.md and ROADMAP.md first; the roadmap is canonical for what gets built and when.
Setup
Requires Go 1.24+ and Node 20+.
npm install
npm run generate # regenerate the TS client from openapi.yaml
npm run dev # vite dev server on :5173, proxies /api to :8080
cd apps/backend
DASH_DEV=1 go run ./cmd/dash # API on :8080
Rules of the house
openapi.yamlis the API contract. Change it first, thennpm run generate. Never hand-write API types in the frontend.- All schema changes go through goose migrations in
apps/backend/internal/db/migrations—NNNN_name.sqlwith-- +goose Upand-- +goose Down. - Board renderers share state, drag-drop, and popover primitives. Never reimplement them per renderer.
- No auth, no YAML-as-source-of-truth, no external database. These are non-goals for v1.
- Standard library before dependencies; existing helpers before new ones.
- User-visible strings go through
t("key")fromsrc/i18n— add the key toen.tsrather than inlining literals in new UI.
Before pushing
npm run typecheck
npm run lint
npm run build
cd apps/backend
go build ./... && go vet ./... && go test ./...
Plus a real smoke test of whatever you changed. All gates green or no push.
Commits and PRs
- Conventional-ish subjects:
feat:,fix:,docs:,refactor:— keep them short and describe the why. - Small, reviewable PRs. Fill in the template; a screenshot of UI changes is worth more than a paragraph.
Reporting bugs / requesting features
Use the issue templates. For security issues, see SECURITY.md — do not open a public issue.