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)

pip install prume

Prume Pro

14-day trial

No signup required

pip install prume-pro

Verify your setup: Run prume doctor after installing to check your environment.

Terminal
$ 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.

1

Initialize

Terminal
$ cd your-project
$ prume init

Creates a prume-staging/ directory and scans your repo. Run this once per project.

2

Analyze

Terminal
$ 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.

3

Classify

Terminal
$ 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 units

The --auto flag uses all configured rules. Unassigned change units can be handled manually or with AI (Pro).

4

Review and adjust

Terminal
$ prume status
$ prume diff --group auth-refactor
$ prume assign api-endpoint --file src/utils/helpers.py

Use 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.

5

Stage and commit

Terminal
$ 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

prume-staging/config.toml
base_ref = "main"
auto_advance = true

[classification_weights]
file_path = 8
keyword = 5
regex = 6
fuzzy = 3
manual = 10

You 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:

1

File path matchers

src/auth/** → auth-refactor

2

Content matchers

diff contains TODO/FIXME → cleanup

3

Keyword & regex rules

custom patterns you define

4

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:

Terminal
$ 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

What's Next