Skip to content
/ maiao Public

Seamless GitHub PR management from the command-line

License

Notifications You must be signed in to change notification settings

adevinta/maiao

Repository files navigation

Maiao

License GitHub all releases downloads

Gerrit-style code review workflow for GitHub

Maiao brings the power of stacked pull requests to GitHub, enabling you to break large features into small, reviewable commits where each commit becomes its own PR.

🎯 What is Maiao?

Maiao provides the git review command that:

  • Creates one PR per commit in your branch
  • Stacks PRs automatically with proper parent-child dependencies
  • Manages fixups elegantly using git commit --fixup
  • Tracks commits via Change-IDs (using the Gerrit commit-msg hook)
  • Auto-rebases your stack when PRs get merged

🚀 Quick Example

# Make multiple commits
git commit -m "Add user authentication"
git commit -m "Add authorization middleware"
git commit -m "Add admin endpoints"

# Create stacked PRs for all commits
git review

Result: Three GitHub PRs created:

  • PR #1: Add user authenticationmain
  • PR #2: Add authorization middleware → PR #1
  • PR #3: Add admin endpoints → PR #2

✨ Key Benefits

  • Granular Reviews: Each commit reviewed independently for faster, focused feedback
  • Clear History: One logical change per PR maintains clean git history
  • Easy Fixups: Address review feedback with git commit --fixup <sha>
  • Automatic Stacking: Tool manages PR dependencies automatically
  • Merge Detection: Stack updates automatically when PRs merge
  • Rebase Integration: Handles upstream changes gracefully

📚 Documentation

🎓 Learn About Stacked Diffs

Maiao implements the stacked diffs methodology. Learn more:

🎪 Why "Maiao"?

As Maiao encourages users to create smaller and nicer commits in their pull requests, it has been given the name of a tiny island:

🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md for details.

📜 License

MIT License - see DISCLAIMER.md for details.

About

Seamless GitHub PR management from the command-line

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages