Thanks for helping. DataGoat is MIT licensed; by contributing you agree your work is released under the same licence.
- Original code only. DataGoat is compatible with DataFast's public wire format and API, built from its public documentation. Do not copy code, markup, styles or copy text from DataFast, and do not read or use anything from DataBull (its licence forbids reverse engineering).
- Dependencies must be MIT, Apache-2.0, BSD or ISC.
- The app must keep working on the Cloudflare Workers Free plan: no KV writes per request, one
db.batch()per ingest event, few indexes (each costs a written row). The write-budget tests must keep passing.
See docs/development.md. In short: npm ci, copy .dev.vars.example to
.dev.vars, npm run dev.
- Read docs/CONTRACTS.md (where things live, how to add routes, jobs, migrations, pages and mocks) and docs/api/contract.md.
- Add tests for every behaviour: Worker tests in
test/worker/, dashboard tests next to the dashboard code, e2e intest/e2e/. - Run
npm run check(lint, typecheck, tests, build, size budgets, e2e). CI runs the same. - Database changes are new migration files; never edit a merged migration.
- Add a line to
CHANGELOG.mdunder Unreleased and document user-facing behaviour indocs/. - Keep commits small with messages that say what changed and why.
Please report vulnerabilities privately to the maintainer instead of opening a public issue.