Thanks for taking the time. The bar is "small, focused, and consistent with what's already there."
- One concern per PR — bugfix, feature, docs, or refactor.
- Match the existing tone, design system, and file conventions (see below).
- No heavyweight dependencies unless clearly justified in the PR description.
- No telemetry, accounts, or anything that requires the user to log in.
git clone https://github.com/dotsystemsdevs/commitmentissues.git
cd commitmentissues
npm install
npm run devOpen http://localhost:3000. Every environment variable is optional — see .env.example.
npm run lint
npm run typecheck
npm testIf you changed runtime behaviour (anything outside docs / tests), also run:
npm run buildCI runs the same three commands plus build on every push and PR to main.
- Fork the repo.
- Create a branch named
feat/...,fix/...,docs/..., orchore/.... - Keep commits small. Conventional Commit prefixes are appreciated but not required.
- Open the PR against
main. Fill in the PR template — what changed, why, and screenshots if anything visual moved.
- React components:
PascalCase.tsxinsrc/components/. - Hooks:
useCamelCase.ts— co-located with the component if scoped to one feature, otherwise insrc/hooks/. - Library / pure logic:
camelCase.tsinsrc/lib/. Keep this layer free of React imports. - API routes follow the App Router convention:
src/app/api/<name>/route.ts. - Docs and config:
kebab-case.md. - Folders: lowercase.
Good first contributions:
- UI polish, micro-interactions, accessibility fixes.
- Small bug fixes with a clear repro.
- New rules in
scoring.ts— with a test case. - Docs and screenshot updates.
Please check in before opening:
- Larger refactors or architecture changes.
- New runtime dependencies.
- Anything that adds backend state (we already lean heavily on Redis).
Avoid in first PRs:
- Sweeping rewrites mixed into a feature.
- Unrelated cleanup bundled into a fix.
- Style-only changes that fight the design tokens in
globals.css.
Use the issue templates in .github/ISSUE_TEMPLATE/. Include a reproduction for bugs and acceptance criteria for features.