Files
HC_APTBS/.claude/skills/ship.md
LucianoDev 6d5605cddf chore: clean up repo — add .gitignore, README, remove tracked build artifacts and old_source
- Add .gitignore for bin/, obj/, .vs/, old_source/, IDE files
- Remove 1145 tracked files that should never have been committed
- Add README.md with project overview and build instructions
- Trim CLAUDE.md, add .claudeignore, skills, and PreToolUse hook
- old_source/ is recoverable from the initial commit (6e1b929) if needed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 13:02:07 +02:00

1.7 KiB

Ship — commit and push current changes

The user has finished reviewing and iterating on a section of work. Stage, commit, and push to the Gitea remote.

Steps

  1. Assess changes. Run these in parallel:

    • git status — see untracked and modified files
    • git diff and git diff --cached — see unstaged and staged changes
    • git log --oneline -5 — check recent commit style
  2. Stage files. Add changed and new files by name. Do NOT use git add -A or git add . — be explicit to avoid accidentally committing secrets, build artifacts, or files in .gitignore.

  3. Draft the commit message. Follow conventional commits (feat:, fix:, refactor:, docs:, chore:). Keep it concise — one line summary, optional body if the change is complex. End with:

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
  4. Commit. Use a HEREDOC for the message:

    git commit -m "$(cat <<'EOF'
    type: summary of changes
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    EOF
    )"
    
  5. Push. Push to origin:

    git push origin main
    

    If the push is rejected (remote has new commits), run git pull --rebase origin main first, then push again.

  6. Confirm. Show the user the commit hash and a one-line summary of what was pushed.

Safety rules

  • Never force-push (--force / --force-with-lease) without explicit user approval
  • Never commit files matching .gitignore patterns
  • Never commit .env, credentials, or secrets — warn the user if any are staged
  • If there are no changes to commit, tell the user and stop
  • If the user provided arguments after /ship, use them as the commit message summary instead of drafting one