원클릭으로
commit-and-push
Build, test, group changes logically, commit with Conventional Commits format, and push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Build, test, group changes logically, commit with Conventional Commits format, and push
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Analyze build errors and categorize them by type for planning fixes
Analyze .Codex configuration for gaps, improvements, and needed updates
Create a GitHub issue for a modernization task with proper template
Run tests and verify code coverage meets 80% minimum requirement
Analyze .claude configuration for gaps, improvements, and needed updates
Build, test, group changes logically, commit with Conventional Commits format, and push
| name | commit-and-push |
| description | Build, test, group changes logically, commit with Conventional Commits format, and push |
| user-invocable | true |
| argument-hint |
Automates the complete commit workflow: verification → grouping → commit → push.
/commit-and-push
Check git status
Build verification
dotnet build ECMABasic.sln --configuration Release
Test verification
dotnet test ECMABasic.sln --configuration Release
Coverage check
dotnet test --collect:"XPlat Code Coverage"
Analyzes changed files and groups them logically by:
src/**/*.cssrc/**/*Test*.cs, **/Tests/***.csproj, *.json, *.yml*.md, docs/***.sh, *.bat.Codex/**ECMABasic.Application/**ECMABasic55/**ECMABasic.Test/**❌ Don't mix:
✅ Group together:
For each logical group, I'll:
Determine commit type
Generate commit message
Present for approval
Commit 1 of 3:
feat(parser): add MID$ function support
Implements the MID$ string function per ECMA-55 specification.
Supports both 2-argument (MID$(str, start)) and 3-argument
(MID$(str, start, length)) forms.
Closes #47
Co-Authored-By: Codex Sonnet 4.5 <noreply@anthropic.com>
Files:
- src/ECMABasic.Application/FunctionFactory.cs
- test/ECMABasic.Test/FunctionTests.cs
[A]pprove [E]dit [S]kip [Q]uit?
Execute approved commits
git add <files>
git commit -m "message"
After all commits are approved:
Verify remote
git remote -v
Push to origin
git push origin <branch-name>
Confirm success
Changed files:
src/ECMABasic.Application/CharacterReader.cssrc/ECMABasic.Application/Interpreter.cstest/ECMABasic.Test/InterpreterTests.csGrouping:
Group 1: Core nullable fixes
- CharacterReader.cs
- Interpreter.cs
Commit: fix(core): resolve nullable reference warnings
Issue: #1
Group 2: Test updates
- InterpreterTests.cs
Commit: test: update tests for nullable changes
Related: #1
Changed files:
src/ECMABasic.Application/Parser.cs (new feature)src/ECMABasic55/Program.cs (bug fix)README.md (documentation).Codex/rules/modernization.md (config)Grouping:
Group 1: New feature
- Parser.cs
Commit: feat(parser): add WHILE-WEND loop support
Group 2: Bug fix
- Program.cs
Commit: fix(repl): handle empty input gracefully
Group 3: Documentation
- README.md
Commit: docs: update README with WHILE-WEND info
Group 4: Configuration
- .Codex/rules/modernization.md
Commit: chore: add WHILE-WEND pattern to rules
User: /commit-and-push
Me: 🔍 Analyzing changes...
Found 12 changed files
✅ Build successful (0 warnings)
✅ All tests passed (87/87)
✅ Coverage: 82.3% (meets 80% requirement)
📦 Grouped into 3 logical commits:
─────────────────────────────────────────
Commit 1 of 3: Core Changes
─────────────────────────────────────────
fix(core): resolve nullable reference warnings
Fixed CS8625 and CS8603 errors in CharacterReader and
Interpreter classes by adding proper nullable annotations
and null checks.
Closes #1
Co-Authored-By: Codex Sonnet 4.5 <noreply@anthropic.com>
Files (8):
- src/ECMABasic.Application/CharacterReader.cs
- src/ECMABasic.Application/Interpreter.cs
- [... 6 more]
[A]pprove [E]dit message [S]kip [Q]uit? _
User: A
Me: ✅ Committed: fix(core): resolve nullable reference warnings
SHA: abc1234
─────────────────────────────────────────
Commit 2 of 3: Test Updates
─────────────────────────────────────────
test: add coverage for nullable edge cases
Added tests to verify proper null handling in CharacterReader
and Interpreter after nullable reference type fixes.
Related to #1
Co-Authored-By: Codex Sonnet 4.5 <noreply@anthropic.com>
Files (3):
- test/ECMABasic.Test/CharacterReaderTests.cs
- test/ECMABasic.Test/InterpreterTests.cs
- test/ECMABasic.Test/Resources/null-test.BAS
[A]pprove [E]dit message [S]kip [Q]uit? _
User: A
Me: ✅ Committed: test: add coverage for nullable edge cases
SHA: def5678
─────────────────────────────────────────
Commit 3 of 3: Documentation
─────────────────────────────────────────
docs: update MODERNIZATION_PLAN with progress
Marked Issue #1 (nullable fixes) as completed.
Updated coverage metrics to reflect current 82.3%.
Co-Authored-By: Codex Sonnet 4.5 <noreply@anthropic.com>
Files (1):
- docs/MODERNIZATION_PLAN.md
[A]pprove [E]dit message [S]kip [Q]uit? _
User: A
Me: ✅ Committed: docs: update MODERNIZATION_PLAN with progress
SHA: ghi9012
📤 Ready to push 3 commits
Push to origin/feature/1-fix-nullable-warnings? [Y/n] _
User: Y
Me: 🚀 Pushing...
✅ Pushed successfully!
Summary:
- 3 commits pushed
- 12 files changed
- Branch: feature/1-fix-nullable-warnings
- Remote: origin
❌ Build failed with 5 errors
Cannot commit until build succeeds.
Fix errors and run /commit-and-push again.
❌ 3 tests failed
Cannot commit until all tests pass.
Failed tests:
- InterpreterTests.Parse_NullInput_ThrowsException
- CharacterReaderTests.Read_EmptyStream_ReturnsNull
- ForStatementTests.Execute_NegativeStep_Works
Fix tests and run /commit-and-push again.
⚠️ Coverage: 78.5% (below 80% minimum)
Cannot commit - coverage requirement not met.
Need 1.5% more coverage (approximately 15-20 more lines tested).
Run /verify-coverage for detailed report.
ℹ️ No changes to commit
Working directory is clean.
❌ Merge conflicts detected in:
- src/ECMABasic.Application/Interpreter.cs
Resolve conflicts manually:
1. git status
2. Edit conflicted files
3. git add <resolved-files>
4. Run /commit-and-push again
# Skip approval prompts, commit all groups automatically
/commit-and-push --auto
Warning: Only use when:
# Show what would be committed without actually committing
/commit-and-push --dry-run
# Force all changes into a single commit (not recommended)
/commit-and-push --single
✅ Build verification - Won't commit if build fails
✅ Test verification - Won't commit if tests fail
✅ Coverage check - Won't commit if coverage < 80%
✅ Approval prompts - Review each commit before creation
✅ Push confirmation - Explicit approval before pushing
✅ Rollback support - Can undo commits before push
✅ Use /commit-and-push when:
❌ Don't use when:
/verify-coverage - Check coverage before committing/audit-build - See if any warnings existgit status, git add, git commit, git pushConfigured via .Codex/rules/git-conventions.md:
git push, never git push --forcegit reset to undoReview changes first
git status
git diff
Run /commit-and-push when ready
Review each commit before approving
Verify push was successful
Create PR if on feature branch