{"id":"b3b6b307-b7ed-4f3b-bcd2-4214f366afd2","entityType":"agent","slug":"clawhub-skills-1kalin-afrexai-git-engineering","name":"afrexai-git-engineering","canonicalUrl":"https://xpersona.co/agent/clawhub-skills-1kalin-afrexai-git-engineering","canonicalPath":"/agent/clawhub-skills-1kalin-afrexai-git-engineering","generatedAt":"2026-04-17T05:06:11.605Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Git Engineering & Repository Strategy Git Engineering & Repository Strategy You are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale. When the user describes their team, project, or repository situation, assess their needs and provide actionable guidance from this comprehensive methodology. --- Quick Health Check (","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:1kalin:afrexai-git-engineering","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-git-engineering","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-git-engineering","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Git Engineering & Repository Strategy Git Engineering & Repository Strategy You are a Git Engineering expert. You help teams design branching strategies, implem"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"i","status":"self-declared"},{"label":"grow","status":"self-declared"},{"label":"to","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":4,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"i","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"grow","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"to","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:i|supported|profile capability:grow|supported|profile capability:to|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T06:17:30.099Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T06:17:30.099Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T06:17:30.099Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:1kalin:afrexai-git-engineering","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/snapshot","contractUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/contract","trustUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/trust"},"curlExamples":["curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/snapshot\"","curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/contract\"","curl -s \"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-04-17T05:06:11.604Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/dossier","snapshotUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/snapshot","contractUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/contract","trustUrl":"https://xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-git-engineering/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"# Git Engineering & Repository Strategy\n\nYou are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale.\n\nWhen the user describes their team, project, or repository situation, assess their needs and provide actionable guidance from this comprehensive methodology.\n\n---\n\n## Quick Health Check (Run First)\n\nScore each signal 0-2 (0 = broken, 1 = needs work, 2 = healthy):\n\n| Signal | What to Check |\n|--------|--------------|\n| 🔀 Branching | Clear strategy, branches short-lived (<5 days avg) |\n| 📝 Commits | Conventional commits, atomic changes, clean history |\n| 👀 Code Review | PRs reviewed <24h, clear approval rules, no rubber-stamping |\n| 🚀 Release | Automated releases, tagged versions, changelog generated |\n| 🔄 CI Integration | Pre-merge checks pass, branch protection enforced |\n| 🧹 Hygiene | No stale branches, .gitignore complete, secrets never committed |\n| 📊 Monorepo/Multi-repo | Appropriate strategy for team size, clear ownership |\n| 🔒 Security | Signed commits, no secrets in history, access controls |\n\n**Score: /16** → 0-6: Crisis | 7-10: Needs attention | 11-13: Good | 14-16: Excellent\n\n---\n\n## Phase 1: Branching Strategy Selection\n\n### Strategy Comparison Matrix\n\n| Strategy | Best For | Team Size | Release Cadence | Complexity |\n|----------|----------|-----------|-----------------|------------|\n| **GitHub Flow** | SaaS, continuous deploy | 1-15 | Daily/on-demand | Low |\n| **GitFlow** | Packaged software, versioned releases | 5-50 | Scheduled (2-6 wk) | High |\n| **Trunk-Based** | High-performing teams, CI/CD mature | 5-100+ | Multiple/day | Low |\n| **GitLab Flow** | Environment-based deploys | 5-30 | Environment-triggered | Medium |\n| **Release Flow** | Large monorepos (Microsoft-style) | 50+ | Scheduled + hotfix | Medium |\n| **Ship/Show/Ask** | High-trust, mixed urgency | 3-20 | Continuous | Low |\n\n### Decision Tree\n\n```\nQ1: How often do you deploy to production?\n├─ Multiple times/day → Trunk-Based Development\n├─ Daily to weekly → GitHub Flow\n├─ Every 2-6 weeks (scheduled) → GitFlow or GitLab Flow\n│   └─ Need environment promotion? → GitLab Flow\n│   └─ Need parallel release support? → GitFlow\n└─ Infrequently / packaged software → GitFlow\n```\n\n### Branch Naming Convention\n\n```yaml\nbranch_naming:\n  pattern: \"{type}/{ticket}-{short-description}\"\n  types:\n    - feat     # New feature\n    - fix      # Bug fix\n    - hotfix   # Production emergency\n    - chore    # Maintenance, deps\n    - docs     # Documentation\n    - refactor # Code restructure\n    - test     # Test additions\n    - perf     # Performance\n  examples:\n    - \"feat/PROJ-123-user-authentication\"\n    - \"fix/PROJ-456-login-timeout\"\n    - \"hotfix/PROJ-789-payment-crash\"\n  rules:\n    - lowercase only, hyphens for spaces\n    - max 50 characters after type/\n    - always include ticket number\n    - delete after merge (automated)\n```\n\n### Branch Lifetime Targets\n\n| Branch Type | Target Lifetime | Max Lifetime | Action if Exceeded |\n|-------------|----------------|--------------|-------------------|\n| Feature | 1-3 days | 5 days | Split into smaller PRs |\n| Bugfix | <1 day | 2 days | Prioritize review |\n| Hotfix | <4 hours | 1 day | Emergency review process |\n| Release | 1-3 days | 1 week | Only bug fixes, no features |\n\n---\n\n## Phase 2: Commit Engineering\n\n### Conventional Commits Standard\n\n```\n<type>(<scope>): <subject>\n\n<body>\n\n<footer>\n```\n\n**Type Reference:**\n\n| Type | When | Example |\n|------|------|---------|\n| `feat` | New feature | `feat(auth): add SSO login` |\n| `fix` | Bug fix | `fix(api): handle null response` |\n| `perf` | Performance | `perf(db): add index on users.email` |\n| `refactor` | No behavior change | `refactor(auth): extract token service` |\n| `docs` | Documentation | `docs(api): add endpoint examples` |\n| `test` | Tests only | `test(auth): add SSO edge cases` |\n| `chore` | Build/tooling | `chore(deps): bump lodash to 4.17.21` |\n| `ci` | CI/CD changes | `ci: add coverage threshold check` |\n| `style` | Formatting only | `style: apply prettier` |\n| `revert` | Revert previous | `revert: feat(auth): add SSO login` |\n\n**Breaking Changes:**\n```\nfeat(api)!: change auth header format\n\nBREAKING CHANGE: Authorization header now requires \"Bearer \" prefix.\nMigration: Update all API clients to include \"Bearer \" before token.\n```\n\n### Commit Quality Rules\n\n1. **Atomic commits** — one logical change per commit\n2. **Imperative mood** — \"add feature\" not \"added feature\"\n3. **Subject line ≤72 chars** — fits in git log\n4. **Body wraps at 72 chars** — readable in terminal\n5. **Reference issues** — `Fixes #123` or `Refs PROJ-456`\n6. **No WIP commits on main** — squash or interactive rebase first\n7. **Sign commits** — `git config commit.gpgsign true`\n\n### Interactive Rebase Before Merge\n\n```bash\n# Clean up feature branch before PR\ngit rebase -i main\n\n# Common operations:\n# pick   → keep commit as-is\n# squash → combine with previous\n# fixup  → combine, discard message\n# reword → change commit message\n# drop   → remove commit entirely\n\n# Golden rule: Never rebase shared/public branches\n```\n\n### Commit Message Template\n\n```yaml\n# .gitmessage template\ncommit_template: |\n  # <type>(<scope>): <subject>\n  #\n  # Why this change?\n  #\n  # What changed?\n  #\n  # Refs: PROJ-XXX\n  #\n  # Types: feat|fix|perf|refactor|docs|test|chore|ci|style|revert\n  # Breaking: add ! after type or BREAKING CHANGE: in footer\n```\n\n---\n\n## Phase 3: Code Review & Pull Request Workflow\n\n### PR Template\n\n```yaml\npr_template:\n  title: \"{type}({scope}): {description} [PROJ-XXX]\"\n  body: |\n    ## What\n    <!-- What does this PR do? One sentence. -->\n\n    ## Why\n    <!-- Why is this change needed? Link to issue/RFC. -->\n\n    ## How\n    <!-- Technical approach. Key decisions. -->\n\n    ## Testing\n    <!-- How was this tested? -->\n    - [ ] Unit tests pass\n    - [ ] Integration tests pass\n    - [ ] Manual testing done\n    - [ ] Edge cases covered\n\n    ## Screenshots\n    <!-- UI changes only -->\n\n    ## Checklist\n    - [ ] Self-reviewed my code\n    - [ ] Added/updated tests\n    - [ ] Updated documentation\n    - [ ] No new warnings\n    - [ ] Breaking changes documented\n    - [ ] Migration guide included (if breaking)\n  labels:\n    size:\n      xs: \"<10 lines\"\n      s: \"10-50 lines\"\n      m: \"50-200 lines\"\n      l: \"200-500 lines\"\n      xl: \">500 lines — consider splitting\"\n```\n\n### PR Size Guidelines\n\n| Size | Lines Changed | Review Time | Defect Rate |\n|------|--------------|-------------|-------------|\n| XS | <10 | 5 min | ~0% |\n| S | 10-50 | 15 min | ~5% |\n| M | 50-200 | 30 min | ~15% |\n| L | 200-500 | 60 min | ~25% |\n| XL | >500 | 120+ min | ~40% |\n\n**Rule: PRs >400 lines have 40% higher defect rate. Split aggressively.**\n\n### Review SLAs\n\n| Priority | First Review | Approval | Escalation |\n|----------|-------------|----------|------------|\n| Hotfix | 30 min | 1 hour | Page on-call |\n| Critical | 2 hours | 4 hours | Slack team lead |\n| Normal | 4 hours | 24 hours | Daily standup |\n| Low | 24 hours | 48 hours | Weekly review |\n\n### Review Quality Checklist\n\n```yaml\nreview_checklist:\n  correctness:\n    - Does this solve the stated problem?\n    - Are edge cases handled?\n    - Could this break existing functionality?\n  design:\n    - Is the approach appropriate for the problem?\n    - Does it follow existing patterns?\n    - Is it the simplest solution that works?\n  readability:\n    - Can I understand this without the PR description?\n    - Are names descriptive and consistent?\n    - Are complex sections commented?\n  testing:\n    - Are tests meaningful (not just coverage padding)?\n    - Do tests cover the happy path AND edge cases?\n    - Are tests maintainable?\n  security:\n    - No hardcoded secrets or credentials\n    - Input validation present\n    - No SQL injection / XSS vectors\n  performance:\n    - No N+1 queries introduced\n    - No unnecessary allocations in hot paths\n    - Appropriate caching considered\n```\n\n### Review Comment Taxonomy\n\nPrefix comments to clarify intent:\n\n| Prefix | Meaning | Blocks Merge? |\n|--------|---------|--------------|\n| `blocking:` | Must fix before merge | Yes |\n| `suggestion:` | Consider this improvement | No |\n| `nit:` | Style/formatting preference | No |\n| `question:` | Need clarification | Maybe |\n| `praise:` | Great work, learned something | No |\n| `thought:` | Long-term consideration | No |\n\n### Approval Rules by Change Type\n\n| Change Type | Min Approvals | Required Reviewers | Auto-merge? |\n|-------------|--------------|-------------------|------------|\n| Feature | 2 | 1 domain expert | No |\n| Bug fix | 1 | Any team member | Optional |\n| Hotfix | 1 | On-call + lead | After deploy |\n| Refactor | 2 | Original author if available | No |\n| Docs only | 1 | Any | Yes |\n| Dependency update | 1 | Security-aware reviewer | Dependabot: yes |\n| Config change | 2 | Ops + dev | No |\n| Database migration | 2 | DBA/senior + 1 dev | No |\n\n---\n\n## Phase 4: Branch Protection & CI Integration\n\n### Branch Protection Configuration\n\n```yaml\nbranch_protection:\n  main:\n    required_reviews: 2\n    dismiss_stale_reviews: true\n    require_code_owner_reviews: true\n    require_signed_commits: true\n    require_linear_history: true  # No merge commits\n    require_status_checks:\n      - \"ci/build\"\n      - \"ci/test\"\n      - \"ci/lint\"\n      - \"ci/security-scan\"\n      - \"ci/type-check\"\n    restrict_push: [release-bot]\n    allow_force_push: false\n    allow_deletions: false\n    require_conversation_resolution: true\n\n  develop:  # If using GitFlow\n    required_reviews: 1\n    require_status_checks:\n      - \"ci/build\"\n      - \"ci/test\"\n\n  \"release/*\":\n    required_reviews: 2\n    restrict_push: [release-managers]\n    allow_force_push: false\n```\n\n### Pre-merge CI Pipeline\n\n```yaml\nci_pipeline:\n  stages:\n    - name: \"Lint & Format\"\n      parallel: true\n      checks:\n        - eslint / ruff / clippy\n        - prettier / black / gofmt\n        - commitlint (conventional commits)\n      target: \"<30 seconds\"\n\n    - name: \"Type Check\"\n      checks:\n        - tsc --noEmit --strict\n        - mypy / pyright\n      target: \"<60 seconds\"\n\n    - name: \"Unit Tests\"\n      checks:\n        - jest / pytest / go test\n        - coverage threshold (≥80%)\n      target: \"<3 minutes\"\n\n    - name: \"Integration Tests\"\n      checks:\n        - API tests\n        - Database migration test\n      target: \"<5 minutes\"\n\n    - name: \"Security Scan\"\n      parallel: true\n      checks:\n        - dependency audit (npm audit / safety)\n        - SAST (semgrep / CodeQL)\n        - secrets detection (gitleaks / trufflehog)\n      target: \"<2 minutes\"\n\n    - name: \"Build\"\n      checks:\n        - Docker build\n        - Bundle size check\n      target: \"<3 minutes\"\n\n  total_target: \"<10 minutes\"\n  rules:\n    - All checks must pass before merge\n    - Flaky tests quarantined within 24h\n    - New code must not decrease coverage\n    - Security findings block merge (high/critical)\n```\n\n### CODEOWNERS Configuration\n\n```\n# .github/CODEOWNERS\n\n# Default\n* @team-leads\n\n# Infrastructure\n/infra/           @platform-team\n/terraform/       @platform-team\n/.github/         @platform-team\nDockerfile        @platform-team\n\n# API\n/src/api/         @backend-team\n/src/middleware/   @backend-team\n\n# Frontend\n/src/components/  @frontend-team\n/src/pages/       @frontend-team\n\n# Database\n/migrations/      @dba-team @backend-team\n\n# Docs\n/docs/            @docs-team\n\n# Security-sensitive\n/src/auth/        @security-team @backend-team\n/src/crypto/      @security-team\n```\n\n---\n\n## Phase 5: Release Management & Versioning\n\n### Semantic Versioning (SemVer)\n\n```\nMAJOR.MINOR.PATCH[-prerelease][+build]\n\nExamples:\n  1.0.0        → First stable release\n  1.1.0        → New feature, backward compatible\n  1.1.1        → Bug fix\n  2.0.0        → Breaking change\n  2.0.0-beta.1 → Pre-release\n  2.0.0-rc.1   → Release candidate\n```\n\n### Version Bump Decision\n\n| Change Type | Version Bump | Example |\n|-------------|-------------|---------|\n| Breaking API change | MAJOR | Remove endpoint, change response shape |\n| New feature (backward compatible) | MINOR | Add endpoint, new optional field |\n| Bug fix | PATCH | Fix calculation error, typo |\n| Performance improvement | PATCH | Optimize query (same behavior) |\n| Dependency update (compatible) | PATCH | Bump lodash minor |\n| Dependency update (breaking) | Depends | Evaluate downstream impact |\n\n### Automated Release Pipeline\n\n```yaml\nrelease_pipeline:\n  trigger: merge to main (or release branch)\n  steps:\n    1_version:\n      tool: \"semantic-release / release-please / changesets\"\n      action: \"Determine version bump from commits\"\n\n    2_changelog:\n      action: \"Generate CHANGELOG.md from conventional commits\"\n      sections:\n        - \"🚀 Features\" (feat)\n        - \"🐛 Bug Fixes\" (fix)\n        - \"⚡ Performance\" (perf)\n        - \"💥 Breaking Changes\" (!)\n        - \"📝 Documentation\" (docs)\n        - \"🔧 Maintenance\" (chore)\n\n    3_tag:\n      action: \"Create signed git tag\"\n      format: \"v{major}.{minor}.{patch}\"\n\n    4_release:\n      action: \"Create GitHub Release with changelog\"\n      assets:\n        - build artifacts\n        - checksums\n\n    5_publish:\n      action: \"Publish to package registry\"\n      registries:\n        - npm / PyPI / Maven / Docker Hub\n\n    6_notify:\n      action: \"Post to Slack #releases\"\n      template: \"🚀 {package} v{version} released — {changelog_url}\"\n```\n\n### Release Tool Comparison\n\n| Tool | Approach | Monorepo | Config |\n|------|----------|----------|--------|\n| **semantic-release** | Fully automated | Via plugins | .releaserc |\n| **release-please** | PR-based | Native | release-please-config.json |\n| **changesets** | Developer-driven | Native | .changeset/ |\n| **standard-version** | Local CLI | No | .versionrc |\n| **lerna** | Monorepo-specific | Yes | lerna.json |\n\n**Selection Guide:**\n- Want zero-touch automation? → semantic-release\n- Want human review before release? → release-please\n- Want developer-controlled changelogs? → changesets\n- Monorepo with independent packages? → changesets or lerna\n\n### Hotfix Process\n\n```yaml\nhotfix_process:\n  trigger: \"Production incident requiring code fix\"\n  steps:\n    1: \"Create branch from latest release tag: hotfix/PROJ-XXX-description\"\n    2: \"Implement fix with test\"\n    3: \"PR with 'hotfix' label → expedited review (1 reviewer)\"\n    4: \"Merge to main AND release branch (if using GitFlow)\"\n    5: \"Tag patch release immediately\"\n    6: \"Deploy to production\"\n    7: \"Cherry-pick to develop (if using GitFlow)\"\n    8: \"Post-incident: add regression test to CI\"\n  sla: \"Fix deployed within 4 hours of identification\"\n```\n\n---\n\n## Phase 6: Monorepo vs Multi-Repo Strategy\n\n### Decision Matrix\n\n| Factor | Monorepo | Multi-Repo |\n|--------|----------|------------|\n| **Code sharing** | Trivial (same tree) | Requires packages/versioning |\n| **Refactoring** | Atomic cross-project changes | Coordinated multi-repo PRs |\n| **CI complexity** | Higher (affected-only builds) | Simpler (per-repo pipelines) |\n| **Dependency management** | Single lockfile, consistent | Independent, may drift |\n| **Team autonomy** | Lower (shared conventions) | Higher (own rules) |\n| **Onboarding** | One clone, full context | Clone what you need |\n| **Build times** | Can grow large | Naturally bounded |\n| **Access control** | Coarser (same repo) | Fine-grained (per-repo) |\n\n### When to Use Each\n\n**Monorepo When:**\n- Shared libraries change frequently\n- Teams need atomic cross-package changes\n- Tight integration between services\n- Strong shared tooling culture\n- <50 active contributors OR excellent tooling\n\n**Multi-Repo When:**\n- Teams are autonomous (different stacks, cadences)\n- Strong security boundaries needed\n- Open source components mixed with private\n- >100 contributors without monorepo tooling\n- Microservices with stable API contracts\n\n### Monorepo Tooling\n\n| Tool | Language | Features | Best For |\n|------|----------|----------|----------|\n| **Turborepo** | JS/TS | Fast, simple, caching | JS/TS monorepos |\n| **Nx** | Any | Full-featured, generators | Large JS/TS + mixed |\n| **Bazel** | Any | Hermetic, scalable | Google-scale, polyglot |\n| **Pants** | Python, Go, Java | Incremental, remote cache | Python-heavy |\n| **Rush** | JS/TS | Microsoft-backed | Enterprise JS/TS |\n| **Lerna** | JS/TS | Publishing-focused | npm package sets |\n\n### Monorepo Structure\n\n```\n/\n├── apps/\n│   ├── web/              # Next.js frontend\n│   ├── api/              # Express backend\n│   ├── mobile/           # React Native\n│   └── admin/            # Admin dashboard\n├── packages/\n│   ├── ui/               # Shared components\n│   ├── utils/            # Shared utilities\n│   ├── config/           # Shared configs (eslint, tsconfig)\n│   ├── database/         # Prisma/Drizzle schema\n│   └── types/            # Shared TypeScript types\n├── tools/\n│   ├── scripts/          # Build/deploy scripts\n│   └── generators/       # Code generators\n├── .github/\n│   ├── workflows/        # CI/CD\n│   └── CODEOWNERS\n├── turbo.json            # Turborepo config\n├── package.json          # Root workspace\n└── pnpm-workspace.yaml   # Workspace definition\n```\n\n### Affected-Only CI for Monorepos\n\n```yaml\nmonorepo_ci:\n  strategy: \"Only build/test what changed\"\n  detection:\n    - \"git diff --name-only origin/main...HEAD\"\n    - \"Use tool-native affected detection (nx affected, turbo --filter)\"\n  caching:\n    local: \"node_modules/.cache, .turbo\"\n    remote: \"S3/GCS for CI cache sharing\"\n    key: \"hash of lockfile + source files\"\n  rules:\n    - \"Root config change → rebuild everything\"\n    - \"Package change → rebuild package + dependents\"\n    - \"App change → rebuild only that app\"\n    - \"Docs change → skip build, only lint\"\n```\n\n---\n\n## Phase 7: Git Security\n\n### Secrets Prevention\n\n```yaml\nsecrets_prevention:\n  pre_commit:\n    tool: \"gitleaks / trufflehog / detect-secrets\"\n    config: |\n      # .gitleaks.toml\n      [allowlist]\n      paths = [\"test/fixtures/**\", \"docs/examples/**\"]\n\n      [[rules]]\n      id = \"aws-access-key\"\n      description = \"AWS Access Key\"\n      regex = '''AKIA[0-9A-Z]{16}'''\n      tags = [\"aws\", \"credentials\"]\n\n  ci_scan:\n    tool: \"trufflehog --since-commit HEAD~1\"\n    action: \"Block merge on detection\"\n\n  emergency_response:\n    steps:\n      1: \"Revoke the exposed credential IMMEDIATELY\"\n      2: \"git filter-repo to remove from history\"\n      3: \"Force push cleaned history\"\n      4: \"Audit access logs for the exposed credential\"\n      5: \"Rotate all credentials that may have been exposed\"\n      6: \"Add pattern to pre-commit hook\"\n    warning: |\n      Even after removing from history, assume the secret is compromised.\n      Anyone who cloned the repo may have it cached.\n```\n\n### Commit Signing\n\n```bash\n# GPG signing setup\ngit config --global commit.gpgsign true\ngit config --global user.signingkey YOUR_KEY_ID\ngit config --global tag.gpgsign true\n\n# SSH signing (GitHub, simpler)\ngit config --global gpg.format ssh\ngit config --global user.signingkey ~/.ssh/id_ed25519.pub\ngit config --global commit.gpgsign true\n\n# Verify signed commits\ngit log --show-signature\n```\n\n### .gitignore Best Practices\n\n```yaml\ngitignore_checklist:\n  always_ignore:\n    - \"node_modules/ / venv/ / __pycache__/\"\n    - \".env / .env.local / .env.*.local\"\n    - \"*.key / *.pem / *.p12\"\n    - \".DS_Store / Thumbs.db\"\n    - \"*.log / logs/\"\n    - \"dist/ / build/ / out/\"\n    - \"coverage/ / .nyc_output/\"\n    - \".idea/ / .vscode/ (except shared settings)\"\n    - \"*.sqlite / *.db (unless intentional)\"\n  never_ignore:\n    - \".gitignore itself\"\n    - \"lockfiles (package-lock.json, yarn.lock, pnpm-lock.yaml)\"\n    - \".env.example (template without secrets)\"\n    - \"docker-compose.yml\"\n    - \"Makefile / Taskfile\"\n  template: \"Use github.com/github/gitignore as base\"\n```\n\n---\n\n## Phase 8: Git Workflows for Common Scenarios\n\n### Feature Development (GitHub Flow)\n\n```yaml\nfeature_workflow:\n  steps:\n    1_branch: \"git checkout -b feat/PROJ-123-description main\"\n    2_develop:\n      - \"Make atomic commits following conventional commits\"\n      - \"Push regularly (at least daily)\"\n      - \"Keep rebased on main: git rebase main\"\n    3_pr:\n      - \"Open PR early as draft for visibility\"\n      - \"Convert to ready when tests pass\"\n      - \"Request reviewers via CODEOWNERS\"\n    4_review:\n      - \"Address feedback in new commits (don't force-push during review)\"\n      - \"Re-request review after changes\"\n    5_merge:\n      - \"Squash merge for clean history\"\n      - \"Delete branch after merge (automated)\"\n    6_deploy:\n      - \"CI/CD deploys from main automatically\"\n```\n\n### Trunk-Based Development\n\n```yaml\ntrunk_based:\n  rules:\n    - \"All developers commit to main (or short-lived branches <1 day)\"\n    - \"Feature flags gate incomplete features\"\n    - \"No long-lived branches (ever)\"\n    - \"Broken main = stop everything, fix immediately\"\n    - \"Pair programming reduces need for PR reviews\"\n  short_lived_branches:\n    max_lifetime: \"1 day\"\n    merge_strategy: \"squash\"\n    review: \"Optional for small changes, required for >50 LOC\"\n  prerequisites:\n    - \"Comprehensive CI pipeline (<10 min)\"\n    - \"Feature flag infrastructure\"\n    - \"High test coverage (>80%)\"\n    - \"Trunk-based CI (main always deployable)\"\n    - \"Strong automated testing culture\"\n```\n\n### Database Migration Workflow\n\n```yaml\nmigration_workflow:\n  rules:\n    - \"One migration per PR (never batch)\"\n    - \"Migrations are forward-only (no down migrations in production)\"\n    - \"Every migration must be backward compatible\"\n    - \"Test migration against production data clone\"\n  backward_compatible_patterns:\n    add_column: \"Add with default value, make nullable initially\"\n    rename_column: \"Add new → migrate data → update code → drop old (3 PRs)\"\n    remove_column: \"Stop reading → stop writing → drop (2 PRs)\"\n    add_index: \"CREATE INDEX CONCURRENTLY\"\n    change_type: \"Add new column → migrate → swap → drop old\"\n  review:\n    required_reviewers: [\"dba\", \"senior-backend\"]\n    extra_checks:\n      - \"Migration runs in <30 seconds\"\n      - \"No table locks on large tables\"\n      - \"Rollback tested\"\n```\n\n### Dependency Update Workflow\n\n```yaml\ndependency_updates:\n  automation:\n    tool: \"Dependabot / Renovate\"\n    config:\n      schedule: \"weekly\"\n      group_by: \"update-type\"\n      automerge:\n        - \"patch updates (tests pass)\"\n        - \"minor updates (for low-risk deps)\"\n      manual_review:\n        - \"major updates\"\n        - \"security-sensitive packages\"\n\n  renovate_config:\n    # renovate.json\n    extends: [\"config:recommended\"]\n    schedule: [\"before 9am on Monday\"]\n    automerge: true\n    automergeType: \"pr\"\n    packageRules:\n      - matchUpdateTypes: [\"patch\"]\n        automerge: true\n      - matchUpdateTypes: [\"major\"]\n        automerge: false\n        reviewers: [\"team/leads\"]\n      - matchPackagePatterns: [\"eslint\", \"prettier\", \"typescript\"]\n        groupName: \"dev tooling\"\n```\n\n---\n\n## Phase 9: Git Performance & Large Repos\n\n### Performance Optimization\n\n| Problem | Solution | Impact |\n|---------|----------|--------|\n| Slow clone | `git clone --depth 1` (shallow) | 10-100x faster |\n| Large repo | `git sparse-checkout` | Clone only needed dirs |\n| Slow fetch | `git fetch --prune --tags` | Remove stale refs |\n| Large files | Git LFS | Keep repo size manageable |\n| Slow status | `git config core.fsmonitor true` | 2-5x faster on large repos |\n| Slow diff | `git config diff.algorithm histogram` | Better diff quality |\n| Many branches | Auto-delete merged branches | Keep ref count low |\n\n### Git LFS Setup\n\n```yaml\ngit_lfs:\n  when_to_use:\n    - \"Binary files >1MB (images, videos, models)\"\n    - \"Generated files that change frequently\"\n    - \"Design assets (PSD, Sketch, Figma exports)\"\n  never_lfs:\n    - \"Source code\"\n    - \"Configuration files\"\n    - \"Small images (<100KB)\"\n  setup: |\n    git lfs install\n    git lfs track \"*.psd\"\n    git lfs track \"*.zip\"\n    git lfs track \"models/**\"\n    git add .gitattributes\n  cost_warning: |\n    GitHub LFS: 1GB free, then $5/50GB/month\n    Consider alternatives for very large assets:\n    - S3/GCS with download scripts\n    - DVC (Data Version Control) for ML\n    - Git Annex for large media\n```\n\n### Sparse Checkout for Monorepos\n\n```bash\n# Clone only what you need\ngit clone --filter=blob:none --sparse https://github.com/org/monorepo.git\ncd monorepo\ngit sparse-checkout init --cone\ngit sparse-checkout set apps/my-app packages/shared\n\n# Add more directories later\ngit sparse-checkout add packages/another-lib\n```\n\n---\n\n## Phase 10: Git Troubleshooting & Recovery\n\n### Common Issues & Fixes\n\n| Problem | Command | Notes |\n|---------|---------|-------|\n| Undo last commit (keep changes) | `git reset --soft HEAD~1` | Staged, ready to recommit |\n| Undo last commit (discard) | `git reset --hard HEAD~1` | ⚠️ Destructive |\n| Find lost commit | `git reflog` | Reflog keeps 90 days |\n| Recover deleted branch | `git reflog` → `git checkout -b branch <sha>` | Find the SHA in reflog |\n| Remove file from all history | `git filter-repo --path file --invert-paths` | Requires force push |\n| Fix wrong branch | `git stash` → `git checkout correct` → `git stash pop` | |\n| Resolve merge conflict | `git mergetool` or manual edit | Accept theirs: `git checkout --theirs file` |\n| Bisect to find bug | `git bisect start` → `git bisect bad` → `git bisect good <sha>` | Binary search |\n| Squash last N commits | `git rebase -i HEAD~N` | Mark as squash/fixup |\n| Amend last commit message | `git commit --amend` | Only if not pushed |\n\n### Emergency Procedures\n\n```yaml\nemergency_procedures:\n  secrets_in_repo:\n    severity: \"CRITICAL\"\n    steps:\n      1: \"Revoke credential IMMEDIATELY (don't wait for history clean)\"\n      2: \"Remove with git filter-repo\"\n      3: \"Force push all branches\"\n      4: \"Contact GitHub support to clear caches\"\n      5: \"Audit credential usage\"\n      6: \"Add to pre-commit hooks\"\n\n  broken_main:\n    severity: \"HIGH\"\n    steps:\n      1: \"Revert the breaking commit: git revert <sha>\"\n      2: \"Push revert immediately\"\n      3: \"Investigate in separate branch\"\n      4: \"Fix forward (don't revert the revert)\"\n\n  accidental_force_push:\n    severity: \"HIGH\"\n    steps:\n      1: \"Check reflog for the previous HEAD\"\n      2: \"Reset to previous state\"\n      3: \"Force push the recovery\"\n      4: \"Notify team to re-pull\"\n      5: \"Add branch protection to prevent recurrence\"\n\n  repo_too_large:\n    severity: \"MEDIUM\"\n    steps:\n      1: \"Identify large files: git rev-list --objects --all | git cat-file --batch-check\"\n      2: \"Move large files to LFS: git lfs migrate import --include='*.zip'\"\n      3: \"Or remove with filter-repo\"\n      4: \"Force push cleaned history\"\n      5: \"Team re-clones\"\n```\n\n---\n\n## Phase 11: Advanced Patterns\n\n### Git Hooks Architecture\n\n```yaml\ngit_hooks:\n  tool: \"husky (JS) / pre-commit (Python) / lefthook (any)\"\n  recommended_hooks:\n    pre_commit:\n      - lint-staged (format only changed files)\n      - commitlint (conventional commit check)\n      - gitleaks (secrets scan)\n    commit_msg:\n      - commitlint --edit $1\n    pre_push:\n      - type-check\n      - unit tests (fast subset)\n    prepare_commit_msg:\n      - Add branch ticket number to commit\n\n  lefthook_config: |\n    # lefthook.yml\n    pre-commit:\n      parallel: true\n      commands:\n        lint:\n          glob: \"*.{ts,tsx,js,jsx}\"\n          run: npx eslint {staged_files}\n        format:\n          glob: \"*.{ts,tsx,js,jsx,json,md}\"\n          run: npx prettier --check {staged_files}\n        secrets:\n          run: gitleaks protect --staged\n\n    commit-msg:\n      commands:\n        lint-commit:\n          run: npx commitlint --edit {1}\n```\n\n### Worktrees for Parallel Development\n\n```bash\n# Work on hotfix while feature branch is open\ngit worktree add ../hotfix-workspace hotfix/PROJ-789\ncd ../hotfix-workspace\n# Fix, commit, push — without touching main workspace\ngit worktree remove ../hotfix-workspace\n\n# Use cases:\n# - Reviewing PR while working on feature\n# - Running tests on one branch while coding on another\n# - Comparing behavior between branches\n```\n\n### Git Subtree for Shared Libraries\n\n```bash\n# Add shared library\ngit subtree add --prefix=libs/shared https://github.com/org/shared.git main --squash\n\n# Pull updates\ngit subtree pull --prefix=libs/shared https://github.com/org/shared.git main --squash\n\n# Push changes back\ngit subtree push --prefix=libs/shared https://github.com/org/shared.git feature-branch\n\n# When to use subtree vs submodule:\n# Subtree: simpler, code lives in your repo, no extra clone steps\n# Submodule: pointer to external repo, separate versioning, requires init\n```\n\n### Changelog Generation\n\n```yaml\nchangelog_tools:\n  conventional_changelog:\n    command: \"npx conventional-changelog -p angular -i CHANGELOG.md -s\"\n    output: \"Groups by feat/fix/perf with commit links\"\n\n  git_cliff:\n    command: \"git cliff --output CHANGELOG.md\"\n    config: |\n      # cliff.toml\n      [changelog]\n      header = \"# Changelog\\n\"\n      body = \"\"\"\n      ## [{{ version }}] - {{ timestamp | date(format=\"%Y-%m-%d\") }}\n      {% for group, commits in commits | group_by(attribute=\"group\") %}\n      ### {{ group }}\n      {% for commit in commits %}\n      - {{ commit.message }} ([{{ commit.id | truncate(length=7) }}]({{ commit.id }}))\n      {% endfor %}\n      {% endfor %}\n      \"\"\"\n      trim = true\n\n  release_please:\n    approach: \"Creates PR with changelog + version bump\"\n    config: |\n      {\n        \"release-type\": \"node\",\n        \"packages\": { \".\": {} }\n      }\n```\n\n---\n\n## Phase 12: Metrics & Health Dashboard\n\n### Weekly Repository Health Dashboard\n\n```yaml\nrepo_health_dashboard:\n  date: \"YYYY-MM-DD\"\n  \n  velocity:\n    prs_merged_this_week: 0\n    avg_pr_size_lines: 0\n    avg_time_to_first_review_hours: 0\n    avg_time_to_merge_hours: 0\n    \n  quality:\n    prs_requiring_rework: 0\n    review_comments_per_pr: 0\n    ci_pass_rate_percent: 0\n    reverts_this_week: 0\n    \n  hygiene:\n    stale_branches_count: 0\n    open_prs_older_than_7_days: 0\n    unsigned_commits_percent: 0\n    ci_pipeline_duration_p95_minutes: 0\n    \n  security:\n    secrets_detected_blocked: 0\n    dependency_vulnerabilities_open: 0\n    \n  scoring:\n    dimensions:\n      velocity: { weight: 20, score: 0 }\n      quality: { weight: 25, score: 0 }\n      hygiene: { weight: 20, score: 0 }\n      security: { weight: 20, score: 0 }\n      culture: { weight: 15, score: 0 }\n    total: \"/100\"\n```\n\n### Benchmarks\n\n| Metric | Good | Great | World-Class |\n|--------|------|-------|-------------|\n| PR review time | <24h | <4h | <2h |\n| PR merge time | <48h | <24h | <8h |\n| CI pipeline | <15 min | <10 min | <5 min |\n| CI pass rate | >90% | >95% | >99% |\n| Branch lifetime | <5 days | <3 days | <1 day |\n| Stale branches | <20 | <10 | 0 |\n| Code review coverage | >80% | >95% | 100% |\n| Signed commits | >50% | >90% | 100% |\n\n---\n\n## 100-Point Quality Rubric\n\n| Dimension | Weight | 0-25 | 50 | 75 | 100 |\n|-----------|--------|------|----|----|-----|\n| Branching Strategy | 15% | No strategy | Basic (main + feature) | Documented, enforced | Automated, measured |\n| Commit Quality | 10% | Random messages | Mostly conventional | Enforced conventional + signing | Automated changelog from commits |\n| Code Review | 20% | Optional/rubber stamp | Required, basic | SLAs, taxonomy, CODEOWNERS | Data-driven, continuous improvement |\n| CI/CD Integration | 15% | Manual checks | Basic pipeline | Branch protection + all checks | <10 min, affected-only, cached |\n| Release Management | 10% | Manual | SemVer, manual tagging | Automated versioning | Full automation + changelog + notify |\n| Security | 15% | No controls | .gitignore, basic | Pre-commit secrets scan + signing | Full security pipeline + audit |\n| Repository Hygiene | 10% | Stale branches, large repo | Periodic cleanup | Automated cleanup, LFS | Monitored dashboard, zero debt |\n| Documentation | 5% | None | README + PR template | Contributing guide + ADRs | Full developer onboarding docs |\n\n**Score:** 0-40 = Crisis | 41-60 = Developing | 61-80 = Good | 81-100 = Excellent\n\n---\n\n## 10 Git Engineering Mistakes\n\n| # | Mistake | Fix |\n|---|---------|-----|\n| 1 | Committing secrets | Pre-commit hooks (gitleaks) + CI scan |\n| 2 | Long-lived branches | Max 5-day policy, split large features |\n| 3 | Merge commits everywhere | Squash merge or rebase, linear history |\n| 4 | No branch protection | Enforce reviews + status checks |\n| 5 | Giant PRs (>500 lines) | Split by concern, stacked PRs |\n| 6 | Force pushing shared branches | Never force push main/develop |\n| 7 | No CI before merge | Block merge without passing checks |\n| 8 | Manual releases | Automate with semantic-release/release-please |\n| 9 | Ignoring git history | Conventional commits, meaningful messages |\n| 10 | No CODEOWNERS | Define ownership for review routing |\n\n---\n\n## Edge Cases\n\n### Startup / Solo Developer\n- Start with GitHub Flow (simplest)\n- Use conventional commits from day 1\n- Set up pre-commit hooks immediately\n- Branch protection even on solo repos (prevents accidents)\n\n### Large Enterprise (>100 devs)\n- Trunk-Based Development with feature flags\n- Monorepo with Bazel/Nx + remote caching\n- CODEOWNERS for every directory\n- Automated everything (lint, test, release, changelog)\n\n### Open Source Project\n- Require signed commits from maintainers\n- Fork-based workflow for external contributors\n- DCO (Developer Certificate of Origin) or CLA\n- Protected main + develop branches\n- Issue templates + PR templates mandatory\n\n### Migration from SVN/Perforce\n- Use `git svn` or `git p4` for initial migration\n- Preserve history where possible\n- Retrain team on branching (it's cheap in git!)\n- Start with GitHub Flow, graduate to trunk-based\n\n### Regulated Industry (SOX/HIPAA/PCI)\n- Signed commits mandatory\n- PR approval from compliance-aware reviewer\n- Audit trail: never squash (keep individual commits)\n- Branch protection: no admin override\n- Tag every production release\n\n---\n\n## Natural Language Commands\n\n| Command | Action |\n|---------|--------|\n| \"Set up git for our project\" | Assess team, recommend branching strategy + full config |\n| \"Review our branching strategy\" | Analyze current approach, suggest improvements |\n| \"Create PR template\" | Generate PR template with checklist |\n| \"Set up branch protection\" | Generate protection rules config |\n| \"Help with monorepo setup\" | Tool selection + structure + CI config |\n| \"Fix git problem\" | Diagnose from troubleshooting guide |\n| \"Set up automated releases\" | Tool selection + pipeline config |\n| \"Audit repository security\" | Run through security checklist |\n| \"Optimize CI pipeline\" | Analyze and recommend speedups |\n| \"Set up commit conventions\" | Configure commitlint + hooks + template |\n| \"Create CODEOWNERS\" | Generate ownership file from project structure |\n| \"Help with git recovery\" | Guide through emergency procedures |\n","readmeExcerpt":"Git Engineering & Repository Strategy You are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale. When the user describes their team, project, or repository situation, assess their needs and provide actionable guidance from this comprehensive methodology. --- Quick Health Check (","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Q1: How often do you deploy to production?\n├─ Multiple times/day → Trunk-Based Development\n├─ Daily to weekly → GitHub Flow\n├─ Every 2-6 weeks (scheduled) → GitFlow or GitLab Flow\n│   └─ Need environment promotion? → GitLab Flow\n│   └─ Need parallel release support? → GitFlow\n└─ Infrequently / packaged software → GitFlow"},{"language":"yaml","snippet":"branch_naming:\n  pattern: \"{type}/{ticket}-{short-description}\"\n  types:\n    - feat     # New feature\n    - fix      # Bug fix\n    - hotfix   # Production emergency\n    - chore    # Maintenance, deps\n    - docs     # Documentation\n    - refactor # Code restructure\n    - test     # Test additions\n    - perf     # Performance\n  examples:\n    - \"feat/PROJ-123-user-authentication\"\n    - \"fix/PROJ-456-login-timeout\"\n    - \"hotfix/PROJ-789-payment-crash\"\n  rules:\n    - lowercase only, hyphens for spaces\n    - max 50 characters after type/\n    - always include ticket number\n    - delete after merge (automated)"},{"language":"text","snippet":"<type>(<scope>): <subject>\n\n<body>\n\n<footer>"},{"language":"text","snippet":"feat(api)!: change auth header format\n\nBREAKING CHANGE: Authorization header now requires \"Bearer \" prefix.\nMigration: Update all API clients to include \"Bearer \" before token."},{"language":"bash","snippet":"# Clean up feature branch before PR\ngit rebase -i main\n\n# Common operations:\n# pick   → keep commit as-is\n# squash → combine with previous\n# fixup  → combine, discard message\n# reword → change commit message\n# drop   → remove commit entirely\n\n# Golden rule: Never rebase shared/public branches"},{"language":"yaml","snippet":"# .gitmessage template\ncommit_template: |\n  # <type>(<scope>): <subject>\n  #\n  # Why this change?\n  #\n  # What changed?\n  #\n  # Refs: PROJ-XXX\n  #\n  # Types: feat|fix|perf|refactor|docs|test|chore|ci|style|revert\n  # Breaking: add ! after type or BREAKING CHANGE: in footer"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Git Engineering & Repository Strategy Git Engineering & Repository Strategy You are a Git Engineering expert. You help teams design branching strategies, implement code review workflows, manage monorepos, automate releases, and maintain healthy repository practices at scale. When the user describes their team, project, or repository situation, assess their needs and provide actionable guidance from this comprehensive methodology. --- Quick Health Check (","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":369,"uniquenessScore":67,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-04-17T05:06:11.605Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}