Git Push
Only use this skill when the user explicitly asks to commit and push.
Workflow
- Run
git pullfirst to fetch the latest remote changes. - If the pull output contains conflict markers such as
CONFLICTorMerge conflict, stop immediately — do not commit or push — and clearly list the conflicting files. - Analyze the changes in parallel:
git status --shortgit diff HEAD
- Generate an English commit message. The commit type must be chosen from:
featfixdocstyleupdaterefactortestframeworkrevertUse lowercase for the type because this repository's commitlint enforces lowercase conventional-commit types.
- The commit message format must be:
type: brief summary of the change
- Change detail 1
- Change detail 2
- Do not add any AI-generated sign-off.
- Before staging or committing, run the CI checks locally:
npx vue-tsc --noEmitnpm run test:runcargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warningscargo test --manifest-path src-tauri/Cargo.tomlStop immediately if any check fails; do not commit or push a failing change.
- In the main repository, run:
git add .git restore --staged .env.development 2>/dev/null || true(only skip committing.env.development; keep the local edits)- Commit with the multi-line message
git push
- After completion, report the commit hash, commit message, current branch, and push result.
Rules
- If there are no changes, stop and explain that no commit is needed.
- If commitlint or a git hook fails, fix the message or the underlying issue and retry; do not bypass validation.
- Do not use interactive git commands.
- Only push to the remote when the user has explicitly asked for a push.
.env.developmentchanges must be removed from the staging area before commit; do not implement the exclusion by modifying.gitignore.