First off, thank you for considering contributing to CodeKeeper! It's people like you that make CodeKeeper such a great tool for the developer community.
Before creating bug reports, please check existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples (code snippets, error messages)
- Describe the behavior you observed vs expected
- Include your environment details (OS, Node version, etc.)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful to most users
- List some examples of how it would be used
Want to add a new validation rule? We have a comprehensive guide that covers the entire process!
📚 See the Complete Guide for Adding New Validation Rules
This guide covers:
- Creating shared validators and standalone scripts
- Setting up test infrastructure
- ESLint plugin integration
- GitHub Actions configuration
- Documentation requirements
- Example templates and best practices
For a quick overview:
- Create the validation script in
scripts/validation/ - Follow the existing pattern from other validation scripts
- Add tests for your guardrail
- Update the documentation in README.md
- Add examples in docs/EXAMPLES.md
Documentation improvements are always welcome! This includes:
- Fixing typos or clarifying language
- Adding examples or use cases
- Translating documentation to other languages
- Improving the structure or navigation
- Fork the repo and create your branch from
main - Make your changes and ensure they follow our coding standards
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request with a clear description
- My code follows the existing code style
- I have tested my changes
- I have updated the documentation
- My changes generate no new warnings
- I have added examples if applicable
# Clone your fork
git clone https://github.com/your-username/codekeeper.git
cd codekeeper
# Install dependencies
npm install
# Run tests
npm test
# Test your changes in a real project
cp scripts/validation/*.js ../your-test-project/scripts/validation/- Use 2 spaces for indentation
- Use single quotes for strings
- Add JSDoc comments for functions
- Keep functions small and focused
- Write descriptive variable names
We follow conventional commits:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting, etc)refactor:Code refactoringtest:Adding or updating testschore:Maintenance tasks
Examples:
feat: add Python type checking guardrail
fix: improve barrel file detection accuracy
docs: add React setup guide
Contributors are recognized in our:
- Contributors page
- README.md acknowledgments
- Release notes
We pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity, level of experience, nationality, personal appearance, race, religion, or sexual identity.
- Be respectful of differing viewpoints
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Show empathy towards others
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated.
- Discord: Join our community (coming soon)
- Discussions: GitHub Discussions
- Twitter: @thedaviddias
Thank you for contributing to CodeKeeper! 🚀