Thank you for your interest in contributing to ContextAtlas! This document provides guidelines and instructions for contributing to the project.
- Bug Reports
- Feature Requests
- Pull Requests
- Development Setup
- Code Style
- Commit Messages
- Documentation
Bug reports help us improve ContextAtlas. Please include:
- ContextAtlas version: Run
contextatlas --versionor checkpackage.json - Node.js version: Run
node --version - Operating System: Linux, macOS, or Windows
- CLI or MCP mode: Whether you're using the CLI or MCP server mode
- Steps to reproduce: Clear, numbered steps to reproduce the bug
- Expected behavior: What you expected to happen
- Actual behavior: What actually happened (include error messages if applicable)
- Additional context: Screenshots, logs, or any other relevant information
We welcome feature requests! Please provide:
- Problem description: What problem or use case does this feature address?
- Proposed solution: How do you envision this feature working?
- Alternatives considered: What alternative approaches did you consider?
- Use case context: How would this feature benefit users?
- Fork the repository and create your branch from
main - Make your changes following our code style guidelines
- Test thoroughly to ensure your changes work as expected
- Update documentation if your changes affect user-facing behavior
- Submit a pull request with a clear description of the changes
- Code builds successfully (
pnpm build) - Changes are tested locally
- Documentation is updated if needed
- Commit messages follow conventional commit format
- Changes are backward compatible (unless breaking)
- Related issues are referenced
-
Clone the repository:
git clone https://github.com/codefromkarl/ContextAtlas.git cd ContextAtlas -
Install dependencies:
pnpm install
-
Build the project:
pnpm build
-
Run in development mode:
pnpm dev
-
Run tests (if available):
pnpm test
We use Biome for code formatting and linting. The project configuration is in biome.json.
- Formatting: Run
pnpm biome formatto format code - Linting: Run
pnpm biome checkto check code style - Auto-fix: Run
pnpm biome check --writeto auto-fix issues
- Use TypeScript for type safety
- Follow the existing code structure and patterns
- Write clear, self-documenting code with comments when necessary
- Keep functions focused and modular
- Use meaningful variable and function names
We follow Conventional Commits specification:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changes (formatting, etc.)refactor:Code refactoringtest:Test additions or changeschore:Build process or auxiliary tool changes
Examples:
feat: add support for multiple memory storesfix: resolve race condition in cache invalidationdocs: update installation instructions
For comprehensive documentation, please refer to the main README.md and the docs/ directory.
When making changes that affect user-facing behavior:
- Update the relevant documentation files
- Ensure examples are accurate and up-to-date
- Consider adding migration guides for breaking changes
- Update the changelog if applicable
Feel free to open a discussion on GitHub Discussions for questions or ideas that don't fit into a bug report or feature request.
Thank you for contributing to ContextAtlas! Your contributions help make this project better for everyone.