@atlashub/smartstack-cli 1.13.2 → 1.14.0

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 (210) hide show
  1. package/.documentation/agents.html +1 -1
  2. package/.documentation/apex.html +1 -1
  3. package/.documentation/business-analyse.html +1 -1
  4. package/.documentation/cli-commands.html +3 -3
  5. package/.documentation/commands.html +1 -1
  6. package/.documentation/efcore.html +1 -1
  7. package/.documentation/gitflow.html +1 -1
  8. package/.documentation/hooks.html +1 -1
  9. package/.documentation/index.html +1 -1
  10. package/.documentation/init.html +3 -3
  11. package/.documentation/installation.html +1001 -352
  12. package/.documentation/ralph-loop.html +1 -1
  13. package/.documentation/test-web.html +1 -1
  14. package/README.md +88 -20
  15. package/dist/index.js +276 -85
  16. package/dist/index.js.map +1 -1
  17. package/package.json +1 -1
  18. package/templates/agents/code-reviewer.md +163 -0
  19. package/templates/agents/efcore/db-deploy.md +25 -7
  20. package/templates/agents/efcore/db-reset.md +31 -10
  21. package/templates/agents/efcore/db-status.md +22 -5
  22. package/templates/agents/efcore/migration.md +69 -19
  23. package/templates/agents/gitflow/cleanup.md +8 -1
  24. package/templates/agents/gitflow/commit.md +7 -5
  25. package/templates/agents/gitflow/finish.md +6 -4
  26. package/templates/agents/gitflow/pr.md +8 -1
  27. package/templates/agents/gitflow/start.md +1 -1
  28. package/templates/commands/check-version.md +267 -0
  29. package/templates/commands/efcore/_shared.md +30 -1
  30. package/templates/commands/efcore/db-reset.md +18 -6
  31. package/templates/commands/gitflow/OPTIMIZATIONS.md +206 -0
  32. package/templates/commands/refactor.md +164 -0
  33. package/templates/project/DependencyInjection.Application.cs.template +25 -0
  34. package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
  35. package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
  36. package/templates/project/ExampleEntity.cs.template +116 -0
  37. package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
  38. package/templates/project/ExampleService.cs.template +146 -0
  39. package/templates/project/ExtensionsDbContext.cs.template +41 -0
  40. package/templates/project/IExtensionsDbContext.cs.template +22 -0
  41. package/templates/project/Program.cs.template +47 -0
  42. package/templates/project/README.md +79 -0
  43. package/templates/ralph/README.md +10 -8
  44. package/templates/ralph/ralph.config.yaml +2 -2
  45. package/templates/skills/_shared.md +44 -44
  46. package/templates/skills/ai-prompt/SKILL.md +55 -55
  47. package/templates/skills/apex/SKILL.md +235 -0
  48. package/templates/skills/apex/steps/step-00-init.md +203 -0
  49. package/templates/skills/apex/steps/step-01-analyze.md +210 -0
  50. package/templates/skills/apex/steps/step-02-plan.md +217 -0
  51. package/templates/skills/apex/steps/step-03-execute.md +178 -0
  52. package/templates/skills/apex/steps/step-04-validate.md +217 -0
  53. package/templates/skills/apex/steps/step-05-examine.md +207 -0
  54. package/templates/skills/apex/steps/step-06-resolve.md +181 -0
  55. package/templates/skills/apex/steps/step-07-tests.md +206 -0
  56. package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
  57. package/templates/skills/apex/templates/00-context.md +46 -0
  58. package/templates/skills/apex/templates/01-analyze.md +63 -0
  59. package/templates/skills/apex/templates/02-plan.md +63 -0
  60. package/templates/skills/apex/templates/03-execute.md +34 -0
  61. package/templates/skills/apex/templates/04-validate.md +61 -0
  62. package/templates/skills/apex/templates/05-examine.md +58 -0
  63. package/templates/skills/apex/templates/06-resolve.md +39 -0
  64. package/templates/skills/apex/templates/07-tests.md +56 -0
  65. package/templates/skills/apex/templates/08-run-tests.md +41 -0
  66. package/templates/skills/apex/templates/README.md +69 -0
  67. package/templates/skills/application/SKILL.md +50 -50
  68. package/templates/skills/application/templates-backend.md +25 -25
  69. package/templates/skills/application/templates-frontend.md +43 -43
  70. package/templates/skills/application/templates-i18n.md +29 -29
  71. package/templates/skills/application/templates-seed.md +77 -77
  72. package/templates/skills/business-analyse/SKILL.md +223 -0
  73. package/templates/skills/business-analyse/_shared.md +258 -0
  74. package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
  75. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
  76. package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
  77. package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
  78. package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
  79. package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
  80. package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
  81. package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
  82. package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
  83. package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
  84. package/templates/skills/business-analyse/questionnaire.md +177 -177
  85. package/templates/skills/business-analyse/react/components.md +340 -0
  86. package/templates/skills/business-analyse/react/i18n-template.md +245 -0
  87. package/templates/skills/business-analyse/react/schema.md +151 -0
  88. package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
  89. package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
  90. package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
  91. package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
  92. package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
  93. package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
  94. package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
  95. package/templates/skills/business-analyse/templates/00-context.md +105 -0
  96. package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
  97. package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
  98. package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
  99. package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
  100. package/templates/skills/business-analyse/templates-frd.md +217 -217
  101. package/templates/skills/business-analyse/templates-react.md +26 -26
  102. package/templates/skills/controller/SKILL.md +141 -92
  103. package/templates/skills/controller/postman-templates.md +15 -15
  104. package/templates/skills/controller/steps/step-00-init.md +191 -0
  105. package/templates/skills/controller/steps/step-01-analyze.md +146 -0
  106. package/templates/skills/controller/steps/step-02-plan.md +176 -0
  107. package/templates/skills/controller/steps/step-03-generate.md +219 -0
  108. package/templates/skills/controller/steps/step-04-perms.md +219 -0
  109. package/templates/skills/controller/steps/step-05-validate.md +107 -0
  110. package/templates/skills/controller/templates.md +77 -77
  111. package/templates/skills/documentation/SKILL.md +79 -79
  112. package/templates/skills/feature-full/SKILL.md +38 -38
  113. package/templates/skills/gitflow/SKILL.md +277 -0
  114. package/templates/{commands → skills}/gitflow/_shared.md +20 -20
  115. package/templates/skills/gitflow/phases/abort.md +173 -0
  116. package/templates/skills/gitflow/phases/cleanup.md +226 -0
  117. package/templates/skills/gitflow/phases/status.md +178 -0
  118. package/templates/skills/gitflow/steps/step-commit.md +255 -0
  119. package/templates/skills/gitflow/steps/step-finish.md +255 -0
  120. package/templates/skills/gitflow/steps/step-init.md +209 -0
  121. package/templates/skills/gitflow/steps/step-merge.md +225 -0
  122. package/templates/skills/gitflow/steps/step-plan.md +208 -0
  123. package/templates/skills/gitflow/steps/step-pr.md +235 -0
  124. package/templates/skills/gitflow/steps/step-start.md +234 -0
  125. package/templates/skills/gitflow/steps/step-sync.md +200 -0
  126. package/templates/skills/gitflow/templates/config.json +53 -0
  127. package/templates/skills/notification/SKILL.md +51 -51
  128. package/templates/skills/ralph-loop/SKILL.md +228 -0
  129. package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
  130. package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
  131. package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
  132. package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
  133. package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
  134. package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
  135. package/templates/skills/review-code/SKILL.md +219 -0
  136. package/templates/skills/review-code/references/clean-code-principles.md +140 -0
  137. package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
  138. package/templates/skills/review-code/references/feedback-patterns.md +149 -0
  139. package/templates/skills/review-code/references/security-checklist.md +127 -0
  140. package/templates/skills/ui-components/SKILL.md +54 -54
  141. package/templates/skills/workflow/SKILL.md +46 -46
  142. package/templates/commands/ai-prompt.md +0 -315
  143. package/templates/commands/apex/1-analyze.md +0 -100
  144. package/templates/commands/apex/2-plan.md +0 -145
  145. package/templates/commands/apex/3-execute.md +0 -171
  146. package/templates/commands/apex/4-examine.md +0 -116
  147. package/templates/commands/apex/5-tasks.md +0 -209
  148. package/templates/commands/apex.md +0 -76
  149. package/templates/commands/application/create.md +0 -362
  150. package/templates/commands/application/templates-backend.md +0 -463
  151. package/templates/commands/application/templates-frontend.md +0 -517
  152. package/templates/commands/application/templates-i18n.md +0 -478
  153. package/templates/commands/application/templates-seed.md +0 -362
  154. package/templates/commands/application.md +0 -303
  155. package/templates/commands/business-analyse/0-orchestrate.md +0 -156
  156. package/templates/commands/business-analyse/1-init.md +0 -99
  157. package/templates/commands/business-analyse/2-discover.md +0 -143
  158. package/templates/commands/business-analyse/3-analyse.md +0 -106
  159. package/templates/commands/business-analyse/4-specify.md +0 -133
  160. package/templates/commands/business-analyse/5-validate.md +0 -132
  161. package/templates/commands/business-analyse/6-handoff.md +0 -157
  162. package/templates/commands/business-analyse/7-doc-html.md +0 -103
  163. package/templates/commands/business-analyse/_shared.md +0 -176
  164. package/templates/commands/business-analyse/bug.md +0 -118
  165. package/templates/commands/business-analyse/change-request.md +0 -144
  166. package/templates/commands/business-analyse/hotfix.md +0 -116
  167. package/templates/commands/business-analyse.md +0 -121
  168. package/templates/commands/controller/create.md +0 -216
  169. package/templates/commands/controller/postman-templates.md +0 -528
  170. package/templates/commands/controller/templates.md +0 -600
  171. package/templates/commands/controller.md +0 -337
  172. package/templates/commands/create/agent.md +0 -138
  173. package/templates/commands/create/command.md +0 -166
  174. package/templates/commands/create/hook.md +0 -234
  175. package/templates/commands/create/plugin.md +0 -329
  176. package/templates/commands/create/project.md +0 -508
  177. package/templates/commands/create/skill.md +0 -199
  178. package/templates/commands/create.md +0 -220
  179. package/templates/commands/documentation/module.md +0 -202
  180. package/templates/commands/documentation/templates.md +0 -432
  181. package/templates/commands/documentation.md +0 -190
  182. package/templates/commands/epct.md +0 -69
  183. package/templates/commands/explain.md +0 -186
  184. package/templates/commands/feature-full.md +0 -267
  185. package/templates/commands/gitflow/1-init.md +0 -188
  186. package/templates/commands/gitflow/10-start.md +0 -190
  187. package/templates/commands/gitflow/11-finish.md +0 -382
  188. package/templates/commands/gitflow/12-cleanup.md +0 -103
  189. package/templates/commands/gitflow/13-sync.md +0 -216
  190. package/templates/commands/gitflow/14-rebase.md +0 -251
  191. package/templates/commands/gitflow/2-status.md +0 -122
  192. package/templates/commands/gitflow/3-commit.md +0 -209
  193. package/templates/commands/gitflow/4-plan.md +0 -174
  194. package/templates/commands/gitflow/5-exec.md +0 -202
  195. package/templates/commands/gitflow/6-abort.md +0 -121
  196. package/templates/commands/gitflow/7-pull-request.md +0 -176
  197. package/templates/commands/gitflow/8-review.md +0 -113
  198. package/templates/commands/gitflow/9-merge.md +0 -157
  199. package/templates/commands/gitflow.md +0 -128
  200. package/templates/commands/implement.md +0 -663
  201. package/templates/commands/init.md +0 -567
  202. package/templates/commands/mcp-integration.md +0 -330
  203. package/templates/commands/notification.md +0 -129
  204. package/templates/commands/oneshot.md +0 -57
  205. package/templates/commands/quickstart.md +0 -154
  206. package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
  207. package/templates/commands/ralph-loop/help.md +0 -126
  208. package/templates/commands/ralph-loop/ralph-loop.md +0 -120
  209. package/templates/commands/review.md +0 -106
  210. package/templates/commands/workflow.md +0 -193
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: abort
3
+ description: Rollback and recovery operations
4
+ ---
5
+
6
+ # Phase: ABORT - Rollback & Recovery
7
+
8
+ ## YOUR TASK:
9
+
10
+ Provide rollback and recovery options for GitFlow operations.
11
+
12
+ ---
13
+
14
+ ## OPTIONS:
15
+
16
+ ```yaml
17
+ AskUserQuestion:
18
+ header: "Recovery"
19
+ question: "What do you want to abort/rollback?"
20
+ options:
21
+ - label: "Abort current merge/rebase"
22
+ description: "Cancel in-progress git operation"
23
+ - label: "Abandon current branch"
24
+ description: "Delete branch and worktree, return to develop"
25
+ - label: "Restore from checkpoint"
26
+ description: "Restore to a saved checkpoint"
27
+ - label: "Reset branch to remote"
28
+ description: "Discard local changes, match remote"
29
+ ```
30
+
31
+ ---
32
+
33
+ ## EXECUTION:
34
+
35
+ ### Option 1: Abort Merge/Rebase
36
+
37
+ ```bash
38
+ # Check for in-progress operations
39
+ if [ -d ".git/rebase-merge" ] || [ -d ".git/rebase-apply" ]; then
40
+ echo "Aborting rebase..."
41
+ git rebase --abort
42
+ elif [ -f ".git/MERGE_HEAD" ]; then
43
+ echo "Aborting merge..."
44
+ git merge --abort
45
+ elif [ -f ".git/CHERRY_PICK_HEAD" ]; then
46
+ echo "Aborting cherry-pick..."
47
+ git cherry-pick --abort
48
+ else
49
+ echo "No operation in progress"
50
+ fi
51
+ ```
52
+
53
+ ### Option 2: Abandon Branch
54
+
55
+ ```bash
56
+ CURRENT=$(git rev-parse --abbrev-ref HEAD)
57
+ BRANCH_TYPE=$(echo $CURRENT | cut -d'/' -f1)
58
+
59
+ # Confirm
60
+ echo "⚠️ This will delete branch $CURRENT and its worktree"
61
+ echo "All uncommitted changes will be LOST"
62
+
63
+ # Find worktree
64
+ WORKTREE=$(git worktree list | grep "$CURRENT" | awk '{print $1}')
65
+
66
+ # Create backup tag
67
+ BACKUP_TAG="backup/$CURRENT-$(date +%Y%m%d-%H%M%S)"
68
+ git tag "$BACKUP_TAG" HEAD
69
+ echo "✓ Backup created: $BACKUP_TAG"
70
+
71
+ # Switch to develop
72
+ git checkout develop
73
+
74
+ # Remove worktree
75
+ [ -n "$WORKTREE" ] && {
76
+ git worktree remove "$WORKTREE" --force
77
+ git worktree prune
78
+ }
79
+
80
+ # Delete branch
81
+ git branch -D "$CURRENT"
82
+ git push origin --delete "$CURRENT" 2>/dev/null
83
+
84
+ echo "✓ Branch $CURRENT abandoned"
85
+ echo " Backup: $BACKUP_TAG (use 'git checkout $BACKUP_TAG' to recover)"
86
+ ```
87
+
88
+ ### Option 3: Restore from Checkpoint
89
+
90
+ ```bash
91
+ # List available checkpoints
92
+ CHECKPOINTS=$(ls -t .claude/gitflow/logs/checkpoint_*.json 2>/dev/null)
93
+
94
+ if [ -z "$CHECKPOINTS" ]; then
95
+ echo "No checkpoints found"
96
+ exit 1
97
+ fi
98
+
99
+ echo "Available checkpoints:"
100
+ for cp in $CHECKPOINTS; do
101
+ TIMESTAMP=$(grep -oP '"timestamp":\s*"\K[^"]+' "$cp")
102
+ BRANCH=$(grep -oP '"branch":\s*"\K[^"]+' "$cp")
103
+ COMMIT=$(grep -oP '"commit":\s*"\K[^"]+' "$cp")
104
+ echo " - $TIMESTAMP: $BRANCH @ $COMMIT"
105
+ done
106
+
107
+ # Select checkpoint
108
+ # ... user selection ...
109
+
110
+ # Restore
111
+ COMMIT=$(grep -oP '"commit":\s*"\K[^"]+' "$SELECTED_CHECKPOINT")
112
+ git reset --hard "$COMMIT"
113
+ echo "✓ Restored to $COMMIT"
114
+ ```
115
+
116
+ ### Option 4: Reset to Remote
117
+
118
+ ```bash
119
+ CURRENT=$(git rev-parse --abbrev-ref HEAD)
120
+
121
+ # Check for local changes
122
+ CHANGES=$(git status --porcelain | wc -l)
123
+ [ "$CHANGES" -gt 0 ] && {
124
+ echo "⚠️ $CHANGES uncommitted changes will be LOST"
125
+ # Confirm
126
+ }
127
+
128
+ # Stash as backup
129
+ git stash push -m "abort-backup-$(date +%s)" --include-untracked
130
+
131
+ # Reset to remote
132
+ git fetch origin
133
+ git reset --hard "origin/$CURRENT"
134
+
135
+ echo "✓ Reset to origin/$CURRENT"
136
+ echo " Backup in stash (use 'git stash list' to see)"
137
+ ```
138
+
139
+ ---
140
+
141
+ ## SAFETY FEATURES:
142
+
143
+ 1. **Backup tag** created before destructive operations
144
+ 2. **Stash backup** before reset
145
+ 3. **Checkpoint restore** for plan execution
146
+ 4. **Confirmation required** for destructive actions
147
+
148
+ ---
149
+
150
+ ## RECOVERY COMMANDS:
151
+
152
+ ```bash
153
+ # List backup tags
154
+ git tag | grep "^backup/"
155
+
156
+ # Recover from backup
157
+ git checkout backup/{branch-name}
158
+ git checkout -b {new-branch-name}
159
+
160
+ # List stashes
161
+ git stash list
162
+
163
+ # Recover from stash
164
+ git stash pop
165
+ ```
166
+
167
+ ---
168
+
169
+ ## SUCCESS CRITERIA:
170
+
171
+ - Operation aborted cleanly
172
+ - Backup created before destructive action
173
+ - User returned to safe state (develop/main)
@@ -0,0 +1,226 @@
1
+ ---
2
+ name: cleanup
3
+ description: Audit and remove orphan worktrees and branches
4
+ ---
5
+
6
+ # Phase: CLEANUP - Maintenance
7
+
8
+ ## YOUR TASK:
9
+
10
+ Audit worktrees and branches, remove orphaned/stale items.
11
+
12
+ **IMPORTANT:** Must be run from main or develop branch.
13
+
14
+ ---
15
+
16
+ ## PRE-CHECK:
17
+
18
+ ```bash
19
+ CURRENT=$(git rev-parse --abbrev-ref HEAD)
20
+
21
+ [[ "$CURRENT" != "main" ]] && [[ "$CURRENT" != "develop" ]] && {
22
+ echo "❌ Cleanup must be run from main or develop"
23
+ echo " Current branch: $CURRENT"
24
+ echo "→ Run: git checkout develop"
25
+ STOP
26
+ }
27
+ ```
28
+
29
+ ---
30
+
31
+ ## EXECUTION:
32
+
33
+ ### 1. Audit Worktrees
34
+
35
+ ```bash
36
+ echo "Scanning worktrees..."
37
+
38
+ git worktree list > /tmp/worktrees.txt
39
+
40
+ ORPHANED=()
41
+ STALE=()
42
+ VALID=()
43
+
44
+ while read -r line; do
45
+ WT_PATH=$(echo "$line" | awk '{print $1}')
46
+ WT_COMMIT=$(echo "$line" | awk '{print $2}')
47
+ WT_BRANCH=$(echo "$line" | awk '{print $3}' | tr -d '[]')
48
+
49
+ # Check if path exists
50
+ if [ ! -d "$WT_PATH" ]; then
51
+ ORPHANED+=("$WT_PATH:$WT_BRANCH")
52
+ continue
53
+ fi
54
+
55
+ # Check if branch still exists on remote
56
+ REMOTE_EXISTS=$(git branch -r --list "origin/$WT_BRANCH" | wc -l)
57
+ if [ "$REMOTE_EXISTS" -eq 0 ] && [[ "$WT_BRANCH" != "main" ]] && [[ "$WT_BRANCH" != "develop" ]]; then
58
+ STALE+=("$WT_PATH:$WT_BRANCH")
59
+ continue
60
+ fi
61
+
62
+ VALID+=("$WT_PATH:$WT_BRANCH")
63
+ done < /tmp/worktrees.txt
64
+ ```
65
+
66
+ ### 2. Audit Local Branches
67
+
68
+ ```bash
69
+ echo "Scanning local branches..."
70
+
71
+ MERGED_BRANCHES=()
72
+ UNMERGED_BRANCHES=()
73
+
74
+ # Find merged branches
75
+ for branch in $(git branch --merged develop | grep -v "^\*" | grep -v "main" | grep -v "develop"); do
76
+ # Check if remote exists
77
+ REMOTE_EXISTS=$(git branch -r --list "origin/$branch" | wc -l)
78
+ [ "$REMOTE_EXISTS" -eq 0 ] && MERGED_BRANCHES+=("$branch")
79
+ done
80
+
81
+ # Find branches without remote
82
+ for branch in $(git branch | grep -v "^\*" | grep -v "main" | grep -v "develop"); do
83
+ REMOTE_EXISTS=$(git branch -r --list "origin/$branch" | wc -l)
84
+ [ "$REMOTE_EXISTS" -eq 0 ] && {
85
+ MERGED=$(git branch --merged develop | grep -c "$branch")
86
+ [ "$MERGED" -eq 0 ] && UNMERGED_BRANCHES+=("$branch")
87
+ }
88
+ done
89
+ ```
90
+
91
+ ### 3. Display Audit Results
92
+
93
+ ```
94
+ ╔══════════════════════════════════════════════════════════════════╗
95
+ ║ CLEANUP AUDIT ║
96
+ ╠══════════════════════════════════════════════════════════════════╣
97
+
98
+ ## Worktrees
99
+
100
+ | Status | Count |
101
+ |--------|-------|
102
+ | Valid | {#VALID} |
103
+ | Orphaned | {#ORPHANED} |
104
+ | Stale | {#STALE} |
105
+
106
+ {if ORPHANED}
107
+ ### Orphaned Worktrees (path missing)
108
+ {list with paths}
109
+ {endif}
110
+
111
+ {if STALE}
112
+ ### Stale Worktrees (remote deleted)
113
+ {list with paths and branches}
114
+ {endif}
115
+
116
+ ## Local Branches
117
+
118
+ | Status | Count |
119
+ |--------|-------|
120
+ | Merged (safe to delete) | {#MERGED_BRANCHES} |
121
+ | Unmerged (caution) | {#UNMERGED_BRANCHES} |
122
+
123
+ {if MERGED_BRANCHES}
124
+ ### Merged Branches
125
+ {list}
126
+ {endif}
127
+
128
+ {if UNMERGED_BRANCHES}
129
+ ### Unmerged Branches ⚠️
130
+ {list}
131
+ {endif}
132
+
133
+ ╚══════════════════════════════════════════════════════════════════╝
134
+ ```
135
+
136
+ ### 4. Cleanup Actions
137
+
138
+ ```yaml
139
+ AskUserQuestion:
140
+ header: "Cleanup"
141
+ question: "What do you want to clean?"
142
+ options:
143
+ - label: "All safe items (Recommended)"
144
+ description: "Orphaned worktrees + merged branches"
145
+ - label: "Worktrees only"
146
+ description: "Remove orphaned and stale worktrees"
147
+ - label: "Branches only"
148
+ description: "Delete merged local branches"
149
+ - label: "Nothing (dry run)"
150
+ description: "Just show what would be cleaned"
151
+ multiSelect: false
152
+ ```
153
+
154
+ ### 5. Execute Cleanup
155
+
156
+ **Worktrees:**
157
+ ```bash
158
+ # Remove orphaned
159
+ for item in "${ORPHANED[@]}"; do
160
+ WT_PATH=$(echo "$item" | cut -d':' -f1)
161
+ git worktree remove "$WT_PATH" --force 2>/dev/null || rm -rf "$WT_PATH"
162
+ done
163
+
164
+ # Prune
165
+ git worktree prune
166
+
167
+ # Remove stale
168
+ for item in "${STALE[@]}"; do
169
+ WT_PATH=$(echo "$item" | cut -d':' -f1)
170
+ WT_BRANCH=$(echo "$item" | cut -d':' -f2)
171
+
172
+ git worktree remove "$WT_PATH" --force 2>/dev/null || rm -rf "$WT_PATH"
173
+ git branch -D "$WT_BRANCH" 2>/dev/null
174
+ done
175
+ ```
176
+
177
+ **Branches:**
178
+ ```bash
179
+ # Delete merged branches
180
+ for branch in "${MERGED_BRANCHES[@]}"; do
181
+ git branch -d "$branch"
182
+ done
183
+ ```
184
+
185
+ ### 6. Summary
186
+
187
+ ```
188
+ ╔══════════════════════════════════════════════════════════════════╗
189
+ ║ CLEANUP COMPLETE ║
190
+ ╠══════════════════════════════════════════════════════════════════╣
191
+ ║ Worktrees removed: {count} ║
192
+ ║ Branches deleted: {count} ║
193
+ ╠══════════════════════════════════════════════════════════════════╣
194
+ ║ Remaining worktrees: {count} ║
195
+ ║ Remaining branches: {count} ║
196
+ ╚══════════════════════════════════════════════════════════════════╝
197
+ ```
198
+
199
+ ---
200
+
201
+ ## DRY RUN MODE:
202
+
203
+ ```bash
204
+ # With --dry-run flag
205
+ echo "DRY RUN - No changes will be made"
206
+ echo ""
207
+ echo "Would remove worktrees:"
208
+ for item in "${ORPHANED[@]}" "${STALE[@]}"; do
209
+ echo " - $item"
210
+ done
211
+ echo ""
212
+ echo "Would delete branches:"
213
+ for branch in "${MERGED_BRANCHES[@]}"; do
214
+ echo " - $branch"
215
+ done
216
+ ```
217
+
218
+ ---
219
+
220
+ ## SUCCESS CRITERIA:
221
+
222
+ - Audit completed
223
+ - Orphaned worktrees removed
224
+ - Stale worktrees removed
225
+ - Merged branches deleted
226
+ - Summary displayed
@@ -0,0 +1,178 @@
1
+ ---
2
+ name: status
3
+ description: Complete GitFlow state diagnostic
4
+ ---
5
+
6
+ # Phase: STATUS - Diagnostic
7
+
8
+ ## YOUR TASK:
9
+
10
+ Display complete GitFlow state including branches, worktrees, remotes, and pending work.
11
+
12
+ ---
13
+
14
+ ## EXECUTION:
15
+
16
+ ### 1. Repository Info
17
+
18
+ ```bash
19
+ REPO_NAME=$(basename $(git rev-parse --show-toplevel))
20
+ CURRENT=$(git rev-parse --abbrev-ref HEAD)
21
+ REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "No remote")
22
+
23
+ # Detect provider
24
+ [[ "$REMOTE_URL" == *"github.com"* ]] && GIT_PROVIDER="GitHub"
25
+ [[ "$REMOTE_URL" == *"dev.azure.com"* ]] && GIT_PROVIDER="Azure DevOps"
26
+ ```
27
+
28
+ ### 2. Branch Status
29
+
30
+ ```bash
31
+ git fetch origin --quiet
32
+
33
+ # Main branches
34
+ MAIN_LOCAL=$(git rev-parse --short main 2>/dev/null || echo "N/A")
35
+ MAIN_REMOTE=$(git rev-parse --short origin/main 2>/dev/null || echo "N/A")
36
+ DEVELOP_LOCAL=$(git rev-parse --short develop 2>/dev/null || echo "N/A")
37
+ DEVELOP_REMOTE=$(git rev-parse --short origin/develop 2>/dev/null || echo "N/A")
38
+
39
+ # Divergence
40
+ DEVELOP_AHEAD=$(git rev-list --count origin/main..origin/develop 2>/dev/null || echo "0")
41
+ ```
42
+
43
+ ### 3. Active Branches
44
+
45
+ ```bash
46
+ # Feature branches
47
+ FEATURES=$(git branch -r | grep "origin/feature/" | sed 's/origin\///')
48
+
49
+ # Release branches
50
+ RELEASES=$(git branch -r | grep "origin/release/" | sed 's/origin\///')
51
+
52
+ # Hotfix branches
53
+ HOTFIXES=$(git branch -r | grep "origin/hotfix/" | sed 's/origin\///')
54
+ ```
55
+
56
+ ### 4. Worktree Status
57
+
58
+ ```bash
59
+ WORKTREES=$(git worktree list)
60
+ WORKTREE_COUNT=$(echo "$WORKTREES" | wc -l)
61
+
62
+ # Check for orphaned worktrees
63
+ ORPHANED=""
64
+ while read -r line; do
65
+ PATH=$(echo "$line" | awk '{print $1}')
66
+ BRANCH=$(echo "$line" | awk '{print $3}' | tr -d '[]')
67
+ [ ! -d "$PATH" ] && ORPHANED="$ORPHANED\n$PATH ($BRANCH)"
68
+ done <<< "$WORKTREES"
69
+ ```
70
+
71
+ ### 5. Pending Changes
72
+
73
+ ```bash
74
+ # Current branch changes
75
+ STAGED=$(git diff --cached --name-only | wc -l)
76
+ MODIFIED=$(git diff --name-only | wc -l)
77
+ UNTRACKED=$(git ls-files --others --exclude-standard | wc -l)
78
+
79
+ # Unpushed commits
80
+ UNPUSHED=$(git rev-list --count origin/$CURRENT..HEAD 2>/dev/null || echo "0")
81
+ ```
82
+
83
+ ### 6. EF Core Status
84
+
85
+ ```bash
86
+ # Check for migrations
87
+ MIGRATIONS=$(find . -path "*/Migrations/*.cs" -not -name "*Designer*" -not -name "*Snapshot*" 2>/dev/null | wc -l)
88
+
89
+ # Check migration status
90
+ if command -v dotnet &> /dev/null; then
91
+ PENDING=$(dotnet ef migrations list 2>/dev/null | grep -c "(Pending)" || echo "0")
92
+ fi
93
+ ```
94
+
95
+ ### 7. Display Status
96
+
97
+ ```
98
+ ╔══════════════════════════════════════════════════════════════════╗
99
+ ║ GITFLOW STATUS ║
100
+ ╠══════════════════════════════════════════════════════════════════╣
101
+ ║ Repository: {REPO_NAME} ║
102
+ ║ Provider: {GIT_PROVIDER} ║
103
+ ║ Current: {CURRENT} ║
104
+ ╠══════════════════════════════════════════════════════════════════╣
105
+
106
+ ## Main Branches
107
+
108
+ | Branch | Local | Remote | Status |
109
+ |--------|-------|--------|--------|
110
+ | main | {MAIN_LOCAL} | {MAIN_REMOTE} | {synced/diverged} |
111
+ | develop | {DEVELOP_LOCAL} | {DEVELOP_REMOTE} | {synced/diverged} |
112
+
113
+ develop → main: {DEVELOP_AHEAD} commits {DEVELOP_AHEAD > 10 ? "⚠️ Release recommended" : ""}
114
+
115
+ ## Active Branches
116
+
117
+ **Features:** {count}
118
+ {list of feature branches with status}
119
+
120
+ **Releases:** {count}
121
+ {list of release branches}
122
+
123
+ **Hotfixes:** {count}
124
+ {list of hotfix branches}
125
+
126
+ ## Worktrees
127
+
128
+ | Path | Branch | Status |
129
+ |------|--------|--------|
130
+ {worktree list with status}
131
+
132
+ {if orphaned}
133
+ ⚠️ Orphaned worktrees detected:
134
+ {list}
135
+ → Run: /gitflow cleanup
136
+ {endif}
137
+
138
+ ## Working Directory
139
+
140
+ | Type | Count |
141
+ |------|-------|
142
+ | Staged | {STAGED} |
143
+ | Modified | {MODIFIED} |
144
+ | Untracked | {UNTRACKED} |
145
+ | Unpushed | {UNPUSHED} |
146
+
147
+ ## EF Core
148
+
149
+ | Metric | Value |
150
+ |--------|-------|
151
+ | Migrations | {MIGRATIONS} |
152
+ | Pending | {PENDING} |
153
+
154
+ ╚══════════════════════════════════════════════════════════════════╝
155
+
156
+ ## Recommended Actions
157
+
158
+ {if UNPUSHED > 0}
159
+ - Push commits: /gitflow sync
160
+ {endif}
161
+ {if DEVELOP_AHEAD > 10}
162
+ - Create release: /gitflow start release
163
+ {endif}
164
+ {if ORPHANED}
165
+ - Clean worktrees: /gitflow cleanup
166
+ {endif}
167
+ {if STAGED + MODIFIED > 0}
168
+ - Commit changes: /gitflow commit
169
+ {endif}
170
+ ```
171
+
172
+ ---
173
+
174
+ ## SUCCESS CRITERIA:
175
+
176
+ - Complete state displayed
177
+ - Recommendations provided
178
+ - No actions taken (diagnostic only)