← Back to list

git-workflow
by oaknational
Oak's AI Projects including our AI Lesson Planning Assistant (Aila) and Quiz Designer
⭐ 29🍴 3📅 Jan 22, 2026
SKILL.md
name: git-workflow description: Oak's git conventions including branch naming (feat/fix/chore prefixes), commit messages (conventional commits format), PR creation with templates, code review process, and CI check monitoring. Use when working with git, creating branches, committing code, or managing pull requests.
Git Workflow
Branch Naming
- Feature branches:
feat/AI-XXXX-descriptionorfeat/description(prefer ticket ID when available) - Bug fixes:
fix/description - Chores:
chore/description(for project/config changes) - Development:
dev/description - Testing:
test/description - Spikes:
spike/description - Refactoring:
refactor/description
Commit Messages
- Format:
type: description(conventional commits) - Types:
feat:,fix:,docs:,style:,refactor:,perf:,test:,build:,ci:,chore:,revert: - Examples:
feat: add new lesson planner featurefix: resolve authentication bugdocs: update API documentation
Quality Gates - How to Know Work is Correct
Before committing or creating a PR, verify all quality checks pass:
1. Format Check
pnpm prettier --write <changed-files>
# Or check all: pnpm prettier --check .
2. Lint Check
pnpm lint
# Or with auto-fix: pnpm lint:fix
3. Type Check
pnpm type-check
# Or: pnpm check
4. Tests
# Run all tests
pnpm test
# Run specific test
pnpm test -- -t "test name pattern"
# Run E2E tests (if relevant)
pnpm test-e2e
Pre-commit Notes
- For small fixes to the last commit, consider using amend
- Never skip hooks (--no-verify, --no-gpg-sign) unless explicitly requested
Pull Requests
- Template: Follow the PR template in
.github/pull_request_template.md - Formatting: All code must pass
pnpm prettier --check .before submitting - Reviewers: Ask before adding reviewers (team vs individual depends on context)
- Team reviews:
gh pr edit <PR-number> --add-reviewer oaknational/ai-devs - Individual reviews:
gh pr edit <PR-number> --add-reviewer username
- Team reviews:
Polling GitHub PR Checks
When waiting for GitHub checks to complete, use this inline pattern:
# Example: Poll a specific check with timeout
# Usage: Set PR, CHECK_NAME, TIMEOUT (seconds), and INTERVAL (seconds)
PR=733; CHECK_NAME="lint"; TIMEOUT=120; INTERVAL=10; \
end=$(($(date +%s) + TIMEOUT)); \
echo "Polling PR #$PR for '$CHECK_NAME' (timeout: ${TIMEOUT}s)..."; \
while [ $(date +%s) -lt $end ]; do \
check_status=$(gh pr checks "$PR" | grep "^$CHECK_NAME" | awk '{print $2}'); \
echo "$(date '+%H:%M:%S') - $CHECK_NAME: ${check_status:-not found}"; \
[ "$check_status" != "pending" ] && echo "✓ Completed: $check_status" && break; \
sleep $INTERVAL; \
done || echo "⏱️ Timeout reached"
Common checks to poll:
lint- Code style and TypeScript checkstest-e2e- End-to-end teststest-jest- Unit testssonarcloud- Code quality analysisVercel- Deployment status
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon


