Files
wehub-resource-sync d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:55 +08:00

3.0 KiB

description, argument-hint
description argument-hint
Quick commit with natural language file targeting — describe what to commit in plain English [target description] (blank = all changes)

Smart Commit

Adapted from PRPs-agentic-eng by Wirasm. Part of the PRP workflow series.

Input: $ARGUMENTS


Phase 1 — ASSESS

git status --short

If output is empty → stop: "Nothing to commit."

Show the user a summary of what's changed (added, modified, deleted, untracked).


Phase 2 — INTERPRET & STAGE

Interpret $ARGUMENTS to determine what to stage:

Input Interpretation Git Command
(blank / empty) Stage everything git add -A
staged Use whatever is already staged (no git add)
*.ts or *.py etc. Stage matching glob git add '*.ts'
except tests Stage all, then unstage tests git add -A && git reset -- '**/*.test.*' '**/*.spec.*' '**/test_*' 2>/dev/null || true
only new files Stage untracked files only git ls-files --others --exclude-standard | grep . && git ls-files --others --exclude-standard | xargs git add
the auth changes Interpret from status/diff — find auth-related files git add <matched files>
Specific filenames Stage those files git add <files>

For natural language inputs (like "the auth changes"), cross-reference the git status output and git diff to identify relevant files. Show the user which files you're staging and why.

git add <determined files>

After staging, verify:

git diff --cached --stat

If nothing staged, stop: "No files matched your description."


Phase 3 — COMMIT

Craft a single-line commit message in imperative mood:

{type}: {description}

Types:

  • feat — New feature or capability
  • fix — Bug fix
  • refactor — Code restructuring without behavior change
  • docs — Documentation changes
  • test — Adding or updating tests
  • chore — Build, config, dependencies
  • perf — Performance improvement
  • ci — CI/CD changes

Rules:

  • Imperative mood ("add feature" not "added feature")
  • Lowercase after the type prefix
  • No period at the end
  • Under 72 characters
  • Describe WHAT changed, not HOW
git commit -m "{type}: {description}"

Phase 4 — OUTPUT

Report to user:

Committed: {hash_short}
Message:   {type}: {description}
Files:     {count} file(s) changed

Next steps:
  - git push           → push to remote
  - /prp-pr            → create a pull request
  - /code-review       → review before pushing

Examples

You say What happens
/prp-commit Stages all, auto-generates message
/prp-commit staged Commits only what's already staged
/prp-commit *.ts Stages all TypeScript files, commits
/prp-commit except tests Stages everything except test files
/prp-commit the database migration Finds DB migration files from status, stages them
/prp-commit only new files Stages untracked files only