Thank you for your interest in contributing to git-flow-next! This document provides guidelines and instructions for contributing.
This project is developed primarily with AI-assisted coding tools (such as Claude Code). The repository includes committed skills, guidelines, and workflow automation designed around this approach. You don't have to use AI tooling to contribute, but the project structure is optimized for it.
The end-to-end development process is described in DEV_WORKFLOW.md. It covers the full lifecycle from issue analysis through planning, implementation, and PR creation — each stage driven by dedicated skills in .claude/skills/:
| Skill | Purpose |
|---|---|
/analyze-issue |
Analyze a GitHub issue and produce a structured analysis |
/create-plan |
Generate an implementation plan from analysis or concept |
/validate-tests |
Validate and improve the test approach in a plan |
/implement |
Execute an implementation plan |
/code-review |
Review changes or PRs against project guidelines |
/pr-summary |
Generate a PR summary |
/commit |
Create a commit following project conventions |
/gh-issue |
Create a GitHub issue following project guidelines |
| Document | What it covers |
|---|---|
| DEV_WORKFLOW.md | Full development lifecycle and skill usage |
| CODING_GUIDELINES.md | Code conventions, patterns, and architecture |
| TESTING_GUIDELINES.md | Test methodology, structure, and best practices |
| COMMIT_GUIDELINES.md | Commit message format and standards |
| ARCHITECTURE.md | Design concepts and technical overview |
| CODE_REFERENCE.md | Codebase navigation and implementation details |
| CONFIGURATION.md | Configuration reference and examples |
By participating in this project, you agree to:
- Be respectful and inclusive of differing viewpoints and experiences
- Use welcoming and inclusive language
- Accept constructive criticism gracefully
- Focus on what is best for the community
- Show empathy towards other community members
- Check Existing Issues - Search the issue tracker to avoid duplicates
- Create a Clear Report Including:
- A clear, descriptive title
- Detailed steps to reproduce the bug
- Expected behavior
- Actual behavior
- Your environment (OS, git version, etc.)
- Any relevant logs or error messages
- Check Existing Suggestions - Search issues and discussions
- Provide Context - Explain why this enhancement would be useful
- Consider Scope - Is it generally useful or specific to your use case?
- Describe Implementation - If possible, outline how it might be implemented
-
Fork the Repository
-
Create a Branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Commit Guidelines
Follow the commit message format defined in COMMIT_GUIDELINES.md. Key points:
- Use a
<type>:prefix (feat,fix,refactor,test,docs, etc.) - Imperative mood ("Add feature" not "Added feature")
- Subject line ≤50 characters
- Reference issues in the footer (
Resolves #123)
Example:
feat: Add support for custom merge strategies Implements configurable merge strategies per branch type. Resolves #123 - Use a
-
Code Style
- Follow existing code style and formatting
- Add comments for complex logic
- Update documentation for API changes
- Include tests for new functionality
- Ensure all tests pass
-
Submit Pull Request
- Provide a clear title and description
- Link related issues
- Include any necessary documentation updates
- Add notes about testing performed
-
Prerequisites
- Go 1.19 or later
- Git 2.25 or later
-
Local Development
# Clone your fork git clone https://github.com/YOUR_USERNAME/git-flow-next.git cd git-flow-next # Add upstream remote git remote add upstream https://github.com/gittower/git-flow-next.git # Create branch git checkout -b your-feature # Build go build -o git-flow # Run tests go test ./...
-
Unit Tests
- Add tests for new functionality
- Update tests for modified code
- Ensure all tests pass locally
-
Integration Tests
- Test your changes with different Git workflows
- Verify behavior with merge conflicts
- Test with different branch configurations
- All contributions must be licensed under the BSD 2-Clause license
- You retain copyright on your contributions
- By submitting a pull request, you agree to license your contributions under the same BSD 2-Clause license
-
Code Comments
- Add comments for complex logic
- Update function documentation
- Include examples for new features
-
User Documentation
- Update README.md for user-facing changes
- Add or update command documentation
- Include examples for new functionality
-
Code Quality
- Follow Go best practices
- Use meaningful variable and function names
- Keep functions focused and concise
- Handle errors appropriately
-
Testing Requirements
- Minimum 80% test coverage for new code
- Include both positive and negative test cases
- Test edge cases and error conditions
-
Performance Considerations
- Consider impact on large repositories
- Avoid unnecessary Git operations
- Profile code for potential bottlenecks
For a detailed overview of our end-to-end development process — from issue analysis through planning, implementation, and PR creation — see DEV_WORKFLOW.md.
Code changes are reviewed using /code-review, which checks architecture, code style, testing, documentation, and security against project guidelines (see .claude/skills/code-review/REVIEW_CRITERIA.md).
Please review your changes against these criteria before submitting a pull request.
- Create an issue for questions
- Join our community discussions
- Read our documentation
- Contact maintainers for guidance
Contributors will be:
- Listed in CONTRIBUTORS.md
- Mentioned in release notes for significant contributions
- Recognized in project documentation where appropriate
Thank you for contributing to git-flow-next!