Skip to main content

commit

Create git commits for dotfiles changes, grouping by component with conventional prefix style

소스 정보

저장소
meain/dotfiles
최근 소스 활동
2026년 6월 16일 04:12
감지된 SKILL.md 언어
영어
스타
284
포크
10

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
commit
description
Create git commits for dotfiles changes, grouping by component with conventional prefix style
When the user asks you to commit changes in this dotfiles repo, follow these steps: ## Important Context - This is a **stow-based dotfiles** repo using **git** (not jj) - Changes are organized by component directories: `emacs/`, `zsh/`, `home-manager/`, `scripts/`, etc. - Commits follow the format: `[component] brief description` - Each component's changes should be a **separate commit** - Do NOT add `Co-Authored-By` lines unless the user asks for it ## Steps ### 1. Understand Current State Run these in parallel: ```bash git status git diff --staged git diff git log --oneline -10 ``` ### 2. Group Changes by Component - Look at modified file paths and group them by their top-level directory (e.g. `emacs/`, `zsh/`, `home-manager/`) - Files in the same component that are part of the same logical change go in one commit - If a component has unrelated changes, split into separate commits ### 3. Draft Commit Messages For each group, draft a message following the existing style: - Format: `[component] brief-area: what changed` - Examples from this repo: - `[emacs] fix dired block brackets` - `[zsh] tweak how reporoot and gitroot is set` - `[scripts] ,markdown-to-pdf: use gfm input format and fix parameter handling` - `[home-manager] add emacs-lsp-booster package` - Use a sub-area (e.g. `utils:`, `web:`) when it clarifies which part of the component changed - Keep the first line short and lowercase - Add a detailed body (separated by blank line) when the reasoning behind the change is not obvious from the diff ### 4. Create Commits For each group, stage the relevant files and commit: ```bash git add <specific-files> && git commit -m "$(cat <<'EOF' [component] brief description Optional detailed explanation of why this change was made, if not obvious from the diff itself. EOF )" ``` - **Stage specific files** — never use `git add -A` or `git add .` - Issue all `git add && git commit` calls as **parallel tool calls in a single response** so the user can approve them all at once ### 5. Verify and Report Run `git log --oneline -5` to confirm all commits were created, then show the output to the user. ## Guidelines - Do NOT push unless explicitly requested - Do NOT commit files containing secrets - If the user has both staged and unstaged changes, ask which to include - Prefer fewer commits when changes are closely related within a component - **Skip `claude/.claude/settings.json` model changes** — the `"model"` field changes frequently and is not worth tracking; omit it from commits unless other meaningful settings changed alongside it - **Scope commits to what the user named** — if the user says "commit the gptel changes", stage and commit only that file; don't expand to other changed files unless asked
GitHub에서 보기