You can help Charlie understand your project better by creating a configuration file at .charlie/config.yml:

## Files Charlie should skip during reviews
## Note: only include files not already in .gitignore
ignorePatterns:
  - '**/*.lock'
  - '**/*.lock.json'
  - '**/*.lockb'
  - '**/node_modules'
  - '**/.env'
  - '**/edgedb/lib/**'
  - '**/admin/lib/**'

## Commands Charlie can use to verify changes
checkCommands:
  fix: bun run fix
  lint: bun run lint
  types: bun run typecheck
  test: bun run test

Understanding the Configuration

When reviewing your code, Charlie will:

  • Skip files matching the ignorePatterns (like lock files and node_modules)
  • Use the checkCommands to validate changes when needed
  • Adapt his review style based on your project’s setup

Need help with configuration? Just mention @CharlieHelps in a PR, and he’ll be happy to assist!

Example Instructions

Charlie can be guided by custom instructions in your repository. You can find example instructions and templates in our public instructions repository.

To use these examples:

  1. Browse the repository for instructions that match your needs
  2. Copy relevant examples to your .charlie/instructions/ directory
  3. Customize them for your specific project

This community-driven repository grows over time as teams contribute their best practices and templates. Feel free to:

  • Use any examples as starting points for your own instructions
  • Suggest new instruction templates via pull requests
  • Share your team’s successful instruction patterns

Instructions should be specific to your project’s needs. The examples serve as inspiration rather than strict templates to follow.