Files
english/.opencode/skills/git/references/workflow-commit.md
2026-04-12 01:06:31 +07:00

1.5 KiB

Commit Workflow

Execute via git-manager subagent.

Tool 1: Stage + Analyze

git add -A && \
echo "=== STAGED ===" && git diff --cached --stat && \
echo "=== SECURITY ===" && \
git diff --cached | grep -c -iE "(api[_-]?key|token|password|secret|credential)" | awk '{print "SECRETS:"$1}' && \
echo "=== GROUPS ===" && \
git diff --cached --name-only | awk -F'/' '{
  if ($0 ~ /\.(md|txt)$/) print "docs:"$0
  else if ($0 ~ /test|spec/) print "test:"$0
  else if ($0 ~ /\.opencode/) print "config:"$0
  else if ($0 ~ /package\.json|lock/) print "deps:"$0
  else print "code:"$0
}'

If SECRETS > 0: STOP, show matches, block commit.

Tool 2: Split Decision

NOTE:

  • Search for related issues on GitHub and add to body.
  • Only use feat, fix, or perf prefixes for files in .claude directory (do not use docs).

From groups, decide:

A) Single commit: Same type/scope, FILES ≤ 3, LINES ≤ 50

B) Multi commit: Mixed types/scopes, group by:

  • Group 1: config:chore(config): ...
  • Group 2: deps:chore(deps): ...
  • Group 3: test:test: ...
  • Group 4: code:feat|fix: ...
  • Group 5: docs:docs: ...

Tool 3: Commit

Single:

git commit -m "type(scope): description"

Multi (sequential):

git reset && git add file1 file2 && git commit -m "type(scope): desc"

Repeat for each group.

Tool 4: Push (if requested)

git push && echo "✓ pushed: yes" || echo "✓ pushed: no"

Only push if user explicitly requested ("push", "commit and push").