install
source · Clone the upstream repo
git clone https://github.com/alamenai/terrae
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/alamenai/terrae "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/commit" ~/.claude/skills/alamenai-terrae-commit && rm -rf "$T"
manifest:
.claude/skills/commit/SKILL.mdsource content
Commit Skill
Create standardized git commits following Terrae's conventions.
Instructions
-
Check Current State
- Run
to see changed filesgit status - Run
to see the actual changesgit diff
- Run
-
Review Changes with User
- Summarize what files were changed
- Explain the nature of changes (new feature, bug fix, refactor, etc.)
- Ask the user if they want to proceed with the commit
-
Stage Files
- Stage specific files by name (avoid
orgit add -A
)git add . - Never stage sensitive files (.env, credentials, etc.)
- Stage specific files by name (avoid
-
Commit Message Format Follow conventional commits:
type(scope): descriptionTypes:
: New featurefeat
: Bug fixfix
: Documentation changesdocs
: Formatting, no code changestyle
: Code restructuringrefactor
: Adding or updating teststest
: Maintenance taskschore
Examples:
feat(marker): add rotation supportfix(popup): prevent memory leak on unmountdocs(readme): update installation instructions
-
New Component Convention
When committing a new component, split into 3 separate commits in this order:
— the source file (feat(map): add {component} component
)src/registry/map/{slug}.tsx
— all example files (feat(docs): add {component} example components
)src/app/docs/_components/examples/{slug}-*.tsx
— the docs page (feat(docs): add {component} documentation page
)src/app/docs/{slug}/page.tsx
Shared file modifications (sidebar, components page, changelog, registry.json, barrel export) should be committed separately since they often contain changes for multiple components.
-
Important Rules
- Do NOT add
linesCo-Authored-By - Do NOT commit until user approves
- Do NOT use
unless explicitly requested--amend - Do NOT push unless explicitly requested
- Keep commit messages concise (under 72 characters)
- Do NOT add
-
Create the Commit
git commit -m "type(scope): description" -
Verify
- Run
to confirm commit succeededgit status - Show the commit hash to the user
- Run