CONTRIBUTING.mdβ’4.16 kB
# Contributing to Claude Context
Thank you for your interest in contributing to Claude Context! This guide will help you get started.
## π Getting Started
### Prerequisites
- Node.js >= 20.0.0 and < 24.0.0
- pnpm >= 10.0.0
- Git
### Development Setup
1. **Fork and Clone**
```bash
git clone https://github.com/your-username/claude-context.git
cd claude-context
```
2. **Platform-Specific Setup**
**Windows Users:**
```powershell
# Configure git line endings (recommended)
git config core.autocrlf false
# Ensure pnpm is installed
npm install -g pnpm
```
**Linux/macOS Users:**
```bash
# Standard setup - no additional configuration needed
```
3. **Install Dependencies**
```bash
pnpm install
```
4. **Build All Packages**
```bash
pnpm build
```
5. **Start Development Mode**
```bash
pnpm dev
```
## π Project Structure
```
claude-context/
βββ packages/
β βββ core/ # Core indexing engine
β βββ vscode-extension/ # VSCode extension
β βββ mcp/ # Model Context Protocol server
βββ examples/
β βββ basic-usage/ # Basic usage example
```
### Package-Specific Development
Each package has its own development guide with specific instructions:
- **[Core Package](packages/core/CONTRIBUTING.md)** - Develop the core indexing engine
- **[VSCode Extension](packages/vscode-extension/CONTRIBUTING.md)** - Develop the VSCode extension
- **[MCP Server](packages/mcp/CONTRIBUTING.md)** - Develop the MCP protocol server
## π οΈ Development Workflow
### Building All Packages
```bash
# Build all packages
pnpm build
# Clean and rebuild
pnpm clean && pnpm build
# Development mode (watch all packages)
pnpm dev
```
### Package-Specific Development
For detailed development instructions for each package, see:
- [Core Package Development](packages/core/CONTRIBUTING.md)
- [VSCode Extension Development](packages/vscode-extension/CONTRIBUTING.md)
- [MCP Server Development](packages/mcp/CONTRIBUTING.md)
## π Making Changes
### Commit Guidelines
We follow conventional commit format:
```
type(scope): description
feat(core): add new embedding provider
fix(vscode): resolve search result display issue
docs(readme): update installation instructions
refactor(mcp): improve error handling
```
**Types**: `feat`, `fix`, `docs`, `refactor`, `perf`, `chore`
**Scopes**: `core`, `vscode`, `mcp`, `examples`, `docs`
### Pull Request Process
1. **Create Feature Branch**
```bash
git checkout -b feature/your-feature-name
```
2. **Make Your Changes**
- Keep changes focused and atomic
- Update documentation if needed
3. **Build and Verify**
```bash
pnpm build
```
4. **Commit Your Changes**
```bash
git add .
git commit -m "feat(core): add your feature description"
```
5. **Push and Create PR**
```bash
git push origin feature/your-feature-name
```
## π― Contribution Areas
### Priority Areas
- **Core Engine**: Improve indexing performance and accuracy
- **Embedding Providers**: Add support for more embedding services
- **Vector Databases**: Extend database integration options
- **Documentation**: Improve examples and guides
- **Bug Fixes**: Fix reported issues
### Ideas for Contribution
- Add support for new programming languages
- Improve code chunking strategies
- Enhance search result ranking
- Add configuration options
- Create more usage examples
## π Reporting Issues
When reporting bugs or requesting features:
1. **Check Existing Issues**: Search for similar issues first
2. **Use Templates**: Follow the issue templates when available
3. **Provide Context**: Include relevant details about your environment
4. **Steps to Reproduce**: Clear steps for reproducing bugs
## π¬ Getting Help
- **GitHub Issues**: For bugs and feature requests
- **GitHub Discussions**: For questions and general discussion
## π License
By contributing to Claude Context, you agree that your contributions will be licensed under the MIT License.
---
Thank you for contributing to Claude Context! π