Download desktop app --> latest release
Thanks for your interest in contributing! CodinIT is an open-source AI app builder (web + desktop) and we welcome contributions of all kinds — bug reports, documentation fixes, examples, tests, design improvements, and code changes.
Please take a quick look through this document to find the best way to contribute.
- Code of Conduct
- How can I contribute?
- Development setup
- Branching & commits
- Formatting, linting & tests
- Pull request checklist
- Security
- License & thanks
We expect all contributors to follow a friendly, respectful, and constructive Code of Conduct. If the project does not already include one, please follow GitHub's Community Guidelines and be courteous in issues, PRs, and discussions.
If you encounter harassment or problematic behavior, please contact the repository owners privately (see the repository SECURITY.yaml).
If you find a bug:
-
Search existing issues to see whether it's already been reported.
-
If not found, open a new issue with a clear title and the following details:
- What you expected to happen
- What actually happened
- Steps to reproduce (minimum reproducible example is ideal)
- Environment (OS, Node/pnpm/yarn version, Electron if applicable)
- Any error output or stack traces
A good bug report helps maintainers reproduce and fix problems quickly.
Open an issue labeled enhancement or feature request describing the desired behavior, the user story it supports, and any ideas for implementation. If you plan to implement the feature yourself, say so and link to the issue from your pull request.
- Claim the issue by commenting on it, or start a PR and reference the issue using
Fixes #ISSUE. - Create a branch from
mainnamed using the pattern:feature/short-descriptionorfix/short-description. - Follow the commit style described below and open a PR describing the change, why it’s needed, and any migration or configuration steps.
- Keep PRs focused: small, reviewable changes are easiest to land.
This section is intentionally minimal and focused on contributing.
- Fork the repository on GitHub.
- Clone your fork and install dependencies using the package manager defined in
package.json(pnpm preferred). - Create a
.env.localfile based on.env.exampleand provide valid credentials for any services required by the area you are working on (e.g. AI providers, database, auth). - Run the development environment and confirm the app starts before making changes.
If setup instructions change, the project README is the source of truth. Keep this file focused on contribution rules.
-
Branch from
mainfor new work. -
Use descriptive branch names:
feature/<name>,fix/<name>,chore/<name>. -
Use conventional commits where possible, for example:
feat: add Xfix: correct Ychore: update deps
This project uses formatting and linting tools (Prettier, ESLint, etc.). Please:
- Run linters and formatters before creating a PR.
- Add or update tests for new/changed behavior where applicable. There is a
__tests__folder and Playwright configuration for end-to-end/preview tests. - If you are unsure which scripts to run, check
package.jsonfortest,lint,format, anddevscripts.
Before requesting review, please ensure:
- The PR targets the
mainbranch (or the branch noted in the issue) - Your code builds and runs locally (
pnpm run dev/pnpm build) - Linting and formatting pass
- Relevant tests are added/updated and pass
- You’ve updated documentation when applicable (README, inline comments, etc.)
If you discover a security vulnerability, please follow the repository's SECURITY.yaml guidance and do not disclose sensitive details in public issues. Prefer private contact to the maintainers as described in the repository's security policy.
By contributing, you agree that your contributions will be licensed under the repository’s MIT license.
As well as our Terms & Privacy Policy any violations relating to our terms & conditions will be deemed punishable by law and legal action will be taken against you.
Thanks for helping make CodinIT better! If you have any questions about contributing, open an issue marked help wanted or reach out via the repository discussions.