CodePilot
Community

Contributing

How to contribute to CodePilot — from bug reports to pull requests.

We welcome contributions to CodePilot! Whether it's a bug fix, feature addition, documentation improvement, or a simple typo correction — every contribution matters.

Getting Started

Clone Your Fork

git clone https://github.com/YOUR_USERNAME/codepilot.git
cd codepilot
pnpm install

Create a Branch

Use a descriptive branch name with a conventional prefix:

git checkout -b feat/streaming-chat
git checkout -b fix/ingestion-timeout
git checkout -b docs/update-readme

Make Changes

Follow the development setup to run CodePilot locally.

Verify Your Changes

Before committing, ensure quality checks pass:

pnpm lint
pnpm typecheck
pnpm build

Commit with Conventional Commits

Use Conventional Commits format:

git commit -m "feat: add streaming chat responses"
git commit -m "fix: handle timeout in ingestion worker"
git commit -m "docs: update environment variables reference"
PrefixPurpose
feat:New feature
fix:Bug fix
docs:Documentation changes
chore:Maintenance, tooling
refactor:Code restructuring
test:Adding tests

Open a Pull Request

Push your branch and open a PR against main:

git push origin feat/streaming-chat

In the PR description, include:

  • What the change does
  • Why it's needed
  • How to test it
  • Screenshots (for UI changes)

Code Style

  • TypeScript — Strict mode enabled across all packages
  • ESLint — Shared configuration in packages/eslint-config
  • Prettier — Formatting rules in .prettierrc
  • Naming — Use camelCase for variables/functions, PascalCase for types/components

Project Structure

See Project Structure for a complete guide to the monorepo layout.

Reporting Bugs

Open a GitHub Issue with:

  • Steps to reproduce
  • Expected vs. actual behavior
  • Error logs and stack traces
  • Environment details (OS, Node.js version, Docker version)

Feature Requests

We track feature requests as GitHub Issues. Check the roadmap to see if your request is already planned.

On this page