Wednesday Git Workflow (GIT-OS)
This skill manages the complete lifecycle of a feature or fix. It ensures that every branch, commit, and PR follows the project's quality and automation standards.
Lifecycle Phases
1. Starting a Task (sprint)
When a dev provides a ticket and wants to start working:
- Action: Create a branch following the
type/nameformat (e.g.,feat/user-auth). - Rule: Max 40 characters, kebab-case, no ticket numbers in the branch name.
- Tool:
Bash(git checkout -b <branch_name>)
2. Committing Changes (git-os)
When code is ready for an atomic commit:
- Format:
type(scope?): Description(e.g.,feat(auth): Add login endpoint). - Types:
feat,fix,refactor,perf,docs,style,test,chore. - Atomic Rule: One logical change per commit. If you've done multiple things, split them into separate commits.
- Human-Authored: NEVER include AI attribution or fingerprints.
- Linting: Before committing, ensure
npx --no-install commitlintwould pass.
3. Opening a Pull Request (pr-create)
When the task is finished and ready for review:
- Pre-Push Checklist: Run
npm run lint,format:check,test, andbuild. - Validation:
- Max 6 files per PR: If the PR is larger, suggest splitting it.
- Conventional Title: Title must match
type(scope): Description.
- Metadata: Extract ticket ID from branch name (e.g.,
WED-142). - PR Description Template:
### Ticket Link --- ### Description --- ### Steps to Test --- ### GIFs (if applicable) --- - Push & Create:
Bash(git push origin <branch>)Bash(gh pr create --title "<title>" --body "<body>")using the template above.
🚫 Never
- Direct Commits: Never commit directly to
mainordevelop. - Dirty History: Never bundle multiple concerns into one commit.
- Skip Checks: Never open a PR without running the full pre-push checklist.
- AI Fingerprints: Never use "AI-generated" descriptions or co-author tags.
⚠️ Safety Thresholds
- Risk > 80: If the
codebase-intelrisk score is > 80, require explicit confirmation before pushing. - Quality Gate: If Sonar is enabled and the quality gate fails, STOP — do not push.
🛠 Tools
Bashfor allgitandghoperations.Readforpackage.jsonand.wednesday/config.jsonto check for project-specific automation.