From devac
Validates staged changes with devac pre-commit checks, drafts conventional commit message, handles changesets, and executes git commit in vivief workflow.
How this command is triggered — by the user, by Claude, or both
Slash command
/devac:commitFiles this command reads when invoked
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /devac:commit - Full Commit Workflow You are helping the user commit their staged changes following the vivief development workflow. ## Workflow Overview This workflow uses deterministic CLI commands for validation and structured data, while you handle reasoning and drafting. ## Steps ### 1. Run pre-commit validation This returns: - `ready`: Whether ready to commit (no blockers) - `staged`: List of staged files - `blockers`: Any blocking issues - `validation.lint.passed`: Lint status - `validation.types.passed`: Typecheck status - `sensitiveFiles`: Any sensitive files detected - `...
You are helping the user commit their staged changes following the vivief development workflow.
This workflow uses deterministic CLI commands for validation and structured data, while you handle reasoning and drafting.
devac workflow pre-commit --json
This returns:
ready: Whether ready to commit (no blockers)staged: List of staged filesblockers: Any blocking issuesvalidation.lint.passed: Lint statusvalidation.types.passed: Typecheck statussensitiveFiles: Any sensitive files detectedwarnings: Non-blocking issuesIf not ready: Present blockers to user and ask how to proceed.
If no staged files: Ask if user wants to stage all changes with git add -A.
devac workflow diff-summary --staged --include-content --json
This returns:
files: All changed filesbyPackage: Changes grouped by package with line countsbyCategory: Changes grouped by type (source, tests, docs, config)stats: Overall statisticsdiff: The actual diff contentUse this structured data to understand what changed.
Based on the diff summary, draft a commit message:
type(scope): description
[optional body with more details]
Types:
Scope should be the package name when changes are focused (e.g., core, cli, mcp).
devac workflow check-changeset --json
This returns:
needsChangeset: Whether a changeset is requiredpackagesNeedingChangeset: Which packages need coverageexistingChangesets: Any changesets already on this branchchangesetsCoverAll: Whether existing changesets cover all changed packagesIf needsChangeset is true:
/devac:draft-changeset to create a changesetgit add .changeset/After user approves the message:
git commit -m "$(cat <<'EOF'
type(scope): description
[body if any]
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
EOF
)"
Provide a brief summary:
/devac:ship if ready to push and create PRUser: /devac:commit
Claude: Let me run pre-commit validation...
[Runs: devac workflow pre-commit --json]
✓ Validation passed
- 3 files staged
- Lint: pass
- Types: pass
[Runs: devac workflow diff-summary --staged --include-content --json]
Based on the changes in devac-cli/src, I suggest:
feat(cli): add workflow commands for deterministic operations
- Add check-changeset command
- Add pre-commit validation command
- Add diff-summary for structured output
- Add prepare-ship command
- Add install-local command
[Runs: devac workflow check-changeset --json]
⚠️ Changeset needed for @pietgk/devac-cli
This adds new functionality. Should I create a changeset? (yes/no)
npx claudepluginhub pietgk/vivief --plugin devac/commitAnalyzes staged git changes, generates a conventional commit message, seeks user approval, and executes the commit without trailers.
/2-commit-fastAnalyzes staged Git changes to generate and automatically apply a structured conventional commit message without confirmation.
/commitStages unstaged changes based on git status and diff analysis, then creates a commit with a generated message. Uses current branch and recent commit history for context.
/commitStages changes and commits locally using Conventional Commits format. Analyzes git status/diffs, drafts typed message with scope, confirms with user before git add and commit.
/commitCreates well-formatted git commits with conventional messages and emojis. Runs pre-commit checks (lint/format/build/docs), auto-stages files if needed, analyzes diffs, and suggests splitting multi-change commits unless --no-verify.
/commitCreates well-formatted git commits with conventional messages and emojis. Runs pre-commit checks (lint/format/build/docs), auto-stages files if needed, analyzes diffs, and suggests splitting multi-change commits unless --no-verify.