- 🐛 Bug Fixes: Help improve plugin stability
- ✨ Feature Development: Add new AI features
- 📖 Documentation: Supplement technical documentation
- 🧪 Test Cases: Improve code coverage
- 🎓 Tutorial Writing: Share learning experiences
We especially welcome the following types of contributions:
- AI concept explanation documents
- In-depth technical analysis
- Best practice case sharing
- Performance optimization solutions
- New model integration tutorials
- Fork the project to your GitHub account
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# Clone the project
git clone https://github.com/your-org/voidmuse.git
cd voidmuse
# Install frontend dependencies
cd gui
npm install
# Start development server
npm run dev# Install VS Code extension dependencies
cd extensions/vscode
npm install
# Compile the extension
npm run compile
# Start debugging (Press F5)# Build IntelliJ plugin
cd extensions/intellij
./gradlew buildPlugin
# Run the plugin
./gradlew runIde- Development Environment Setup (see above sections)
- Coding Standards (follow existing code style)
- Documentation Writing Standards (clear and comprehensive)
- Testing Guide (add tests for new features)
- Commit Message Standards (see below)
We use Conventional Commits specification:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: New featurefix: Bug fixdocs: Documentation updatestyle: Code formatting adjustmentrefactor: Code refactoringtest: Test-relatedchore: Build process or auxiliary tool changes
feat(ai-chat): add Claude model support
fix(embedding): resolve vector search timeout issue
docs(readme): update installation instructions
- Ensure code follows project conventions
- Write clear commit messages
- Add tests for new features
- Update documentation as needed
- Respond to review feedback promptly
- Be constructive and respectful
- Focus on code quality and maintainability
- Check for security vulnerabilities
- Verify test coverage
- Ensure documentation is updated
- Unit Tests: Test individual functions and components
- Integration Tests: Test component interactions
- E2E Tests: Test complete user workflows
- Performance Tests: Verify performance requirements
# Frontend tests
cd gui
npm run test
npm run test:e2e
# VSCode extension tests
cd extensions/vscode
npm run test
# IntelliJ plugin tests
cd extensions/intellij
./gradlew test- Write tests for all new features
- Maintain high test coverage (>80%)
- Use descriptive test names
- Mock external dependencies
- Test edge cases and error conditions
- API Documentation: Function and class documentation
- User Guides: How-to guides for end users
- Developer Guides: Technical implementation details
- Tutorials: Step-by-step learning materials
- Use clear, concise language
- Include code examples
- Add screenshots for UI features
- Keep documentation up-to-date
- Follow markdown best practices
We follow Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
- All tests pass
- Documentation updated
- Changelog updated
- Version numbers bumped
- Release notes prepared
- Security review completed
- Contributors are listed in project README
- Significant contributions are highlighted in release notes
- Active contributors may be invited to join the core team
- Special recognition for learning-oriented contributions
- First-time Contributor: Welcome package and guidance
- Regular Contributor: Direct commit access to documentation
- Core Contributor: Review privileges and decision-making input
- Maintainer: Full project access and responsibility
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Respect different perspectives and experiences
- Report inappropriate behavior to maintainers
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: General questions and discussions
- Discord/Slack: Real-time community chat
- Email: Direct contact with maintainers
- Check existing documentation
- Search GitHub issues
- Ask in community channels
- Create a detailed issue if needed
- Code coverage percentage
- Test pass rate
- Documentation coverage
- Issue resolution time
- Community engagement
- Number of contributors
- Contribution frequency
- Feature adoption rate
- User satisfaction scores
- Learning resource usage
- Fix typos in documentation
- Add code comments
- Write unit tests
- Improve error messages
- Create usage examples
- Implement new features
- Optimize performance
- Add integration tests
- Create tutorials
- Improve UI/UX
- Design new architecture components
- Lead feature development
- Mentor new contributors
- Review complex pull requests
- Plan project roadmap
- Project Lead: [Email/GitHub]
- Technical Lead: [Email/GitHub]
- Community Manager: [Email/GitHub]
- Technical Issues: GitHub Issues
- General Questions: GitHub Discussions
- Security Issues: security@voidmuse.dev
- Partnership Inquiries: partnerships@voidmuse.dev
Thank you for contributing to VoidMuse! Your efforts help make AI development more accessible to everyone. 🚀