@atlashub/smartstack-cli 1.5.1 → 1.5.3
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.
- package/.documentation/css/styles.css +2168 -2168
- package/.documentation/js/app.js +794 -794
- package/config/default-config.json +86 -86
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -1
- package/package.json +88 -88
- package/templates/agents/action.md +36 -36
- package/templates/agents/efcore/conflicts.md +84 -84
- package/templates/agents/efcore/db-deploy.md +51 -51
- package/templates/agents/efcore/db-reset.md +59 -59
- package/templates/agents/efcore/db-seed.md +56 -56
- package/templates/agents/efcore/db-status.md +64 -64
- package/templates/agents/efcore/migration.md +85 -85
- package/templates/agents/efcore/rebase-snapshot.md +62 -62
- package/templates/agents/efcore/scan.md +90 -90
- package/templates/agents/efcore/squash.md +67 -67
- package/templates/agents/explore-codebase.md +65 -65
- package/templates/agents/explore-docs.md +97 -97
- package/templates/agents/fix-grammar.md +49 -49
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +85 -85
- package/templates/agents/gitflow/commit.md +40 -40
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +92 -92
- package/templates/agents/gitflow/init.md +139 -139
- package/templates/agents/gitflow/merge.md +62 -62
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +78 -78
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +61 -61
- package/templates/agents/gitflow/status.md +32 -32
- package/templates/agents/snipper.md +36 -36
- package/templates/agents/websearch.md +46 -46
- package/templates/commands/_resources/formatting-guide.md +124 -124
- package/templates/commands/ai-prompt.md +315 -315
- package/templates/commands/apex/1-analyze.md +100 -100
- package/templates/commands/apex/2-plan.md +145 -145
- package/templates/commands/apex/3-execute.md +171 -171
- package/templates/commands/apex/4-examine.md +116 -116
- package/templates/commands/apex/5-tasks.md +209 -209
- package/templates/commands/apex.md +76 -76
- package/templates/commands/application/create.md +362 -362
- package/templates/commands/application/templates-backend.md +463 -463
- package/templates/commands/application/templates-frontend.md +517 -517
- package/templates/commands/application/templates-i18n.md +478 -478
- package/templates/commands/application/templates-seed.md +362 -362
- package/templates/commands/application.md +303 -303
- package/templates/commands/business-analyse/0-orchestrate.md +640 -640
- package/templates/commands/business-analyse/1-init.md +269 -269
- package/templates/commands/business-analyse/2-discover.md +520 -520
- package/templates/commands/business-analyse/3-analyse.md +408 -408
- package/templates/commands/business-analyse/4-specify.md +598 -598
- package/templates/commands/business-analyse/5-validate.md +326 -326
- package/templates/commands/business-analyse/6-handoff.md +746 -746
- package/templates/commands/business-analyse/7-doc-html.md +602 -602
- package/templates/commands/business-analyse/bug.md +325 -325
- package/templates/commands/business-analyse/change-request.md +368 -368
- package/templates/commands/business-analyse/hotfix.md +200 -200
- package/templates/commands/business-analyse.md +640 -640
- package/templates/commands/controller/create.md +216 -216
- package/templates/commands/controller/postman-templates.md +528 -528
- package/templates/commands/controller/templates.md +600 -600
- package/templates/commands/controller.md +337 -337
- package/templates/commands/create/agent.md +138 -138
- package/templates/commands/create/command.md +166 -166
- package/templates/commands/create/hook.md +234 -234
- package/templates/commands/create/plugin.md +329 -329
- package/templates/commands/create/project.md +507 -507
- package/templates/commands/create/skill.md +199 -199
- package/templates/commands/create.md +220 -220
- package/templates/commands/debug.md +95 -95
- package/templates/commands/documentation/module.md +202 -202
- package/templates/commands/documentation/templates.md +432 -432
- package/templates/commands/documentation.md +190 -190
- package/templates/commands/efcore/_env-check.md +153 -153
- package/templates/commands/efcore/conflicts.md +186 -186
- package/templates/commands/efcore/db-deploy.md +193 -193
- package/templates/commands/efcore/db-reset.md +426 -426
- package/templates/commands/efcore/db-seed.md +326 -326
- package/templates/commands/efcore/db-status.md +226 -226
- package/templates/commands/efcore/migration.md +400 -400
- package/templates/commands/efcore/rebase-snapshot.md +264 -264
- package/templates/commands/efcore/scan.md +198 -198
- package/templates/commands/efcore/squash.md +298 -298
- package/templates/commands/efcore.md +224 -224
- package/templates/commands/epct.md +69 -69
- package/templates/commands/explain.md +186 -186
- package/templates/commands/explore.md +45 -45
- package/templates/commands/feature-full.md +267 -267
- package/templates/commands/gitflow/1-init.md +1038 -1038
- package/templates/commands/gitflow/10-start.md +768 -768
- package/templates/commands/gitflow/11-finish.md +457 -457
- package/templates/commands/gitflow/12-cleanup.md +276 -276
- package/templates/commands/gitflow/13-sync.md +216 -216
- package/templates/commands/gitflow/14-rebase.md +251 -251
- package/templates/commands/gitflow/2-status.md +277 -277
- package/templates/commands/gitflow/3-commit.md +344 -344
- package/templates/commands/gitflow/4-plan.md +145 -145
- package/templates/commands/gitflow/5-exec.md +147 -147
- package/templates/commands/gitflow/6-abort.md +344 -344
- package/templates/commands/gitflow/7-pull-request.md +453 -355
- package/templates/commands/gitflow/8-review.md +240 -176
- package/templates/commands/gitflow/9-merge.md +451 -365
- package/templates/commands/gitflow.md +128 -128
- package/templates/commands/implement.md +663 -663
- package/templates/commands/init.md +567 -567
- package/templates/commands/mcp-integration.md +330 -330
- package/templates/commands/notification.md +129 -129
- package/templates/commands/oneshot.md +57 -57
- package/templates/commands/quick-search.md +72 -72
- package/templates/commands/ralph-loop/cancel-ralph.md +18 -18
- package/templates/commands/ralph-loop/help.md +126 -126
- package/templates/commands/ralph-loop/ralph-loop.md +18 -18
- package/templates/commands/review.md +106 -106
- package/templates/commands/utils/test-web-config.md +160 -160
- package/templates/commands/utils/test-web.md +151 -151
- package/templates/commands/validate.md +233 -233
- package/templates/commands/workflow.md +193 -193
- package/templates/gitflow/config.json +138 -138
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +25 -25
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/skills/ai-prompt/SKILL.md +778 -778
- package/templates/skills/application/SKILL.md +563 -563
- package/templates/skills/application/templates-backend.md +450 -450
- package/templates/skills/application/templates-frontend.md +531 -531
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +647 -647
- package/templates/skills/business-analyse/SKILL.md +191 -191
- package/templates/skills/business-analyse/questionnaire.md +283 -283
- package/templates/skills/business-analyse/templates-frd.md +477 -477
- package/templates/skills/business-analyse/templates-react.md +580 -580
- package/templates/skills/controller/SKILL.md +240 -240
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/templates.md +1468 -1468
- package/templates/skills/documentation/SKILL.md +133 -133
- package/templates/skills/documentation/templates.md +476 -476
- package/templates/skills/feature-full/SKILL.md +838 -838
- package/templates/skills/notification/SKILL.md +555 -555
- package/templates/skills/ui-components/SKILL.md +870 -870
- package/templates/skills/workflow/SKILL.md +582 -582
- package/templates/test-web/api-health.json +38 -38
- package/templates/test-web/minimal.json +19 -19
- package/templates/test-web/npm-package.json +46 -46
- package/templates/test-web/seo-check.json +54 -54
|
@@ -1,198 +1,198 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Scan all branches for migrations with risk analysis
|
|
3
|
-
agent: efcore-scan
|
|
4
|
-
model: sonnet
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# EF Core Scan - Cross-Branch Migration Scanner
|
|
8
|
-
|
|
9
|
-
Scans all active branches to detect migrations and analyze conflict risks using **SmartStack MCP**.
|
|
10
|
-
|
|
11
|
-
**USAGE:** Before creating a migration or before a merge to check the status of other branches.
|
|
12
|
-
|
|
13
|
-
**SECURITY:** Read-only - no modifications.
|
|
14
|
-
|
|
15
|
-
**INTEGRATION:** Uses `mcp__smartstack__check_migrations` for each branch comparison.
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## STEP 1: Detect Active Worktrees
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# List all git worktrees
|
|
23
|
-
WORKTREES=$(git worktree list --porcelain | grep "^worktree" | cut -d' ' -f2)
|
|
24
|
-
|
|
25
|
-
echo "DETECTED WORKTREES"
|
|
26
|
-
echo "=================="
|
|
27
|
-
git worktree list
|
|
28
|
-
echo ""
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## STEP 2: Invoke MCP for Each Branch
|
|
34
|
-
|
|
35
|
-
> **MCP INTEGRATION:** For each active branch, call the MCP to get structured analysis.
|
|
36
|
-
|
|
37
|
-
For each worktree/branch, call:
|
|
38
|
-
|
|
39
|
-
```json
|
|
40
|
-
{
|
|
41
|
-
"tool": "mcp__smartstack__check_migrations",
|
|
42
|
-
"parameters": {
|
|
43
|
-
"branch": "<branch_name>",
|
|
44
|
-
"compareBranch": "develop"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Claude instruction:** Loop through detected branches and invoke MCP:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
FOR each branch in [feature/*, hotfix/*, release/*]:
|
|
53
|
-
CALL mcp__smartstack__check_migrations WITH:
|
|
54
|
-
- branch: {branch}
|
|
55
|
-
- compareBranch: "develop"
|
|
56
|
-
STORE result in BRANCH_RESULTS[branch]
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## STEP 3: Aggregate Results
|
|
62
|
-
|
|
63
|
-
Parse MCP responses to build summary:
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
interface ScanSummary {
|
|
67
|
-
branches: BranchScan[];
|
|
68
|
-
totalMigrations: number;
|
|
69
|
-
conflictCount: number;
|
|
70
|
-
recommendedMergeOrder: string[];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
interface BranchScan {
|
|
74
|
-
name: string;
|
|
75
|
-
migrationCount: number;
|
|
76
|
-
riskLevel: 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH';
|
|
77
|
-
conflicts: MigrationConflict[];
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Risk Level Calculation:**
|
|
82
|
-
|
|
83
|
-
| Condition | Risk Level |
|
|
84
|
-
|-----------|------------|
|
|
85
|
-
| Snapshot identical to develop | NONE |
|
|
86
|
-
| Different tables modified | LOW |
|
|
87
|
-
| FK to same tables | MEDIUM |
|
|
88
|
-
| Same tables/columns modified | HIGH |
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## STEP 4: Calculate Merge Order
|
|
93
|
-
|
|
94
|
-
Based on conflict analysis, recommend merge order:
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
1. Branches with RISK=NONE (can merge immediately)
|
|
98
|
-
2. Branches with RISK=LOW (minor modifications, safe to merge)
|
|
99
|
-
3. Branches with RISK=MEDIUM (order matters, merge carefully)
|
|
100
|
-
4. Branches with RISK=HIGH (rebase required before merge)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## STEP 5: Display Report
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
================================================================================
|
|
109
|
-
EF CORE CROSS-BRANCH SCAN (via MCP)
|
|
110
|
-
================================================================================
|
|
111
|
-
|
|
112
|
-
DETECTED WORKTREES ({count})
|
|
113
|
-
main/ [main]
|
|
114
|
-
develop/ [develop] <- REFERENCE
|
|
115
|
-
features/user-auth/ [feature/user-auth]
|
|
116
|
-
features/add-products/ [feature/add-products]
|
|
117
|
-
hotfixes/login-fix/ [hotfix/login-fix]
|
|
118
|
-
|
|
119
|
-
MIGRATIONS PER BRANCH
|
|
120
|
-
--------------------------------------------------------------------------------
|
|
121
|
-
Branch | Migrations | Snapshot | vs Develop
|
|
122
|
-
--------------------------------------------------------------------------------
|
|
123
|
-
develop | 12 | a1b2c3d4 | REFERENCE
|
|
124
|
-
feature/user-auth | 13 | e5f6g7h8 | +1 migration
|
|
125
|
-
feature/add-products | 13 | i9j0k1l2 | +1 migration
|
|
126
|
-
hotfix/login-fix | 12 | a1b2c3d4 | identical
|
|
127
|
-
--------------------------------------------------------------------------------
|
|
128
|
-
|
|
129
|
-
RISK ANALYSIS
|
|
130
|
-
--------------------------------------------------------------------------------
|
|
131
|
-
feature/user-auth : LOW (different tables)
|
|
132
|
-
feature/add-products : MEDIUM (FK to same table)
|
|
133
|
-
hotfix/login-fix : NONE (snapshot = develop)
|
|
134
|
-
--------------------------------------------------------------------------------
|
|
135
|
-
|
|
136
|
-
RECOMMENDED MERGE ORDER
|
|
137
|
-
--------------------------------------------------------------------------------
|
|
138
|
-
1. hotfix/login-fix -> NONE (direct merge OK)
|
|
139
|
-
2. feature/user-auth -> LOW (merge OK)
|
|
140
|
-
3. feature/add-products -> MEDIUM (after user-auth, then rebase)
|
|
141
|
-
--------------------------------------------------------------------------------
|
|
142
|
-
|
|
143
|
-
================================================================================
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Options
|
|
149
|
-
|
|
150
|
-
| Option | Description |
|
|
151
|
-
|--------|-------------|
|
|
152
|
-
| `--json` | Output raw JSON for CI/CD |
|
|
153
|
-
| `--branch <name>` | Scan specific branch only |
|
|
154
|
-
| `--verbose` | Show detailed MCP responses |
|
|
155
|
-
| `--no-recommend` | Skip merge order recommendations |
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## CI/CD Usage
|
|
160
|
-
|
|
161
|
-
```yaml
|
|
162
|
-
# GitHub Actions
|
|
163
|
-
- name: Scan EF Core migrations
|
|
164
|
-
run: |
|
|
165
|
-
# Claude Code will use MCP internally
|
|
166
|
-
OUTPUT=$(claude-code "/efcore:scan --json")
|
|
167
|
-
HIGH_RISK=$(echo $OUTPUT | jq '[.branches[] | select(.riskLevel == "HIGH")] | length')
|
|
168
|
-
if [ "$HIGH_RISK" -gt 0 ]; then
|
|
169
|
-
echo "::warning::$HIGH_RISK branches have HIGH risk migration conflicts"
|
|
170
|
-
fi
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## MCP Tool Reference
|
|
176
|
-
|
|
177
|
-
**Tool:** `mcp__smartstack__check_migrations`
|
|
178
|
-
|
|
179
|
-
**Description:** Analyze EF Core migrations for conflicts, ordering issues, and ModelSnapshot discrepancies between branches
|
|
180
|
-
|
|
181
|
-
**Parameters:**
|
|
182
|
-
|
|
183
|
-
| Parameter | Type | Description |
|
|
184
|
-
|-----------|------|-------------|
|
|
185
|
-
| `projectPath` | string | EF Core project path (default: auto-detect) |
|
|
186
|
-
| `branch` | string | Git branch to check (default: current) |
|
|
187
|
-
| `compareBranch` | string | Branch to compare against |
|
|
188
|
-
|
|
189
|
-
**Response:** `MigrationCheckResult` with `hasConflicts`, `migrations[]`, `conflicts[]`, `suggestions[]`
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Why MCP Integration?
|
|
194
|
-
|
|
195
|
-
1. **Consistency:** Identical analysis logic for single branch (`/efcore:conflicts`) and multi-branch (`/efcore:scan`)
|
|
196
|
-
2. **Accuracy:** Structured parsing instead of regex on ModelSnapshot files
|
|
197
|
-
3. **Extensibility:** New conflict types added in MCP benefit all commands
|
|
198
|
-
4. **Caching:** MCP can cache results for faster subsequent scans
|
|
1
|
+
---
|
|
2
|
+
description: Scan all branches for migrations with risk analysis
|
|
3
|
+
agent: efcore-scan
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# EF Core Scan - Cross-Branch Migration Scanner
|
|
8
|
+
|
|
9
|
+
Scans all active branches to detect migrations and analyze conflict risks using **SmartStack MCP**.
|
|
10
|
+
|
|
11
|
+
**USAGE:** Before creating a migration or before a merge to check the status of other branches.
|
|
12
|
+
|
|
13
|
+
**SECURITY:** Read-only - no modifications.
|
|
14
|
+
|
|
15
|
+
**INTEGRATION:** Uses `mcp__smartstack__check_migrations` for each branch comparison.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## STEP 1: Detect Active Worktrees
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# List all git worktrees
|
|
23
|
+
WORKTREES=$(git worktree list --porcelain | grep "^worktree" | cut -d' ' -f2)
|
|
24
|
+
|
|
25
|
+
echo "DETECTED WORKTREES"
|
|
26
|
+
echo "=================="
|
|
27
|
+
git worktree list
|
|
28
|
+
echo ""
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## STEP 2: Invoke MCP for Each Branch
|
|
34
|
+
|
|
35
|
+
> **MCP INTEGRATION:** For each active branch, call the MCP to get structured analysis.
|
|
36
|
+
|
|
37
|
+
For each worktree/branch, call:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"tool": "mcp__smartstack__check_migrations",
|
|
42
|
+
"parameters": {
|
|
43
|
+
"branch": "<branch_name>",
|
|
44
|
+
"compareBranch": "develop"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Claude instruction:** Loop through detected branches and invoke MCP:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
FOR each branch in [feature/*, hotfix/*, release/*]:
|
|
53
|
+
CALL mcp__smartstack__check_migrations WITH:
|
|
54
|
+
- branch: {branch}
|
|
55
|
+
- compareBranch: "develop"
|
|
56
|
+
STORE result in BRANCH_RESULTS[branch]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## STEP 3: Aggregate Results
|
|
62
|
+
|
|
63
|
+
Parse MCP responses to build summary:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
interface ScanSummary {
|
|
67
|
+
branches: BranchScan[];
|
|
68
|
+
totalMigrations: number;
|
|
69
|
+
conflictCount: number;
|
|
70
|
+
recommendedMergeOrder: string[];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
interface BranchScan {
|
|
74
|
+
name: string;
|
|
75
|
+
migrationCount: number;
|
|
76
|
+
riskLevel: 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH';
|
|
77
|
+
conflicts: MigrationConflict[];
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Risk Level Calculation:**
|
|
82
|
+
|
|
83
|
+
| Condition | Risk Level |
|
|
84
|
+
|-----------|------------|
|
|
85
|
+
| Snapshot identical to develop | NONE |
|
|
86
|
+
| Different tables modified | LOW |
|
|
87
|
+
| FK to same tables | MEDIUM |
|
|
88
|
+
| Same tables/columns modified | HIGH |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## STEP 4: Calculate Merge Order
|
|
93
|
+
|
|
94
|
+
Based on conflict analysis, recommend merge order:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
1. Branches with RISK=NONE (can merge immediately)
|
|
98
|
+
2. Branches with RISK=LOW (minor modifications, safe to merge)
|
|
99
|
+
3. Branches with RISK=MEDIUM (order matters, merge carefully)
|
|
100
|
+
4. Branches with RISK=HIGH (rebase required before merge)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## STEP 5: Display Report
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
================================================================================
|
|
109
|
+
EF CORE CROSS-BRANCH SCAN (via MCP)
|
|
110
|
+
================================================================================
|
|
111
|
+
|
|
112
|
+
DETECTED WORKTREES ({count})
|
|
113
|
+
main/ [main]
|
|
114
|
+
develop/ [develop] <- REFERENCE
|
|
115
|
+
features/user-auth/ [feature/user-auth]
|
|
116
|
+
features/add-products/ [feature/add-products]
|
|
117
|
+
hotfixes/login-fix/ [hotfix/login-fix]
|
|
118
|
+
|
|
119
|
+
MIGRATIONS PER BRANCH
|
|
120
|
+
--------------------------------------------------------------------------------
|
|
121
|
+
Branch | Migrations | Snapshot | vs Develop
|
|
122
|
+
--------------------------------------------------------------------------------
|
|
123
|
+
develop | 12 | a1b2c3d4 | REFERENCE
|
|
124
|
+
feature/user-auth | 13 | e5f6g7h8 | +1 migration
|
|
125
|
+
feature/add-products | 13 | i9j0k1l2 | +1 migration
|
|
126
|
+
hotfix/login-fix | 12 | a1b2c3d4 | identical
|
|
127
|
+
--------------------------------------------------------------------------------
|
|
128
|
+
|
|
129
|
+
RISK ANALYSIS
|
|
130
|
+
--------------------------------------------------------------------------------
|
|
131
|
+
feature/user-auth : LOW (different tables)
|
|
132
|
+
feature/add-products : MEDIUM (FK to same table)
|
|
133
|
+
hotfix/login-fix : NONE (snapshot = develop)
|
|
134
|
+
--------------------------------------------------------------------------------
|
|
135
|
+
|
|
136
|
+
RECOMMENDED MERGE ORDER
|
|
137
|
+
--------------------------------------------------------------------------------
|
|
138
|
+
1. hotfix/login-fix -> NONE (direct merge OK)
|
|
139
|
+
2. feature/user-auth -> LOW (merge OK)
|
|
140
|
+
3. feature/add-products -> MEDIUM (after user-auth, then rebase)
|
|
141
|
+
--------------------------------------------------------------------------------
|
|
142
|
+
|
|
143
|
+
================================================================================
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Options
|
|
149
|
+
|
|
150
|
+
| Option | Description |
|
|
151
|
+
|--------|-------------|
|
|
152
|
+
| `--json` | Output raw JSON for CI/CD |
|
|
153
|
+
| `--branch <name>` | Scan specific branch only |
|
|
154
|
+
| `--verbose` | Show detailed MCP responses |
|
|
155
|
+
| `--no-recommend` | Skip merge order recommendations |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## CI/CD Usage
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
# GitHub Actions
|
|
163
|
+
- name: Scan EF Core migrations
|
|
164
|
+
run: |
|
|
165
|
+
# Claude Code will use MCP internally
|
|
166
|
+
OUTPUT=$(claude-code "/efcore:scan --json")
|
|
167
|
+
HIGH_RISK=$(echo $OUTPUT | jq '[.branches[] | select(.riskLevel == "HIGH")] | length')
|
|
168
|
+
if [ "$HIGH_RISK" -gt 0 ]; then
|
|
169
|
+
echo "::warning::$HIGH_RISK branches have HIGH risk migration conflicts"
|
|
170
|
+
fi
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## MCP Tool Reference
|
|
176
|
+
|
|
177
|
+
**Tool:** `mcp__smartstack__check_migrations`
|
|
178
|
+
|
|
179
|
+
**Description:** Analyze EF Core migrations for conflicts, ordering issues, and ModelSnapshot discrepancies between branches
|
|
180
|
+
|
|
181
|
+
**Parameters:**
|
|
182
|
+
|
|
183
|
+
| Parameter | Type | Description |
|
|
184
|
+
|-----------|------|-------------|
|
|
185
|
+
| `projectPath` | string | EF Core project path (default: auto-detect) |
|
|
186
|
+
| `branch` | string | Git branch to check (default: current) |
|
|
187
|
+
| `compareBranch` | string | Branch to compare against |
|
|
188
|
+
|
|
189
|
+
**Response:** `MigrationCheckResult` with `hasConflicts`, `migrations[]`, `conflicts[]`, `suggestions[]`
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Why MCP Integration?
|
|
194
|
+
|
|
195
|
+
1. **Consistency:** Identical analysis logic for single branch (`/efcore:conflicts`) and multi-branch (`/efcore:scan`)
|
|
196
|
+
2. **Accuracy:** Structured parsing instead of regex on ModelSnapshot files
|
|
197
|
+
3. **Extensibility:** New conflict types added in MCP benefit all commands
|
|
198
|
+
4. **Caching:** MCP can cache results for faster subsequent scans
|