Thank you for your interest in contributing to Code Context Builder! This document provides guidelines and instructions for contributing.
- Getting Started
- Development Setup
- Project Structure
- Making Changes
- Submitting Pull Requests
- Code Style Guidelines
- Testing
- Reporting Bugs
- Feature Requests
- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch for your feature or bugfix
- Make your changes
- Test thoroughly
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/code_context_builder.git
cd code_context_builder
# Install dependencies
npm install
# Run in development mode
npm run tauri devcode_context_builder/
├── src/ # React/TypeScript frontend
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ └── types/ # TypeScript type definitions
├── src-tauri/ # Rust backend
│ └── src/ # Rust source files
│ ├── main.rs # Main entry point
│ ├── scanner.rs # File scanning logic
│ ├── db.rs # Database operations
│ └── ... # Other modules
├── public/ # Static assets
└── dist/ # Build output (gitignored)
See DOCUMENTATION.md for detailed technical documentation.
Use descriptive branch names:
feature/add-export-functionalitybugfix/fix-scanner-crashdocs/update-readme
Write clear, concise commit messages:
- Use present tense ("Add feature" not "Added feature")
- Keep the first line under 70 characters
- Reference issues when applicable (
Fixes #123)
Examples:
Add CSV export format support
Implement CSV export alongside existing XML/JSON formats.
Includes unit tests and documentation updates.
Fixes #45
- Update your fork with the latest changes from main
- Test your changes thoroughly
- Update documentation if needed
- Create a pull request with a clear title and description
- Link related issues in the PR description
- Respond to feedback from reviewers
## Description
Brief description of what this PR does
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
How has this been tested?
## Checklist
- [ ] Code follows project style guidelines
- [ ] Self-reviewed my code
- [ ] Commented complex code sections
- [ ] Updated relevant documentation
- [ ] No new warnings generated
- [ ] Tested on Windows/Mac/Linux (if applicable)- Use functional components with hooks
- Use TypeScript for type safety
- Follow existing code formatting (use Prettier if available)
- Keep components small and focused
- Use meaningful variable names
- Follow Rust standard style guidelines (
rustfmt) - Use
cargo clippyto catch common issues - Add comments for complex logic
- Handle errors appropriately (don't unwrap in production code)
- Write self-documenting code
- Add comments for non-obvious logic
- Keep functions small and focused
- Follow DRY (Don't Repeat Yourself) principle
# Run tests (when test suite is added)
npm testcd src-tauri
cargo test- Test your changes in development mode
- Build a production version and test
- Test on different operating systems if possible
- Verify no regressions in existing functionality
When reporting bugs, please include:
- Clear title describing the issue
- Steps to reproduce the bug
- Expected behavior vs actual behavior
- Screenshots if applicable
- Environment details:
- OS and version
- Node.js version
- Rust version
- Application version
Use the bug report template when available.
We welcome feature requests! Please:
- Check if the feature has already been requested
- Clearly describe the feature and use case
- Explain why it would be useful
- Consider implementation complexity
Use the feature request template when available.
If you have questions about contributing, feel free to:
- Open a discussion on GitHub
- Comment on relevant issues
- Reach out to maintainers
By contributing, you agree that your contributions will be licensed under the MIT License.
Your contributions help make Code Context Builder better for everyone. We appreciate your time and effort!