Thanks for your interest in improving DRepTalk, a wallet-authenticated discussion forum for Cardano governance. Contributions of all sizes are welcome: bug reports, fixes, docs, and features.
By taking part, you agree to follow our Code of Conduct.
Open a GitHub issue. For bugs, include what you did, what you expected, and what happened, plus the network you were on (mainnet or preprod) and any console or server output.
For suspected security issues, please do not open a public issue. See Security below.
Setup, local development, the database, and running governance syncs are all documented in the README. In short:
npm install
npm run db:migrate:local # apply migrations to the local D1 database (required once)
npm run dev # app dev serverLocal and preview run against the Cardano preprod testnet. See the README for the full picture.
- Fork the repository and create a branch off
main. Use a descriptive, prefixed name:feat/,fix/,docs/,chore/, orstyle/(for examplefix/vote-badge-timezone). - Make your change. Keep each pull request focused on one thing; smaller, self-contained changes are easier to review and merge.
- Make sure the checks below pass locally.
- Open a pull request against
mainwith a clear description of what changed and why.
CI runs these on every pull request, and a PR cannot merge until they are green. Run them locally first:
npm run typecheck # astro check
npm run lint # Biome lint
npm test # Vitest unit and integration testsCI also runs npm audit --omit=dev --audit-level=high and fails on high or critical vulnerabilities in production dependencies.
Code is linted with Biome. The linter is the CI gate, so keep your changes lint-clean:
npm run lint # check
npm run lint:fix # apply safe fixesMatch the style of the surrounding code: 2-space indentation, single quotes, semicolons, trailing commas, and a 100-character line width (see biome.json). Please scope formatting to the lines you touch rather than reformatting whole files, so diffs stay reviewable.
Write code comments and commit messages in English.
Add or update tests for behavior you change. Use npm run test:watch while developing. Tests live next to the code they cover and run on the Cloudflare Workers test pool.
Commit messages follow Conventional Commits with these prefixes:
feat: new feature, fix: bug fix, i18n: translations, docs: documentation, chore: tooling and maintenance, style: formatting only.
Keep the subject line short, specific, and in the imperative, for example fix: keep vote badge in sync with cron cadence. PR titles follow the same convention; the description should be a short, clear list of what changed.
By contributing, you agree that your contributions are licensed under the project's Apache 2.0 License.
If you find a vulnerability, please report it privately rather than opening a public issue, so it can be fixed before it is widely known. Email dreptalk.padding436@passmail.net or use GitHub's private security advisory feature for this repository. See SECURITY.md for details.