mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-01 22:53:27 +08:00
* feat: add PRP workflow commands adapted from PRPs-agentic-eng
Add 5 new PRP workflow commands and extend 2 existing commands:
New commands:
- prp-prd.md: Interactive PRD generator with 8 phases
- prp-plan.md: Deep implementation planning with codebase analysis
- prp-implement.md: Plan executor with rigorous validation loops
- prp-commit.md: Quick commit with natural language file targeting
- prp-pr.md: GitHub PR creation from current branch
Extended commands:
- code-review.md: Added GitHub PR review mode alongside local review
- plan.md: Added cross-reference to /prp-plan for deeper planning
Adapted from PRPs-agentic-eng by Wirasm. Sub-agents remapped to
inline Claude instructions. ECC conventions applied throughout
(YAML frontmatter, Phase headings, tables, no XML tags).
Artifacts stored in .claude/PRPs/{prds,plans,reports,reviews}/.
* fix: address PR #848 review feedback
- Remove external URLs from all 6 command files (keep attribution text)
- Quote $ARGUMENTS in prp-implement.md to handle paths with spaces
- Fix empty git add expansion in prp-commit.md (use xargs -r)
- Rewrite sub-agent language in prp-prd.md as direct instructions
- Fix code-review.md: add full-file fetch for PR reviews, replace
|| fallback chains with project-type detection, use proper GitHub
API for inline review comments
- Fix nested backticks in prp-plan.md Plan Template (use 4-backtick fence)
- Clarify $ARGUMENTS parsing in prp-pr.md for base branch + flags
- Fix fragile integration test pattern in prp-implement.md (proper
PID tracking, wait-for-ready loop, clean shutdown)
* fix: address second-pass review feedback on PR #848
- Add required 'side' field to GitHub review comments API call (code-review.md)
- Replace GNU-only xargs -r with portable alternative (prp-commit.md)
- Add failure check after server readiness timeout (prp-implement.md)
- Fix unsafe word-splitting in file-fetch loop using read -r (code-review.md)
- Make git reset pathspec tolerant of zero matches (prp-commit.md)
- Quote PRD file path in cat command (prp-plan.md)
- Fix plan filename placeholder inconsistency (prp-plan.md)
- Add PR template directory scan before fixed-path fallbacks (prp-pr.md)
113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
---
|
|
description: Quick commit with natural language file targeting — describe what to commit in plain English
|
|
argument-hint: [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
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
git add <determined files>
|
|
```
|
|
|
|
After staging, verify:
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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 |
|