Thanks for your interest in contributing! Here's how to get started.
# Clone the repo
git clone https://github.com/MyPrototypeWhat/context-chef.git
cd context-chef
# Install dependencies
pnpm install
# Run tests
pnpm test
# Type check
pnpm typecheck
# Lint
pnpm lint
# Build
pnpm buildsrc/
├── adapters/ # Provider-specific adapters (OpenAI, Anthropic, Gemini)
├── core/ # Core interfaces
├── modules/
│ ├── assembler/ # Message assembly and stitching
│ ├── guardrail/ # Output format constraints
│ ├── janitor/ # History compression
│ ├── memory/ # Core memory with KV store
│ ├── offloader/ # VFS (virtual file system)
│ └── pruner/ # Tool management and filtering
├── types/ # TypeScript type definitions
├── utils/ # Utilities
├── prompts.ts # System prompt templates
└── index.ts # Main ContextChef class
- Fork the repo and create a branch from
main - Make your changes
- Add or update tests as needed
- Ensure all checks pass:
pnpm lint && pnpm typecheck && pnpm test
- Submit a pull request
- We use Biome for formatting and linting
- Run
pnpm lint:fixto auto-fix issues - Use single quotes, no semicolons optional (Biome handles this)
Use clear, descriptive commit messages:
Add <feature>for new featuresFix <issue>for bug fixesRefactor <area>for code improvementsUpdate <area>for enhancements
Use the bug report template to report issues.
By contributing, you agree that your contributions will be licensed under the MIT License.