Getting Started
Go from AI-generated chaos to clean, focused commits in under 5 minutes.
Installation
Prume requires Python 3.10+ and Git 2.20+.
Free CLI
Open-source (MIT)
Prume Pro
14-day trialNo signup required
Verify your setup: Run prume doctor after installing to check your environment.
$ prume doctor
✓ Python 3.12.4
✓ Git 2.44.0
✓ Prume 1.0.0
✓ prume-staging/ writable
All checks passed.Core Concepts
Prume sits between your working directory and Git. Its job is to split a large, tangled set of changes into clean, single-concern commits.
Change Unit
The smallest unit of change — typically a single hunk (diff section) within a file. Prume can split a single file’s changes across multiple commits.
Group
A logical collection of change units that belong in one commit. Each group gets a commit message and, optionally, a Jira issue link.
Classification
The process of assigning change units to groups. Prume uses a 4-layer system: file path matchers, content matchers, keyword/regex rules, then optional AI.
prume-staging/
A directory in your repo root where Prume stores its state (change units, groups, config). Add it to .gitignore.
The Prume pipeline at a glance
Messy Changes
47 files changed
Analyze
14 change units
Classify
4 groups
Clean Commits
4 focused PRs
Your First Workflow
Suppose you just finished a Cursor session that touched 30+ files across multiple concerns. Here's how to sort them into clean commits.
Initialize
$ cd your-project
$ prume initCreates a prume-staging/ directory and scans your repo. Run this once per project.
Analyze
$ prume analyze --uncommitted
Found 47 change units across 32 files.The --uncommitted flag analyzes your working directory changes. You can also analyze a branch range with --base main --target feature.
Classify
$ prume classify --auto
Classified 42/47 change units into 4 groups:
auth-refactor (14 CUs)
api-endpoint (12 CUs)
css-fixes (9 CUs)
docs-update (7 CUs)
Unassigned: 5 change unitsThe --auto flag uses all configured rules. Unassigned change units can be handled manually or with AI (Pro).
Review and adjust
$ prume status
$ prume diff --group auth-refactor
$ prume assign api-endpoint --file src/utils/helpers.pyUse prume status to see the big picture, prume diff to inspect a group's changes, and prume assign to move change units between groups. Pro users can also use prume ui for a drag-and-drop Web UI.
Stage and commit
$ prume stage-all --commit
Staging auth-refactor... ✓
Committed: "Refactor auth middleware for multi-tenancy"
Staging api-endpoint... ✓
Committed: "Add /users REST endpoint"
Staging css-fixes... ✓
Committed: "Fix settings page layout and spacing"
Staging docs-update... ✓
Committed: "Update README with new API docs"
All groups committed.stage-all --commit stages and commits every group in dependency order. You can also stage one group at a time with prume stage auth-refactor followed by prume commit auth-refactor.
Configuration
Prume reads config from two places, with project-local settings overriding global ones:
Global defaults
~/.config/prume/config.toml
Per-project settings
prume-staging/config.toml
base_ref = "main"
auto_advance = true
[classification_weights]
file_path = 8
keyword = 5
regex = 6
fuzzy = 3
manual = 10You can also set values with prume config set key value or view the current config with prume config show.
Classification rules
Rules are what make Prume predictable. Define them once, and every future session uses the same logic. Rules are evaluated in order:
File path matchers
src/auth/** → auth-refactor
Content matchers
diff contains TODO/FIXME → cleanup
Keyword & regex rules
custom patterns you define
AI classificationPro
handles ambiguous leftovers
Extract Workflow
If your changes are already committed on a feature branch (common with AI agents that auto-commit), use prume extract to pull them back into uncommitted changes for re-organizing:
$ prume extract feature-branch --base main
Extracted 47 changes from 12 commits into working directory.
$ prume analyze --uncommitted
$ prume classify --auto
$ prume stage-all --commit