Thanks for considering a contribution to Assertify! This document outlines how to set up a local environment, the coding standards we follow, and what we expect from every pull request.
- Report bugs or request features by opening an Issue with clear reproduction steps or user stories.
- Improve documentation, copy, or accessibility anywhere in the repo.
- Tackle open issues that are tagged
good first issue,help wanted, or any topic you feel comfortable owning.
- Node.js 18.x and the matching npm release (the CI pipeline pins Node 18).
- An OpenAI API key stored in
.env.localso you can exercise AI-powered features locally. gitand GitHub access so you can fork and open pull requests.
- Fork the repository on GitHub and clone your fork.
- Install dependencies:
npm install. - Copy the example environment file:
cp .env.example .env.local, then add your OpenAI API key. - Launch the dev server with
npm run devand visithttp://localhost:3000. - Run
npm run buildbefore opening a pull request to ensure Next.js can compile.
- Create feature branches off
masterusing the patterntype/short-description(e.g.,feat/context-questions). - Keep commits focused; prefer smaller commits that describe why a change exists.
- Follow the existing TypeScript, React, and Tailwind conventions already present in the code you touch.
The GitHub Actions workflow (.github/workflows/ci.yml) runs linting and formatting on every pull request. Run the same commands locally before pushing:
npm run lint
npm run format:checkUse npm run format to auto-format files. Please fix all warnings or explain why they cannot be resolved in the pull request description.
- Explain the motivation and link the Issue being addressed.
- Include screenshots or recordings for UI changes (desktop + mobile where relevant).
- Update documentation (README, docs, or component stories) when behavior changes.
- Ensure
npm run build,npm run lint, andnpm run format:checksucceed locally. - Request at least one review and be responsive to feedback.
When filing an Issue, include:
- Expected vs. actual behavior and reproduction steps.
- Environment details (OS, browser, Node version) if applicable.
- Logs, stack traces, or screenshots that make the problem easier to diagnose.
Unsure about the best approach or need clarification before opening a PR? Start a GitHub Discussion or comment on the related Issue so we can align on a solution before you invest significant time.
Happy testing!