Ways to Contribute
Report Bugs
Found a bug? Open an issue on GitHub with steps to reproduce.
Suggest Features
Have an idea? Open a feature request issue to discuss.
Improve Docs
Documentation improvements are always welcome.
Submit Code
Fix bugs or implement features via pull requests.
Code of Conduct
We are committed to providing a welcoming and inclusive experience. Please:- Be respectful and considerate
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Assume good intentions
Getting Started
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment (see Development Setup)
- Create a branch for your changes
- Make your changes with tests
- Submit a pull request
Pull Request Process
Before Submitting
- Code follows the existing style
- Tests pass locally (
dotnet test) - New features include tests
- Documentation updated if needed
- Commit messages are clear
PR Guidelines
- Keep PRs focused - One feature or fix per PR
- Write clear descriptions - Explain what and why
- Reference issues - Link related issues
- Be patient - Reviews may take time
Commit Messages
Follow conventional commits:Development Guidelines
Architecture
CodeGraph follows hexagonal architecture. Before contributing:- Read the Architecture documentation
- Understand the separation of core and adapters
- Keep domain logic in
core/, external interactions inadapters/
Code Style
- Follow existing code style
- Use meaningful names
- Add XML documentation for public APIs
- Keep methods focused and small
Testing
- Write tests for new features
- Maintain or improve coverage
- Test edge cases
- Use mocks for external dependencies
Areas Needing Help
New Language Support
New Language Support
CodeGraph currently supports C#. Help wanted for:
- TypeScript/JavaScript (using TypeScript compiler API)
- Python (using AST module)
- Java (using JavaParser)
- Go (using go/ast)
New Overlay Plugins
New Overlay Plugins
Built-in overlays needed:
- SonarQube integration
- Azure DevOps integration
- GitHub Actions integration
- Custom metrics plugins
Performance Optimization
Performance Optimization
Areas for optimization:
- Large graph rendering
- Neo4j query performance
- Analysis speed
- Memory usage
Documentation
Documentation
Documentation needs:
- More tutorials
- Video guides
- Translation to other languages
- API examples
License
CodeGraph is licensed under GPL v3. By contributing, you agree that your contributions will be licensed under the same license.Why GPL v3?
- Ensures improvements stay open source
- Protects against closed-source forks
- Allows commercial use (internally)
- We (copyright holders) can still offer proprietary licenses
Questions?
- GitHub Issues - For bugs and features
- GitHub Discussions - For questions and ideas
- Discord - For real-time chat (coming soon)