Thanks for taking the time to contribute. This guide applies to every public repository in the Dimes organization:
- dimes-sdk — TypeScript SDK
- dimes-demo-ui — reference frontend
- Found a bug or want a feature? Open an issue first. For anything beyond a typo or a one-line fix, an issue lets us agree on the approach before you spend time on it.
- Found a security vulnerability? Do not open an issue. Follow SECURITY.md.
dimes-sdk uses pnpm:
pnpm install
pnpm test # vitest
pnpm typecheck # tsc --noEmit
pnpm lint # eslint + prettier --check
pnpm lint:fix # autofix before committingdimes-demo-ui uses npm:
cp .env.example .env.local
npm install
npm run dev # vite dev server
npm test # vitest
npm run lint # eslintBoth repositories install a pre-commit hook. Please don't bypass it with --no-verify.
- Fork the repository and branch from the default branch.
- Keep the change focused — one logical change per PR.
- Add or update tests for any behavior change.
- Make sure lint, typecheck, and tests all pass locally before pushing.
- Write a PR description that explains why, not just what. Link the issue it closes.
We use Conventional Commits for commit messages
(feat:, fix:, chore:, docs:). It keeps the changelog readable.
Formatting and linting are enforced by Prettier and ESLint — run the autofix rather than arguing with the config. Match the conventions of the surrounding code.
By contributing, you agree that your contributions will be licensed under the MIT License that covers the repository.