@nextsparkjs/ai-workflow 0.1.0-beta.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/claude/_docs/workflows-optimizations.md +359 -0
  4. package/claude/agents/api-tester.md +634 -0
  5. package/claude/agents/architecture-supervisor.md +1351 -0
  6. package/claude/agents/backend-developer.md +997 -0
  7. package/claude/agents/backend-validator.md +417 -0
  8. package/claude/agents/bdd-docs-writer.md +737 -0
  9. package/claude/agents/block-developer.md +677 -0
  10. package/claude/agents/code-reviewer.md +1432 -0
  11. package/claude/agents/db-developer.md +721 -0
  12. package/claude/agents/db-validator.md +407 -0
  13. package/claude/agents/demo-video-generator.md +493 -0
  14. package/claude/agents/documentation-writer.md +1268 -0
  15. package/claude/agents/frontend-developer.md +1234 -0
  16. package/claude/agents/frontend-validator.md +777 -0
  17. package/claude/agents/functional-validator.md +630 -0
  18. package/claude/agents/mock-analyst.md +387 -0
  19. package/claude/agents/product-manager.md +963 -0
  20. package/claude/agents/qa-automation.md +1762 -0
  21. package/claude/agents/release-manager.md +634 -0
  22. package/claude/agents/selectors-translator.md +262 -0
  23. package/claude/agents/unit-test-writer.md +785 -0
  24. package/claude/agents/visual-comparator.md +329 -0
  25. package/claude/agents/workflow-maintainer.md +352 -0
  26. package/claude/commands/do/README.md +88 -0
  27. package/claude/commands/do/create-api.md +64 -0
  28. package/claude/commands/do/create-entity.md +66 -0
  29. package/claude/commands/do/create-migration.md +64 -0
  30. package/claude/commands/do/create-plugin.md +56 -0
  31. package/claude/commands/do/create-theme.md +70 -0
  32. package/claude/commands/do/mock-data.md +67 -0
  33. package/claude/commands/do/reset-db.md +71 -0
  34. package/claude/commands/do/setup-scheduled-action.md +75 -0
  35. package/claude/commands/do/sync-code-review.md +117 -0
  36. package/claude/commands/do/update-selectors.md +112 -0
  37. package/claude/commands/do/use-skills.md +90 -0
  38. package/claude/commands/do/validate-blocks.md +69 -0
  39. package/claude/commands/how-to/README.md +261 -0
  40. package/claude/commands/how-to/add-metadata.md +692 -0
  41. package/claude/commands/how-to/add-taxonomies.md +806 -0
  42. package/claude/commands/how-to/add-translations.md +571 -0
  43. package/claude/commands/how-to/create-api.md +577 -0
  44. package/claude/commands/how-to/create-block.md +575 -0
  45. package/claude/commands/how-to/create-child-entities.md +771 -0
  46. package/claude/commands/how-to/create-entity.md +597 -0
  47. package/claude/commands/how-to/create-migrations.md +605 -0
  48. package/claude/commands/how-to/create-plugin.md +654 -0
  49. package/claude/commands/how-to/customize-app.md +481 -0
  50. package/claude/commands/how-to/customize-dashboard.md +553 -0
  51. package/claude/commands/how-to/customize-theme.md +438 -0
  52. package/claude/commands/how-to/define-features-flows.md +632 -0
  53. package/claude/commands/how-to/deploy.md +507 -0
  54. package/claude/commands/how-to/handle-file-uploads.md +746 -0
  55. package/claude/commands/how-to/implement-search.md +1001 -0
  56. package/claude/commands/how-to/install-plugins.md +352 -0
  57. package/claude/commands/how-to/manage-test-coverage.md +984 -0
  58. package/claude/commands/how-to/run-tests.md +400 -0
  59. package/claude/commands/how-to/set-app-languages.md +601 -0
  60. package/claude/commands/how-to/set-plans-and-permissions.md +575 -0
  61. package/claude/commands/how-to/set-scheduled-actions.md +527 -0
  62. package/claude/commands/how-to/set-user-roles-and-permissions.md +550 -0
  63. package/claude/commands/how-to/setup-authentication.md +388 -0
  64. package/claude/commands/how-to/setup-claude-code.md +440 -0
  65. package/claude/commands/how-to/setup-database.md +274 -0
  66. package/claude/commands/how-to/setup-email-providers.md +598 -0
  67. package/claude/commands/how-to/setup-mobile-dev.md +627 -0
  68. package/claude/commands/how-to/start.md +500 -0
  69. package/claude/commands/how-to/use-devtools.md +639 -0
  70. package/claude/commands/how-to/use-superadmin.md +622 -0
  71. package/claude/commands/session/README.md +193 -0
  72. package/claude/commands/session/block-create.md +190 -0
  73. package/claude/commands/session/block-list.md +203 -0
  74. package/claude/commands/session/block-update.md +192 -0
  75. package/claude/commands/session/block-validate.md +218 -0
  76. package/claude/commands/session/changelog.md +115 -0
  77. package/claude/commands/session/close.md +225 -0
  78. package/claude/commands/session/commit.md +174 -0
  79. package/claude/commands/session/db-entity.md +206 -0
  80. package/claude/commands/session/db-fix.md +212 -0
  81. package/claude/commands/session/db-sample.md +206 -0
  82. package/claude/commands/session/demo.md +178 -0
  83. package/claude/commands/session/doc-bdd.md +207 -0
  84. package/claude/commands/session/doc-feature.md +218 -0
  85. package/claude/commands/session/doc-read.md +225 -0
  86. package/claude/commands/session/execute.md +204 -0
  87. package/claude/commands/session/explain.md +202 -0
  88. package/claude/commands/session/fix-bug.md +210 -0
  89. package/claude/commands/session/fix-build.md +182 -0
  90. package/claude/commands/session/fix-test.md +189 -0
  91. package/claude/commands/session/pending.md +232 -0
  92. package/claude/commands/session/refine.md +188 -0
  93. package/claude/commands/session/resume.md +192 -0
  94. package/claude/commands/session/review.md +192 -0
  95. package/claude/commands/session/scope-change.md +181 -0
  96. package/claude/commands/session/start-blocks.md +347 -0
  97. package/claude/commands/session/start.md +604 -0
  98. package/claude/commands/session/status.md +169 -0
  99. package/claude/commands/session/test-fix.md +221 -0
  100. package/claude/commands/session/test-run.md +203 -0
  101. package/claude/commands/session/test-write.md +242 -0
  102. package/claude/commands/session/validate.md +162 -0
  103. package/claude/config/context.json +40 -0
  104. package/claude/config/github.json +69 -0
  105. package/claude/config/github.schema.json +106 -0
  106. package/claude/config/team.json +46 -0
  107. package/claude/config/team.schema.json +106 -0
  108. package/claude/config/workspace.json +43 -0
  109. package/claude/config/workspace.schema.json +75 -0
  110. package/claude/skills/README.md +228 -0
  111. package/claude/skills/accessibility/SKILL.md +573 -0
  112. package/claude/skills/api-bypass-layers/SKILL.md +550 -0
  113. package/claude/skills/asana-integration/SKILL.md +499 -0
  114. package/claude/skills/better-auth/SKILL.md +666 -0
  115. package/claude/skills/billing-subscriptions/SKILL.md +660 -0
  116. package/claude/skills/block-decision-matrix/SKILL.md +359 -0
  117. package/claude/skills/clickup-integration/SKILL.md +434 -0
  118. package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
  119. package/claude/skills/create-plugin/SKILL.md +425 -0
  120. package/claude/skills/create-theme/SKILL.md +331 -0
  121. package/claude/skills/cypress-api/SKILL.md +511 -0
  122. package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
  123. package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
  124. package/claude/skills/cypress-e2e/SKILL.md +526 -0
  125. package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
  126. package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
  127. package/claude/skills/cypress-selectors/SKILL.md +309 -0
  128. package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
  129. package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
  130. package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
  131. package/claude/skills/database-migrations/SKILL.md +335 -0
  132. package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
  133. package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
  134. package/claude/skills/design-system/SKILL.md +682 -0
  135. package/claude/skills/documentation/SKILL.md +540 -0
  136. package/claude/skills/entity-api/SKILL.md +482 -0
  137. package/claude/skills/entity-system/SKILL.md +635 -0
  138. package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
  139. package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
  140. package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
  141. package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
  142. package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
  143. package/claude/skills/github/SKILL.md +467 -0
  144. package/claude/skills/i18n-nextintl/SKILL.md +302 -0
  145. package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
  146. package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
  147. package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
  148. package/claude/skills/impact-analysis/SKILL.md +203 -0
  149. package/claude/skills/jest-unit/SKILL.md +306 -0
  150. package/claude/skills/jest-unit/references/component-testing.md +371 -0
  151. package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
  152. package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
  153. package/claude/skills/jira-integration/SKILL.md +539 -0
  154. package/claude/skills/media-library/SKILL.md +743 -0
  155. package/claude/skills/mock-analysis/SKILL.md +276 -0
  156. package/claude/skills/monorepo-architecture/SKILL.md +162 -0
  157. package/claude/skills/nextjs-api-development/SKILL.md +364 -0
  158. package/claude/skills/nextjs-api-development/scripts/generate-crud-tests.py +456 -0
  159. package/claude/skills/nextjs-api-development/scripts/scaffold-endpoint.py +481 -0
  160. package/claude/skills/nextjs-api-development/scripts/validate-api.py +283 -0
  161. package/claude/skills/notion-integration/SKILL.md +641 -0
  162. package/claude/skills/npm-development-workflow/SKILL.md +480 -0
  163. package/claude/skills/page-builder-blocks/SKILL.md +530 -0
  164. package/claude/skills/page-builder-blocks/scripts/scaffold-block.py +444 -0
  165. package/claude/skills/permissions-system/SKILL.md +619 -0
  166. package/claude/skills/plugins/SKILL.md +340 -0
  167. package/claude/skills/plugins/references/plugin-templates.md +414 -0
  168. package/claude/skills/plugins/references/plugin-testing.md +353 -0
  169. package/claude/skills/plugins/references/plugin-types.md +198 -0
  170. package/claude/skills/plugins/scripts/scaffold-plugin.py +443 -0
  171. package/claude/skills/pom-patterns/SKILL.md +452 -0
  172. package/claude/skills/pom-patterns/scripts/generate-pom.py +392 -0
  173. package/claude/skills/rate-limiting/SKILL.md +342 -0
  174. package/claude/skills/react-best-practices/AGENTS.md +2410 -0
  175. package/claude/skills/react-best-practices/README.md +123 -0
  176. package/claude/skills/react-best-practices/SKILL.md +125 -0
  177. package/claude/skills/react-best-practices/metadata.json +15 -0
  178. package/claude/skills/react-best-practices/rules/_sections.md +46 -0
  179. package/claude/skills/react-best-practices/rules/_template.md +28 -0
  180. package/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  181. package/claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  182. package/claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  183. package/claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  184. package/claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  185. package/claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  186. package/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  187. package/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  188. package/claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  189. package/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  190. package/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  191. package/claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  192. package/claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  193. package/claude/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  194. package/claude/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  195. package/claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  196. package/claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  197. package/claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  198. package/claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  199. package/claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  200. package/claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  201. package/claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  202. package/claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  203. package/claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  204. package/claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  205. package/claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  206. package/claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  207. package/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  208. package/claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  209. package/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  210. package/claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  211. package/claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  212. package/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  213. package/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  214. package/claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  215. package/claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  216. package/claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  217. package/claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  218. package/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  219. package/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  220. package/claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  221. package/claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  222. package/claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  223. package/claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  224. package/claude/skills/react-best-practices/rules/server-cache-react.md +76 -0
  225. package/claude/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  226. package/claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  227. package/claude/skills/react-patterns/SKILL.md +688 -0
  228. package/claude/skills/registry-system/SKILL.md +331 -0
  229. package/claude/skills/scheduled-actions/SKILL.md +671 -0
  230. package/claude/skills/scope-enforcement/SKILL.md +542 -0
  231. package/claude/skills/scope-enforcement/scripts/validate-scope.py +357 -0
  232. package/claude/skills/server-actions/SKILL.md +493 -0
  233. package/claude/skills/service-layer/SKILL.md +587 -0
  234. package/claude/skills/session-management/SKILL.md +266 -0
  235. package/claude/skills/session-management/scripts/create-session.py +166 -0
  236. package/claude/skills/session-management/scripts/iteration-close.sh +105 -0
  237. package/claude/skills/session-management/scripts/iteration-init.sh +180 -0
  238. package/claude/skills/session-management/scripts/session-archive.sh +87 -0
  239. package/claude/skills/session-management/scripts/session-close.sh +133 -0
  240. package/claude/skills/session-management/scripts/session-init.sh +225 -0
  241. package/claude/skills/session-management/scripts/session-list.sh +163 -0
  242. package/claude/skills/session-management/scripts/split-plan.sh +116 -0
  243. package/claude/skills/shadcn-components/SKILL.md +586 -0
  244. package/claude/skills/shadcn-theming/SKILL.md +446 -0
  245. package/claude/skills/suspense-loading/SKILL.md +280 -0
  246. package/claude/skills/tailwind-theming/SKILL.md +507 -0
  247. package/claude/skills/tanstack-query/SKILL.md +608 -0
  248. package/claude/skills/test-coverage/SKILL.md +239 -0
  249. package/claude/skills/web-design-guidelines/SKILL.md +39 -0
  250. package/claude/skills/zod-validation/SKILL.md +537 -0
  251. package/claude/templates/blocks/progress.md +86 -0
  252. package/claude/templates/iteration/changes.md +61 -0
  253. package/claude/templates/iteration/progress.md +55 -0
  254. package/claude/templates/log.md +31 -0
  255. package/claude/templates/story/context.md +77 -0
  256. package/claude/templates/story/pendings.md +37 -0
  257. package/claude/templates/story/plan.md +299 -0
  258. package/claude/templates/story/requirements.md +109 -0
  259. package/claude/templates/story/scope.json +10 -0
  260. package/claude/templates/story/tests.md +91 -0
  261. package/claude/templates/task/progress.md +58 -0
  262. package/claude/templates/task/requirements.md +54 -0
  263. package/claude/workflows/README.md +154 -0
  264. package/claude/workflows/blocks.md +614 -0
  265. package/claude/workflows/story.md +1207 -0
  266. package/claude/workflows/task.md +927 -0
  267. package/claude/workflows/tweak.md +527 -0
  268. package/cursor/.gitkeep +0 -0
  269. package/package.json +35 -0
  270. package/scripts/postinstall.mjs +198 -0
  271. package/scripts/setup.mjs +282 -0
  272. package/scripts/sync.mjs +209 -0
