Thank you for your interest in contributing to AI Commit! 🎉
- 🐛 Report bugs
- 💡 Suggest new features
- 📝 Improve documentation
- 🔧 Submit code changes
- ⭐ Star the repository
- 🌐 Translate documentation
-
Fork the repository
# Click "Fork" on GitHub, then: git clone https://github.com/YOUR_USERNAME/ai-commit.git cd ai-commit
-
Create a branch
git checkout -b feature/your-feature-name
-
Make your changes
- Write clean, readable code
- Follow Python PEP 8 style guidelines
- Add comments where necessary
-
Test your changes
# Make sure the tool works python ai_commit.py -
Commit your changes (use ai-commit if you want! 😄)
git add . git commit -m "feat: add your feature description"
-
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Describe your changes
# Clone your fork
git clone https://github.com/YOUR_USERNAME/ai-commit.git
cd ai-commit
# Install in development mode
pip install -e .
# Install development dependencies
pip install requests pytest flake8 black- Follow PEP 8 guidelines
- Use meaningful variable names
- Add docstrings to functions and classes
- Keep functions focused and small
- Comment complex logic
Example:
def generate_commit_message(diff: str) -> str:
"""
Generate a commit message from git diff.
Args:
diff: The git diff string
Returns:
Generated commit message
"""
# Your code hereUse conventional commit format:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
Examples:
feat: add support for custom Ollama models
fix: resolve connection timeout issue
docs: update installation instructions
When reporting bugs, include:
- Description - Clear description of the issue
- Steps to Reproduce - How to reproduce the bug
- Expected Behavior - What should happen
- Actual Behavior - What actually happens
- Environment:
- OS (Windows/Mac/Linux)
- Python version
- Ollama version
- AI Commit version
Example:
**Description**
AI Commit fails to connect to Ollama server
**Steps to Reproduce**
1. Start Ollama with `ollama serve`
2. Run `ai-commit`
3. Error appears
**Expected Behavior**
Should connect to Ollama
**Actual Behavior**
Connection timeout error
**Environment**
- OS: Ubuntu 22.04
- Python: 3.10
- Ollama: 0.1.14When suggesting features:
- Clear Title - Descriptive title
- Use Case - Why is this needed?
- Proposed Solution - How should it work?
- Alternatives - Other solutions considered?
- Update documentation - Update README if needed
- Test thoroughly - Make sure everything works
- One feature per PR - Keep PRs focused
- Describe changes - Explain what and why
- Be responsive - Respond to review comments
All submissions require review. We'll:
- Check code quality
- Test functionality
- Ensure documentation is updated
- Verify no breaking changes
- Be respectful and inclusive
- Help others learn
- Give constructive feedback
- Follow the Code of Conduct
- Open an Issue
- Start a Discussion
- Email: himanshu231204@gmail.com
Contributors will be:
- Added to README
- Mentioned in release notes
- Given credit in commit messages
Thank you for contributing! 🙏
Made with ❤️ by Himanshu Kumar