pi-commit-lint

Validate commit messages against Conventional Commits format with configurable rules

Packages

Package details

extensionskill

Install pi-commit-lint from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-commit-lint
Package
pi-commit-lint
Version
1.0.0
Published
Jun 25, 2026
Downloads
not available
Author
realvendex
License
MIT
Types
extension, skill
Size
22.7 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "skills": [
    "./skills"
  ]
}

Security note

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

README

pi-commit-lint

Validate commit messages against Conventional Commits format with configurable rules.

Installation

pi install npm:pi-commit-lint

What It Does

pi-commit-lint validates git commit messages against the Conventional Commits specification. Unlike @commitlint/cli (33M+ downloads), this is a Pi-native extension that integrates directly as a tool and command — no external CLI needed, zero dependencies.

Tools

commit-lint

Validate a single commit message against Conventional Commits rules. Returns structured errors with fix suggestions.

Parameters:

  • message (string, required) — The commit message to validate

Example:

Use the commit-lint tool with message="feat(auth): add login endpoint"

lint-recent-commits

Audit the last N git commits for Conventional Commits compliance. Returns per-commit pass/fail with details.

Parameters:

  • count (number, optional, default: 10) — Number of recent commits to check

Example:

Use the lint-recent-commits tool with count=20

Commands

/lint-commits [count]

Check the last N git commits for Conventional Commit compliance. Defaults to 10.

/install-hooks

Install a pre-commit-msg git hook that validates commit messages before they're saved.

Configuration

Create a .commitlintrc.json in your project root:

{
  "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"],
  "maxSubjectLength": 72,
  "maxBodyLength": 100,
  "requireScope": false,
  "allowedScopes": [],
  "requireLowercaseSubject": true,
  "disallowPeriodInSubject": true
}

Rules

Rule Default Description
types feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert Allowed commit types
maxSubjectLength 72 Max characters in subject line
maxBodyLength 100 Max characters per body line
requireScope false Whether scope is mandatory
allowedScopes [] Allowed scopes (empty = any)
requireLowercaseSubject true Subject must start lowercase
disallowPeriodInSubject true Subject must not end with period

Resources

License

MIT