Skip to main content

commit

Commit current changes with a clear, descriptive message

Informations de source

Dépôt
NVIDIA-NeMo/DataDesigner
Dernière activité de la source
25 mars 2026 à 18:38
Langue détectée de SKILL.md
anglais
Étoiles
2 371
Forks
235

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
commit
description
Commit current changes with a clear, descriptive message
argument-hint
["special instructions"]
disable-model-invocation
true
metadata
{"internal":true}
# Commit Changes Commit the current staged/unstaged changes with a well-crafted commit message. ## Arguments `$ARGUMENTS` can be used for special instructions, such as: - Guiding the message: "emphasize the breaking change" - Adding context: "this fixes issue #123" - Requesting amend: "amend the previous commit" ## Step 1: Gather Information Run these commands in parallel to understand the changes: 1. **Git status**: `git status --porcelain` (check for staged/unstaged changes) 2. **Staged diff**: `git diff --cached` (what will be committed if there are staged changes) 3. **Unstaged diff**: `git diff` (what's modified but not staged) 4. **Recent commits**: `git log -5 --oneline` (to match existing commit style) **Important checks:** - If no changes exist (nothing staged or unstaged), inform the user there's nothing to commit - If there are unstaged changes but nothing staged, stage all changes with `git add -A` (or ask user if they want to selectively stage) - If there are both staged and unstaged changes, ask user if they want to include unstaged changes ## Step 2: Analyze Changes Review the diff to understand: - **What** changed (files, functions, features) - **Why** it changed (bug fix, new feature, refactor, etc.) - **Impact** (breaking changes, dependencies, configuration) ## Step 3: Generate Commit Message ### Message Guidelines 1. **Subject line**: - Use imperative mood ("add feature" not "added feature") - Keep under 50 characters (hard limit: 72) - Don't end with a period - Use lowercase for the first letter 2. **Body** (if needed for complex changes): - Separate from subject with blank line - Wrap at 72 characters - Explain *what* and *why*, not *how* - Use bullet points for multiple items 3. **Footer** (if needed): - Reference issues: `Fixes #123`, `Closes #456` ### Examples **Simple change:** ``` add user authentication endpoint ``` **Change with body:** ``` add rate limiting to public endpoints - Implement token bucket algorithm - Add configurable limits per endpoint - Include rate limit headers in responses Closes #234 ``` ## Step 4: Create the Commit 1. **Stage changes** (if needed): ```bash git add -A ``` Or stage specific files if user requested selective staging. 2. **Create commit** using HEREDOC for proper formatting: ```bash git commit -m "$(cat <<'EOF' <description> <body if needed> <footer if needed> EOF )" ``` 3. **Verify** the commit was created: ```bash git log -1 --oneline ``` 4. **Report** the commit hash and message to the user. ## Edge Cases - **No changes**: Inform user there's nothing to commit - **Amend requested**: Use `git commit --amend` (only if explicitly requested in arguments) - **Large changes**: Suggest breaking into multiple commits if changes span unrelated areas - **Merge conflicts**: Inform user and provide guidance on resolution - **Pre-commit hooks fail**: Report the failure and suggest fixes
Voir sur GitHub