@cleepi/git

Cleepi git conventions: conventional-commits skill + /commit prompt with monorepo-aware domain and ticket-id resolution. Subject-line-only commits; no body, no footers, no Co-authored-by ever.

Packages

Package details

skillprompt

Install @cleepi/git from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@cleepi/git
Package
@cleepi/git
Version
0.1.0
Published
Jun 1, 2026
Downloads
not available
Author
honem
License
MIT
Types
skill, prompt
Size
25.1 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "skills": [
    "./skills"
  ],
  "prompts": [
    "./prompts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@cleepi/git

Cleepi's git conventions as a pi package. Install in any repo where you want a clean, standardised commit history — and never another Co-authored-by: Claude line ever again.

What's in the box

  • Skill (skills/git-commit/SKILL.md) — the canonical commit-message convention (Conventional Commits + AngularJS types, with monorepo-aware domain and ticket-id discipline). Loaded automatically when you ask about commits, or explicitly with /skill:git-commit.
  • Prompt/commit <type> <message>. Resolves domain (from cwd) and ticket-id (from cwd → branch → ask), assembles the message, strips any Co-authored-by: slop, asks before committing.

The 30-second version

Every cleepi commit follows this shape:

<type>(<domain>): [<ticket-id> ]<message>

Examples:

feat(crew): AC-201 add reviewer pre-step
refactor(sdd): AC-202 collapse Why-now into Why
docs(crew): fix README install path
chore(meta): bump prettier
fix(atlassian): DRAFT-007 handle empty JQL response

Hard rules (non-negotiable):

  • One line. No body. No footers.
  • NEVER Co-authored-by:. Not for AI assistants. Not for anyone. Strip it if your tooling tries to add it.
  • No Signed-off-by: either.
  • No emoji, no trailing period.
  • Imperative, present tense, lowercase first letter of message.

For the full discipline (type table, domain rules, ticket-id resolution chain, anti-patterns, voice), see skills/git-commit/SKILL.md. It's the source of truth.

Install

Global (every pi session gets the convention):

pi install git:github.com/cleevio/cleepi/packages/git

Project-local (recommended for repos adopting the convention as their actual standard):

cd <repo>
pi install -l git:github.com/cleevio/cleepi/packages/git

How /commit works

/commit feat add reviewer pre-step
  1. Validates feat against the Angular type set.
  2. Resolves domain: cwd is inside packages/crew/crew.
  3. Resolves ticket-id: cwd is under docs/AC-201-reviewer-prestep/AC-201.
  4. Assembles: feat(crew): AC-201 add reviewer pre-step.
  5. Strips any Co-authored-by: injected anywhere.
  6. Shows you the message + the staged diff summary.
  7. Asks [y / N / edit] before running git commit.

If you call /commit outside a packages/<n>/ directory, or on a branch with no ticket pattern, it asks you for the missing pieces. Manual --domain=... and ticket-id tokens in the args always win.

Tuning

Don't edit the package source — it gets overwritten on pi update. Instead, copy the skill into your project (or user) scope and edit there:

cp .pi/agent/git-commit/SKILL.md .pi/skills/git-commit/SKILL.md
# edit .pi/skills/git-commit/SKILL.md

Project scope wins on collision.

Soft-aware integration with @cleepi/sdd

/commit and @cleepi/sdd's /journal share the same ticket-id resolution chain (cwd → branch → ask). When sdd is installed alongside git, ticket detection is consistent. When it isn't, branch-name and ask-user fallbacks still work.

There is no hard dependency.

Related