ac-commit-manager
SKILL.md
AC Commit Manager
Manage git commits for completed feature implementations.
Purpose
Creates well-structured git commits after each feature completion, ensuring proper version control and clear project history.
Quick Start
from scripts.commit_manager import CommitManager
manager = CommitManager(project_dir)
result = await manager.commit_feature("auth-001")
Commit Workflow
1. VALIDATE → Ensure changes are safe to commit
2. STAGE → Stage relevant files
3. MESSAGE → Generate descriptive commit message
4. COMMIT → Create the commit
5. VERIFY → Verify commit was created
6. TAG → Optional: tag milestone commits
Commit Message Format
feat(auth): implement user registration (#auth-001)
- Add registration endpoint with email/password
- Implement password hashing with bcrypt
- Add input validation for email format
- Create user model and database migration
Test: All 5 acceptance criteria passing
Coverage: 92%
Feature: auth-001
Status: passes
Commit Result
{
"success": true,
"commit_hash": "abc123def456",
"feature_id": "auth-001",
"message": "feat(auth): implement user registration",
"files_changed": [
"src/auth/register.py",
"src/models/user.py",
"tests/test_auth_001.py"
],
"stats": {
"insertions": 145,
"deletions": 12,
"files_changed": 3
}
}
Commit Categories
Based on feature category:
feat: New featuresfix: Bug fixesrefactor: Code refactoringtest: Test additions/changesdocs: Documentationchore: Maintenance tasksperf: Performance improvements
Pre-Commit Checks
# Run validation before commit
validation = await manager.pre_commit_check()
if validation.can_commit:
await manager.commit_feature(feature_id)
Checks include:
- No uncommitted sensitive files
- All tests pass
- Linting passes
- No merge conflicts
Atomic Commits
Each feature gets exactly one commit:
- Includes implementation + tests
- Self-contained and revertable
- Descriptive message with context
Configuration
{
"require_tests_pass": true,
"require_lint_pass": true,
"auto_stage_tests": true,
"message_template": "{{type}}({{scope}}): {{description}}",
"protected_files": [".env", "credentials.*"],
"sign_commits": false
}
Rollback Support
# Rollback last commit
await manager.rollback_last_commit()
# Rollback to specific feature
await manager.rollback_to_feature("auth-003")
Integration
- Uses:
ac-code-validatorfor pre-commit checks - Input: Completed features from
ac-task-executor - Updates:
ac-state-trackerwith commit info
API Reference
See scripts/commit_manager.py for full implementation.