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>
This commit is contained in:
43
.claude/skills/ship.md
Normal file
43
.claude/skills/ship.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 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:
|
||||
```bash
|
||||
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:
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user