Initial commit
This commit is contained in:
36
commands/commit.md
Normal file
36
commands/commit.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
description: Smart Git commit with automatic lint fixing and CI validation
|
||||
argument-hint: [message]
|
||||
---
|
||||
|
||||
Create a Git commit with the following workflow:
|
||||
|
||||
1. Run `git status` to see all files (tracked, untracked, modified)
|
||||
|
||||
2. **Classify all files** into three categories:
|
||||
- **Project files**: Source code, tests, configs, documentation that belong in repo
|
||||
- **Git-ignored**: Files already matching .gitignore (node_modules, __pycache__, .env, etc.)
|
||||
- **Temporary/scratch**: Random scripts, debug files, test outputs, Claude-generated utilities
|
||||
|
||||
3. **Handle temporary files**:
|
||||
- Create /tmp directory if it doesn't exist
|
||||
- Move all temporary/scratch files to /tmp
|
||||
- Create/update /tmp/README.md documenting:
|
||||
- What each file is
|
||||
- Whether it should be kept temporarily or can be deleted
|
||||
- When it was created
|
||||
- Only update .gitignore if a NEW pattern needs to be added (very rare)
|
||||
|
||||
4. **Stage project files only** (never use `git add -A`)
|
||||
- Explicitly stage each legitimate project file
|
||||
- Ask for confirmation if unsure about any file
|
||||
|
||||
5. Run linters and fix issues (pnpm biome check --write, uv run ruff check --fix, uv run ruff format)
|
||||
|
||||
6. Run type checking (pnpm tsc --noEmit for TypeScript, uv run ty check for Python)
|
||||
|
||||
7. If lint/type fixes were applied, stage those changes
|
||||
|
||||
8. Create a commit with the provided message (or generate one if not provided)
|
||||
|
||||
IMPORTANT: Always maintain a clean working state. Move scratch work to /tmp. Never commit temporary files. Do NOT run tests as part of commit flow.
|
||||
Reference in New Issue
Block a user