- 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>
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
-
Assess changes. Run these in parallel:
git status— see untracked and modified filesgit diffandgit diff --cached— see unstaged and staged changesgit log --oneline -5— check recent commit style
-
Stage files. Add changed and new files by name. Do NOT use
git add -Aorgit add .— be explicit to avoid accidentally committing secrets, build artifacts, or files in.gitignore. -
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> -
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 )" -
Push. Push to origin:
git push origin mainIf the push is rejected (remote has new commits), run
git pull --rebase origin mainfirst, then push again. -
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
.gitignorepatterns - 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