@@ -0,0 +1,467 @@
1
+ ---
2
+ name: github
3
+ description: |
4
+ GitHub workflow patterns for branch management, commits, and pull requests.
5
+ Covers gitflow, branch naming conventions, commit messages, and PR creation.
6
+ Use this skill for any Git/GitHub operations following project conventions.
7
+ allowed-tools: Read, Glob, Grep, Bash
8
+ version: 1.0.0
9
+ ---
10
+
11
+ # GitHub Workflow Skill
12
+
13
+ Git and GitHub workflow patterns with configurable conventions.
14
+
15
+ ## Architecture Overview
16
+
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────────────┐
19
+ │ GITHUB WORKFLOW │
20
+ ├─────────────────────────────────────────────────────────────────┤
21
+ │ │
22
+ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
23
+ │ │ Claude │────►│ github.json │────►│ gh CLI │ │
24
+ │ │ Session │ │ (config) │ │ (commands) │ │
25
+ │ └─────────────┘ └──────────────┘ └──────────────┘ │
26
+ │ │ │ │ │
27
+ │ ▼ ▼ ▼ │
28
+ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
29
+ │ │ Task │ │ Gitflow │ │ GitHub │ │
30
+ │ │ Manager │◄───►│ Branches │────►│ Remote │ │
31
+ │ │ (ClickUp) │ │ │ │ │ │
32
+ │ └─────────────┘ └──────────────┘ └──────────────┘ │
33
+ │ │
34
+ └─────────────────────────────────────────────────────────────────┘
35
+ ```
36
+
37
+ ---
38
+
39
+ ## When to Use This Skill
40
+
41
+ - Creating feature, bugfix, or hotfix branches
42
+ - Making commits with proper conventions
43
+ - Creating pull requests with correct format
44
+ - Promoting code between environments (develop → qa → main)
45
+ - Understanding project's gitflow configuration
46
+
47
+ ---
48
+
49
+ ## Configuration
50
+
51
+ ### Config Files
52
+
53
+ | File | Purpose |
54
+ |------|---------|
55
+ | `.claude/config/github.json` | Git workflow, branches, commits, PRs |
56
+ | `.claude/config/team.json` | Team members, roles, permissions |
57
+ | `.claude/config/workspace.json` | Task manager integration |
58
+
59
+ ### Issue Key Integration
60
+
61
+ The issue key format comes from the task manager configured in `.claude/config/workspace.json`:
62
+
63
+ ```javascript
64
+ // Read task manager provider
65
+ const workspace = await Read('.claude/config/workspace.json')
66
+ const provider = workspace.taskManager.provider // "clickup", "jira", etc.
67
+
68
+ // Issue key formats by provider:
69
+ // - ClickUp: "CU-abc123" or task ID
70
+ // - Jira: "PROJECT-123"
71
+ // - GitHub Issues: "#123"
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Gitflow Configuration
77
+
78
+ ### Default Flow
79
+
80
+ ```
81
+ feature/* ──► develop ──► qa ──► main
82
+
83
+ hotfix/* ─────┴─────────────────► main
84
+ ```
85
+
86
+ ### Environment Branches
87
+
88
+ | Branch | Purpose | Protected By |
89
+ |--------|---------|--------------|
90
+ | `main` | Production | qa |
91
+ | `qa` | QA/Staging | develop |
92
+ | `develop` | Integration | feature branches |
93
+
94
+ ### Configuration Example
95
+
96
+ ```json
97
+ {
98
+ "gitflow": {
99
+ "environments": ["develop", "qa", "main"],
100
+ "featureBranch": {
101
+ "baseBranch": "main",
102
+ "targetBranch": "develop"
103
+ },
104
+ "hotfixBranch": {
105
+ "baseBranch": "main",
106
+ "targetBranch": "main",
107
+ "skipEnvironments": true
108
+ },
109
+ "promotionFlow": {
110
+ "develop": "qa",
111
+ "qa": "main"
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Branch Operations
120
+
121
+ ### Creating a Branch
122
+
123
+ **Step 1: Read Configuration**
124
+
125
+ ```javascript
126
+ const github = await Read('.claude/config/github.json')
127
+ const team = await Read('.claude/config/team.json')
128
+
129
+ // Resolve active user: git config → CLAUDE_USER env → single-member auto
130
+ const gitName = exec('git config user.name')
131
+ const gitEmail = exec('git config user.email')
132
+ let activeUser = team.members.find(m => m.name === gitName || m.email === gitEmail)
133
+ if (!activeUser) {
134
+ const envUser = process.env.CLAUDE_USER
135
+ if (envUser) activeUser = team.members.find(m => m.name === envUser)
136
+ }
137
+ if (!activeUser && team.members.length === 1) activeUser = team.members[0]
138
+ const initials = activeUser.initials // "pc"
139
+
140
+ const branchType = "feature" // or "bugfix", "hotfix", "chore"
141
+ const typeConfig = github.branches.types[branchType]
142
+ const baseBranch = typeConfig.base // "main"
143
+ ```
144
+
145
+ **Step 2: Get Issue Key**
146
+
147
+ ```javascript
148
+ // From active session or ask user
149
+ const issueKey = session.taskId || await AskUser("Issue key?")
150
+ ```
151
+
152
+ **Step 3: Build Branch Name**
153
+
154
+ Pattern: `{type}/{issue-key}-{description}-{initials}`
155
+
156
+ ```bash
157
+ # Example
158
+ git checkout main
159
+ git pull origin main
160
+ git checkout -b feature/CU-abc123-add-user-auth-pc
161
+ ```
162
+
163
+ ### Branch Naming Convention
164
+
165
+ | Component | Required | Example |
166
+ |-----------|----------|---------|
167
+ | Type | Yes | `feature`, `bugfix`, `hotfix`, `chore` |
168
+ | Issue Key | Yes* | `CU-abc123`, `PROJ-456` |
169
+ | Description | Yes | `add-user-auth` (max 4-5 words, hyphens) |
170
+ | Initials | Yes | `pc` (from team config) |
171
+
172
+ *If `commits.requireIssueKey` is false, can be omitted.
173
+
174
+ ### Valid Examples
175
+
176
+ ```
177
+ feature/CU-abc123-add-user-authentication-pc
178
+ bugfix/CU-def456-fix-login-validation-jd
179
+ hotfix/CU-ghi789-critical-security-patch-pc
180
+ chore/CU-jkl012-update-dependencies-jd
181
+ ```
182
+
183
+ ### Invalid Examples
184
+
185
+ ```
186
+ feature/add-auth # Missing issue key and initials
187
+ CU-abc123-new-feature # Missing type prefix
188
+ feature/CU-abc123_add_auth_pc # Underscores instead of hyphens
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Commit Operations
194
+
195
+ ### Commit Message Convention
196
+
197
+ Pattern: `[{issue-key}] {description}`
198
+
199
+ **Step 1: Stage Changes**
200
+
201
+ ```bash
202
+ git add .
203
+ # Or specific files
204
+ git add src/components/Login.tsx
205
+ ```
206
+
207
+ **Step 2: Create Commit**
208
+
209
+ ```bash
210
+ git commit -m "[CU-abc123] Add user authentication form"
211
+ ```
212
+
213
+ ### Suggested Prefixes
214
+
215
+ | Prefix | Use When |
216
+ |--------|----------|
217
+ | Add | New feature or file |
218
+ | Fix | Bug fix |
219
+ | Update | Modifying existing functionality |
220
+ | Refactor | Code restructuring without behavior change |
221
+ | Remove | Deleting code or features |
222
+ | Improve | Performance or UX enhancements |
223
+ | Implement | Completing a feature |
224
+
225
+ ### Valid Examples
226
+
227
+ ```
228
+ [CU-abc123] Add login form validation
229
+ [CU-abc123] Fix password reset flow
230
+ [CU-abc123] Update user profile API endpoint
231
+ [CU-abc123] Refactor authentication middleware
232
+ ```
233
+
234
+ ### Commit Locally by Default
235
+
236
+ **IMPORTANT:** Commits should be LOCAL ONLY unless user explicitly requests push.
237
+
238
+ ```bash
239
+ # Local commit (default)
240
+ git commit -m "[CU-abc123] Add feature"
241
+
242
+ # Push only when requested
243
+ git push origin feature/CU-abc123-add-feature-pc
244
+ ```
245
+
246
+ ---
247
+
248
+ ## Pull Request Operations
249
+
250
+ ### Creating a PR
251
+
252
+ **Step 1: Push Branch**
253
+
254
+ ```bash
255
+ git push -u origin feature/CU-abc123-add-user-auth-pc
256
+ ```
257
+
258
+ **Step 2: Select Reviewer**
259
+
260
+ ```javascript
261
+ // Read team from config
262
+ const team = await Read('.claude/config/team.json')
263
+ const reviewers = team.members.filter(m => m.permissions.canReview)
264
+
265
+ // Present options to user
266
+ const reviewer = await AskUser({
267
+ question: "Who should review this PR?",
268
+ options: reviewers.map(m => ({ label: m.name, value: m.ids.github }))
269
+ })
270
+ ```
271
+
272
+ **Step 3: Create PR**
273
+
274
+ ```bash
275
+ gh pr create \
276
+ --title "[CU-abc123] Add user authentication" \
277
+ --body "## Description
278
+ Add user authentication form with validation.
279
+
280
+ ## Changes
281
+ - Add LoginForm component
282
+ - Add validation schema
283
+ - Add auth API endpoint
284
+
285
+ ## Testing
286
+ - [ ] Test valid login
287
+ - [ ] Test invalid credentials
288
+ - [ ] Test password reset
289
+
290
+ ## Related Issues
291
+ - CU-abc123" \
292
+ --base develop \
293
+ --reviewer "capellopablo"
294
+ ```
295
+
296
+ **Step 4: Share PR Link**
297
+
298
+ ```bash
299
+ PR_URL=$(gh pr view --json url -q .url)
300
+ echo "Pull Request created: $PR_URL"
301
+ ```
302
+
303
+ ### PR Title Convention
304
+
305
+ Pattern: `[{issue-key}] {description}`
306
+
307
+ | Valid | Invalid |
308
+ |-------|---------|
309
+ | `[CU-abc123] Add user auth` | `CU-abc123 - Add auth` |
310
+ | `[PROJ-456] Fix login bug` | `[proj-456] fix login` |
311
+
312
+ ### PR Base Branch
313
+
314
+ | Branch Type | Base Branch |
315
+ |-------------|-------------|
316
+ | feature/* | develop |
317
+ | bugfix/* | develop |
318
+ | hotfix/* | main |
319
+ | chore/* | develop |
320
+
321
+ ---
322
+
323
+ ## Environment Promotion
324
+
325
+ ### Promoting Code Between Environments
326
+
327
+ ```
328
+ develop ──► qa ──► main
329
+ ```
330
+
331
+ **Step 1: Create Promotion PR**
332
+
333
+ ```bash
334
+ # From develop to qa
335
+ gh pr create \
336
+ --title "Promote develop to qa" \
337
+ --body "Environment promotion" \
338
+ --base qa \
339
+ --head develop
340
+
341
+ # From qa to main
342
+ gh pr create \
343
+ --title "Promote qa to main" \
344
+ --body "Environment promotion" \
345
+ --base main \
346
+ --head qa
347
+ ```
348
+
349
+ **Step 2: Merge After Approval**
350
+
351
+ ```bash
352
+ gh pr merge --squash
353
+ ```
354
+
355
+ ---
356
+
357
+ ## Common Commands Reference
358
+
359
+ ### Branch Operations
360
+
361
+ ```bash
362
+ # List branches
363
+ git branch -a
364
+
365
+ # Switch branch
366
+ git checkout develop
367
+
368
+ # Delete local branch
369
+ git branch -d feature/CU-abc123-old-feature-pc
370
+
371
+ # Delete remote branch
372
+ git push origin --delete feature/CU-abc123-old-feature-pc
373
+ ```
374
+
375
+ ### PR Operations
376
+
377
+ ```bash
378
+ # Check PR status
379
+ gh pr status
380
+
381
+ # View PR details
382
+ gh pr view
383
+
384
+ # Add reviewers
385
+ gh pr edit --add-reviewer "username1,username2"
386
+
387
+ # Merge PR
388
+ gh pr merge --squash
389
+
390
+ # Close PR without merging
391
+ gh pr close
392
+ ```
393
+
394
+ ### Commit Operations
395
+
396
+ ```bash
397
+ # View recent commits
398
+ git log --oneline -10
399
+
400
+ # Amend last commit (only if not pushed)
401
+ git commit --amend -m "[CU-abc123] Updated message"
402
+
403
+ # Undo last commit (keep changes)
404
+ git reset --soft HEAD~1
405
+ ```
406
+
407
+ ---
408
+
409
+ ## Decision Tree
410
+
411
+ ```
412
+ ┌─────────────────────────────────────────────────────────────────┐
413
+ │ WHAT DO YOU NEED TO DO? │
414
+ ├─────────────────────────────────────────────────────────────────┤
415
+ │ │
416
+ │ Start new work? │
417
+ │ └─► Create branch from main │
418
+ │ └─► git checkout -b {type}/{issue}-{desc}-{initials} │
419
+ │ │
420
+ │ Save progress? │
421
+ │ └─► Commit locally │
422
+ │ └─► git commit -m "[{issue}] {description}" │
423
+ │ │
424
+ │ Ready for review? │
425
+ │ └─► Push & create PR │
426
+ │ └─► git push -u origin {branch} │
427
+ │ └─► gh pr create --base develop │
428
+ │ │
429
+ │ Urgent fix needed? │
430
+ │ └─► Create hotfix branch from main │
431
+ │ └─► git checkout -b hotfix/{issue}-{desc}-{initials} │
432
+ │ └─► PR directly to main │
433
+ │ │
434
+ │ Promote to next env? │
435
+ │ └─► Create promotion PR │
436
+ │ └─► gh pr create --base {next-env} --head {current-env} │
437
+ │ │
438
+ └─────────────────────────────────────────────────────────────────┘
439
+ ```
440
+
441
+ ---
442
+
443
+ ## Checklist Templates
444
+
445
+ ### Branch Creation Checklist
446
+
447
+ - [ ] On latest main: `git checkout main && git pull`
448
+ - [ ] Branch name follows pattern
449
+ - [ ] Issue key is valid
450
+ - [ ] Description is concise (4-5 words max)
451
+ - [ ] Initials match team config
452
+
453
+ ### Commit Checklist
454
+
455
+ - [ ] Message follows pattern: `[{issue}] {description}`
456
+ - [ ] Description starts with verb (Add, Fix, Update...)
457
+ - [ ] Changes are related to single issue
458
+ - [ ] No secrets or credentials committed
459
+
460
+ ### PR Checklist
461
+
462
+ - [ ] Branch pushed to remote
463
+ - [ ] Title follows pattern
464
+ - [ ] Description filled with changes
465
+ - [ ] Testing steps documented
466
+ - [ ] Reviewer selected
467
+ - [ ] Base branch is correct (develop/main)