Any workflow. Clean commits. Zero friction.

Ship contributions that
actually get merged.

Great open source PRs die not from bad code but broken process, contribute-now guides you through the right branch, clean commits, and proper sync locally before anything reaches the remote, powered by GitHub Copilot .

$ bunx contribute-now setup
View on GitHub Join Discord

Works as contrib, contribute, or cn โ€” yes, cn is shorter than git. Your workflow just got faster to type. โšก

License GPL-3.0 npm -- runtime bun | node

Used by

Using contribute-now in your project?

Let us know โ†’
Recommended Workflow

The Ultimate Squash-Merge Workflow

Keep a completely linear history on main while maintaining a stable dev branch for integration. No more messy merges or broken histories.

โœ“ Squash features โ†’ dev โ†’ main structure
โœ“ Smart upstream and origin synchronization
โœ“ Automated role detection (maintainer vs. contributor)
โœ“ Supports GitHub Flow and Git Flow too
contrib sync
$ contrib sync โ„น Detecting workflow... Clean Flow โ„น Detecting role... Maintainer โœ” Fetched origin โœ” Synced main from origin/main โœ” Updated dev from origin/dev SUCCESS You are now in sync with main. $
Default Convention

Commit Messages That Make Sense

Stop writing "wip" or "fix". The CLI guides your AI to generate semantic, structured commit messages automatically based on your changes.

โœ“ Follows Clean Commit or Conventional formats
โœ“ Auto-generates descriptions from staged diffs
โœ“ Validates types, scopes, and max lengths
โœ“ Fully editable before confirming
โœ“ Group mode (--group) splits changes into atomic commits
contrib commit
$ contrib commit โ„น Analyzing staged changes... โ„น Generating message with Copilot... ? Confirm commit message? 1. ๐Ÿ“ฆ new (auth): add biometrics login support 2. ๐Ÿ”ง update (ui): refresh login page styles 3. โœ๏ธ Edit manually... โœ” Committed: ๐Ÿ“ฆ new (auth): add biometrics login support $
GitHub Copilot Powered by GitHub Copilot SDK

AI-Powered Git Assistant

Zero context switching. Let Copilot handle the tedious parts of git directly in your terminal, without ever leaving your workflow.

โœ“ Generate branch names from natural language
โœ“ Resolve merge conflicts with smart guidance
โœ“ Write PR titles & bodies automatically
โœ“ Select your preferred model with --model
Explore Copilot Features โ†’
contrib start
$ contrib start "fix that annoying login bug" โ„น Asking Copilot for branch names... ? Select a branch name: 1. fix/login-timeout-bug 2. bug/login-session-error 3. โœ๏ธ Enter manually... โœ” Created branch fix/login-timeout-bug from dev โœ” Switched to branch fix/login-timeout-bug SUCCESS Ready to code! $

Every command,
at a glance

15 commands covering the entire contribution lifecycle, from initial setup to merged PR.

๐Ÿ”„

Core Workflow

The six-step contribution cycle

1
setup
2
sync
3
start
4
commit
5
update
6
submit
โšก setup

Interactive wizard that configures workflow mode, commit convention, role, branches, and remotes.

writes .contributerc.json
๐Ÿ”ƒ sync

Pull latest changes from the correct remote branch based on your workflow and role.

--yes
๐ŸŒฑ start AI

Create a feature branch from the correct base, with AI-powered branch naming from natural language.

--no-ai --model
๐Ÿ’พ commit AI

Stage changes and create validated commit messages. Group mode splits changes into atomic commits.

--group --no-ai --model
๐Ÿ”€ update AI

Rebase onto the latest base branch, with AI guidance when conflicts occur.

--no-ai
๐Ÿš€ submit AI

Push your branch and open a PR with an AI-generated title and description.

--draft --no-ai --model
๐Ÿงฐ

Utilities

Visibility and maintenance tools

๐Ÿงน clean

Delete merged branches and prune stale remote refs.

--yes
๐Ÿ“Š status

Show a sync status dashboard for main, dev, and current branch.

๐Ÿ”€ switch

Switch branches interactively with automatic save protection for uncommitted changes.

๐Ÿ’พ save

Save, restore, list, and drop uncommitted changes without memorizing git stash.

--list --restore --drop -m
๐ŸŒฟ branch

List branches with workflow-aware labels and tracking status.

--all --remote
๐Ÿ“œ log

Shows local unpushed commits by default. Switch to remote, full history, or all branches with flags.

--remote --full --all -n --no-graph
๐Ÿ›ก๏ธ

Quality & Diagnostics

Enforce conventions and troubleshoot

๐Ÿช hook

Install or uninstall a commit-msg git hook. No Husky needed.

install uninstall
โœ… validate

Lint a commit message against your convention. CI-friendly exit codes.

exit 0 / exit 1
๐Ÿฉบ doctor

Diagnose CLI environment: checks tools, config, git state, forks, and workflow setup.

--json

Up and running in
30 seconds

1

Run setup in your repo

bash
# no install needed
bunx contribute-now setup

# or install globally
bun install -g contribute-now
cn setup  # shorter than git! also: contrib, contribute
2

Sync regularly

bash
contrib sync
# โœ“ updates your base branch (main/dev)
# โœ“ syncs with upstream automatically
3

Use the full workflow

bash
cn start "fix login timeout"   # AI names the branch
cn commit                       # AI writes the message
cn commit --group               # or split into atomic commits
cn update                       # rebase onto base
cn submit                       # push + open PR
cn clean                        # clean merged branches

Minimal dependencies

required
๐Ÿ”ง

Git

Core git commands under the hood. Any recent version works.

git-scm.com โ†’
optional
๐Ÿค–

GitHub Copilot

Unlocks all AI features. Any active Copilot subscription works.

github.com/features/copilot โ†’

Ready to fix your git workflow?

Try it in any repo. No global install required.

$ bunx contribute-now setup