@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.
- package/.documentation/agents.html +1 -1
- package/.documentation/apex.html +1 -1
- package/.documentation/business-analyse.html +1 -1
- package/.documentation/cli-commands.html +3 -3
- package/.documentation/commands.html +1 -1
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +1 -1
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +1 -1
- package/.documentation/init.html +3 -3
- package/.documentation/installation.html +1001 -352
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/README.md +88 -20
- package/dist/index.js +276 -85
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/code-reviewer.md +163 -0
- package/templates/agents/efcore/db-deploy.md +25 -7
- package/templates/agents/efcore/db-reset.md +31 -10
- package/templates/agents/efcore/db-status.md +22 -5
- package/templates/agents/efcore/migration.md +69 -19
- package/templates/agents/gitflow/cleanup.md +8 -1
- package/templates/agents/gitflow/commit.md +7 -5
- package/templates/agents/gitflow/finish.md +6 -4
- package/templates/agents/gitflow/pr.md +8 -1
- package/templates/agents/gitflow/start.md +1 -1
- package/templates/commands/check-version.md +267 -0
- package/templates/commands/efcore/_shared.md +30 -1
- package/templates/commands/efcore/db-reset.md +18 -6
- package/templates/commands/gitflow/OPTIMIZATIONS.md +206 -0
- package/templates/commands/refactor.md +164 -0
- package/templates/project/DependencyInjection.Application.cs.template +25 -0
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -0
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -0
- package/templates/project/ExampleEntity.cs.template +116 -0
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -0
- package/templates/project/ExampleService.cs.template +146 -0
- package/templates/project/ExtensionsDbContext.cs.template +41 -0
- package/templates/project/IExtensionsDbContext.cs.template +22 -0
- package/templates/project/Program.cs.template +47 -0
- package/templates/project/README.md +79 -0
- package/templates/ralph/README.md +10 -8
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/_shared.md +44 -44
- package/templates/skills/ai-prompt/SKILL.md +55 -55
- package/templates/skills/apex/SKILL.md +235 -0
- package/templates/skills/apex/steps/step-00-init.md +203 -0
- package/templates/skills/apex/steps/step-01-analyze.md +210 -0
- package/templates/skills/apex/steps/step-02-plan.md +217 -0
- package/templates/skills/apex/steps/step-03-execute.md +178 -0
- package/templates/skills/apex/steps/step-04-validate.md +217 -0
- package/templates/skills/apex/steps/step-05-examine.md +207 -0
- package/templates/skills/apex/steps/step-06-resolve.md +181 -0
- package/templates/skills/apex/steps/step-07-tests.md +206 -0
- package/templates/skills/apex/steps/step-08-run-tests.md +207 -0
- package/templates/skills/apex/templates/00-context.md +46 -0
- package/templates/skills/apex/templates/01-analyze.md +63 -0
- package/templates/skills/apex/templates/02-plan.md +63 -0
- package/templates/skills/apex/templates/03-execute.md +34 -0
- package/templates/skills/apex/templates/04-validate.md +61 -0
- package/templates/skills/apex/templates/05-examine.md +58 -0
- package/templates/skills/apex/templates/06-resolve.md +39 -0
- package/templates/skills/apex/templates/07-tests.md +56 -0
- package/templates/skills/apex/templates/08-run-tests.md +41 -0
- package/templates/skills/apex/templates/README.md +69 -0
- package/templates/skills/application/SKILL.md +50 -50
- package/templates/skills/application/templates-backend.md +25 -25
- package/templates/skills/application/templates-frontend.md +43 -43
- package/templates/skills/application/templates-i18n.md +29 -29
- package/templates/skills/application/templates-seed.md +77 -77
- package/templates/skills/business-analyse/SKILL.md +223 -0
- package/templates/skills/business-analyse/_shared.md +258 -0
- package/templates/skills/business-analyse/questionnaire/01-context.md +33 -0
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +35 -0
- package/templates/skills/business-analyse/questionnaire/03-scope.md +35 -0
- package/templates/skills/business-analyse/questionnaire/04-data.md +36 -0
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +36 -0
- package/templates/skills/business-analyse/questionnaire/06-security.md +40 -0
- package/templates/skills/business-analyse/questionnaire/07-ui.md +36 -0
- package/templates/skills/business-analyse/questionnaire/08-performance.md +35 -0
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +35 -0
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +35 -0
- package/templates/skills/business-analyse/questionnaire.md +177 -177
- package/templates/skills/business-analyse/react/components.md +340 -0
- package/templates/skills/business-analyse/react/i18n-template.md +245 -0
- package/templates/skills/business-analyse/react/schema.md +151 -0
- package/templates/skills/business-analyse/steps/step-00-init.md +293 -0
- package/templates/skills/business-analyse/steps/step-01-discover.md +267 -0
- package/templates/skills/business-analyse/steps/step-02-analyse.md +243 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +317 -0
- package/templates/skills/business-analyse/steps/step-04-validate.md +239 -0
- package/templates/skills/business-analyse/steps/step-05-handoff.md +336 -0
- package/templates/skills/business-analyse/steps/step-06-doc-html.md +261 -0
- package/templates/skills/business-analyse/templates/00-context.md +105 -0
- package/templates/skills/business-analyse/templates/frd-brd.md +97 -0
- package/templates/skills/business-analyse/templates/frd-discovery.md +78 -0
- package/templates/skills/business-analyse/templates/frd-handoff.md +118 -0
- package/templates/skills/business-analyse/templates/frd-spec.md +168 -0
- package/templates/skills/business-analyse/templates-frd.md +217 -217
- package/templates/skills/business-analyse/templates-react.md +26 -26
- package/templates/skills/controller/SKILL.md +141 -92
- package/templates/skills/controller/postman-templates.md +15 -15
- package/templates/skills/controller/steps/step-00-init.md +191 -0
- package/templates/skills/controller/steps/step-01-analyze.md +146 -0
- package/templates/skills/controller/steps/step-02-plan.md +176 -0
- package/templates/skills/controller/steps/step-03-generate.md +219 -0
- package/templates/skills/controller/steps/step-04-perms.md +219 -0
- package/templates/skills/controller/steps/step-05-validate.md +107 -0
- package/templates/skills/controller/templates.md +77 -77
- package/templates/skills/documentation/SKILL.md +79 -79
- package/templates/skills/feature-full/SKILL.md +38 -38
- package/templates/skills/gitflow/SKILL.md +277 -0
- package/templates/{commands → skills}/gitflow/_shared.md +20 -20
- package/templates/skills/gitflow/phases/abort.md +173 -0
- package/templates/skills/gitflow/phases/cleanup.md +226 -0
- package/templates/skills/gitflow/phases/status.md +178 -0
- package/templates/skills/gitflow/steps/step-commit.md +255 -0
- package/templates/skills/gitflow/steps/step-finish.md +255 -0
- package/templates/skills/gitflow/steps/step-init.md +209 -0
- package/templates/skills/gitflow/steps/step-merge.md +225 -0
- package/templates/skills/gitflow/steps/step-plan.md +208 -0
- package/templates/skills/gitflow/steps/step-pr.md +235 -0
- package/templates/skills/gitflow/steps/step-start.md +234 -0
- package/templates/skills/gitflow/steps/step-sync.md +200 -0
- package/templates/skills/gitflow/templates/config.json +53 -0
- package/templates/skills/notification/SKILL.md +51 -51
- package/templates/skills/ralph-loop/SKILL.md +228 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +201 -0
- package/templates/skills/ralph-loop/steps/step-01-task.md +169 -0
- package/templates/skills/ralph-loop/steps/step-02-execute.md +173 -0
- package/templates/skills/ralph-loop/steps/step-03-commit.md +170 -0
- package/templates/skills/ralph-loop/steps/step-04-check.md +162 -0
- package/templates/skills/ralph-loop/steps/step-05-report.md +181 -0
- package/templates/skills/review-code/SKILL.md +219 -0
- package/templates/skills/review-code/references/clean-code-principles.md +140 -0
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -0
- package/templates/skills/review-code/references/feedback-patterns.md +149 -0
- package/templates/skills/review-code/references/security-checklist.md +127 -0
- package/templates/skills/ui-components/SKILL.md +54 -54
- package/templates/skills/workflow/SKILL.md +46 -46
- package/templates/commands/ai-prompt.md +0 -315
- package/templates/commands/apex/1-analyze.md +0 -100
- package/templates/commands/apex/2-plan.md +0 -145
- package/templates/commands/apex/3-execute.md +0 -171
- package/templates/commands/apex/4-examine.md +0 -116
- package/templates/commands/apex/5-tasks.md +0 -209
- package/templates/commands/apex.md +0 -76
- package/templates/commands/application/create.md +0 -362
- package/templates/commands/application/templates-backend.md +0 -463
- package/templates/commands/application/templates-frontend.md +0 -517
- package/templates/commands/application/templates-i18n.md +0 -478
- package/templates/commands/application/templates-seed.md +0 -362
- package/templates/commands/application.md +0 -303
- package/templates/commands/business-analyse/0-orchestrate.md +0 -156
- package/templates/commands/business-analyse/1-init.md +0 -99
- package/templates/commands/business-analyse/2-discover.md +0 -143
- package/templates/commands/business-analyse/3-analyse.md +0 -106
- package/templates/commands/business-analyse/4-specify.md +0 -133
- package/templates/commands/business-analyse/5-validate.md +0 -132
- package/templates/commands/business-analyse/6-handoff.md +0 -157
- package/templates/commands/business-analyse/7-doc-html.md +0 -103
- package/templates/commands/business-analyse/_shared.md +0 -176
- package/templates/commands/business-analyse/bug.md +0 -118
- package/templates/commands/business-analyse/change-request.md +0 -144
- package/templates/commands/business-analyse/hotfix.md +0 -116
- package/templates/commands/business-analyse.md +0 -121
- package/templates/commands/controller/create.md +0 -216
- package/templates/commands/controller/postman-templates.md +0 -528
- package/templates/commands/controller/templates.md +0 -600
- package/templates/commands/controller.md +0 -337
- package/templates/commands/create/agent.md +0 -138
- package/templates/commands/create/command.md +0 -166
- package/templates/commands/create/hook.md +0 -234
- package/templates/commands/create/plugin.md +0 -329
- package/templates/commands/create/project.md +0 -508
- package/templates/commands/create/skill.md +0 -199
- package/templates/commands/create.md +0 -220
- package/templates/commands/documentation/module.md +0 -202
- package/templates/commands/documentation/templates.md +0 -432
- package/templates/commands/documentation.md +0 -190
- package/templates/commands/epct.md +0 -69
- package/templates/commands/explain.md +0 -186
- package/templates/commands/feature-full.md +0 -267
- package/templates/commands/gitflow/1-init.md +0 -188
- package/templates/commands/gitflow/10-start.md +0 -190
- package/templates/commands/gitflow/11-finish.md +0 -382
- package/templates/commands/gitflow/12-cleanup.md +0 -103
- package/templates/commands/gitflow/13-sync.md +0 -216
- package/templates/commands/gitflow/14-rebase.md +0 -251
- package/templates/commands/gitflow/2-status.md +0 -122
- package/templates/commands/gitflow/3-commit.md +0 -209
- package/templates/commands/gitflow/4-plan.md +0 -174
- package/templates/commands/gitflow/5-exec.md +0 -202
- package/templates/commands/gitflow/6-abort.md +0 -121
- package/templates/commands/gitflow/7-pull-request.md +0 -176
- package/templates/commands/gitflow/8-review.md +0 -113
- package/templates/commands/gitflow/9-merge.md +0 -157
- package/templates/commands/gitflow.md +0 -128
- package/templates/commands/implement.md +0 -663
- package/templates/commands/init.md +0 -567
- package/templates/commands/mcp-integration.md +0 -330
- package/templates/commands/notification.md +0 -129
- package/templates/commands/oneshot.md +0 -57
- package/templates/commands/quickstart.md +0 -154
- package/templates/commands/ralph-loop/cancel-ralph.md +0 -18
- package/templates/commands/ralph-loop/help.md +0 -126
- package/templates/commands/ralph-loop/ralph-loop.md +0 -120
- package/templates/commands/review.md +0 -106
- package/templates/commands/workflow.md +0 -193
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Deep explanation of code features with tracing, analysis, and visual diagrams
|
|
3
|
-
allowed-tools: Read, Glob, Grep, Task
|
|
4
|
-
argument-hint: <feature-or-topic>
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
You are a code archaeologist. Your mission is to deeply understand a specific feature or code area, trace through all relevant files, and explain it with absolute clarity.
|
|
8
|
-
|
|
9
|
-
## Workflow
|
|
10
|
-
|
|
11
|
-
1. **UNDERSTAND THE QUESTION**: Parse what needs explaining
|
|
12
|
-
- Identify the feature/topic/function to explain
|
|
13
|
-
- Determine scope (single feature vs system interaction)
|
|
14
|
-
- **CRITICAL**: Ask clarifying questions if topic is ambiguous
|
|
15
|
-
|
|
16
|
-
2. **ULTRA THINK - TRACE THE CODE**: Deep analysis phase
|
|
17
|
-
- Find entry point (where does this feature start?)
|
|
18
|
-
- Trace execution flow through all files
|
|
19
|
-
- Map dependencies and relationships
|
|
20
|
-
- Read files in logical order (not alphabetical)
|
|
21
|
-
- **MUST**: Follow the actual code path, not assumptions
|
|
22
|
-
- Document decisions and trade-offs found in code
|
|
23
|
-
|
|
24
|
-
3. **COLLECT EVIDENCE**: Gather concrete examples
|
|
25
|
-
- Extract relevant code snippets
|
|
26
|
-
- Identify configuration that affects behavior
|
|
27
|
-
- Find tests that demonstrate usage
|
|
28
|
-
- Note comments explaining "why" decisions
|
|
29
|
-
- **STAY FOCUSED**: Only collect what's relevant to the question
|
|
30
|
-
|
|
31
|
-
4. **SYNTHESIZE UNDERSTANDING**: Connect the pieces
|
|
32
|
-
- How do files interact?
|
|
33
|
-
- What's the data flow?
|
|
34
|
-
- What design patterns are used?
|
|
35
|
-
- What are the key decisions and why?
|
|
36
|
-
- What constraints shaped this implementation?
|
|
37
|
-
|
|
38
|
-
5. **CREATE CLEAR OUTPUT**: Present findings
|
|
39
|
-
- Start with objective statement
|
|
40
|
-
- List files in logical reading order
|
|
41
|
-
- Provide ASCII diagram of relationships
|
|
42
|
-
- Explain key decisions with code examples
|
|
43
|
-
- **PRIORITY**: Clarity over completeness
|
|
44
|
-
|
|
45
|
-
## Output Format
|
|
46
|
-
|
|
47
|
-
```markdown
|
|
48
|
-
## Explanation: [Feature/Topic]
|
|
49
|
-
|
|
50
|
-
### Objective
|
|
51
|
-
[2-3 sentences explaining what this feature does and why it exists]
|
|
52
|
-
|
|
53
|
-
### Files to Read (in order)
|
|
54
|
-
1. `path/to/entry-point.ts` - Where the feature starts
|
|
55
|
-
2. `path/to/core-logic.ts` - Main implementation
|
|
56
|
-
3. `path/to/dependencies.ts` - Supporting functionality
|
|
57
|
-
4. `path/to/config.ts` - Configuration affecting behavior
|
|
58
|
-
|
|
59
|
-
### Architecture Diagram
|
|
60
|
-
```
|
|
61
|
-
┌─────────────────┐
|
|
62
|
-
│ Entry Point │ Feature starts here
|
|
63
|
-
└────────┬────────┘
|
|
64
|
-
│
|
|
65
|
-
▼
|
|
66
|
-
┌─────────────────┐
|
|
67
|
-
│ Core Logic │ Main implementation
|
|
68
|
-
└────────┬────────┘
|
|
69
|
-
│
|
|
70
|
-
├──────────┐
|
|
71
|
-
▼ ▼
|
|
72
|
-
┌──────────┐ ┌──────────┐
|
|
73
|
-
│ Helper A │ │ Helper B │ Supporting functions
|
|
74
|
-
└──────────┘ └──────────┘
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Key Decisions
|
|
78
|
-
|
|
79
|
-
#### Decision 1: [What was decided]
|
|
80
|
-
**Why**: [Reasoning found in code/comments]
|
|
81
|
-
**Trade-off**: [What was sacrificed]
|
|
82
|
-
|
|
83
|
-
**Code example**:
|
|
84
|
-
```language
|
|
85
|
-
// Concrete example from codebase showing this decision
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
#### Decision 2: [Another decision]
|
|
89
|
-
**Why**: [Reasoning]
|
|
90
|
-
**Alternative considered**: [What wasn't chosen and why]
|
|
91
|
-
|
|
92
|
-
### Data Flow
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
User Input
|
|
96
|
-
│
|
|
97
|
-
▼
|
|
98
|
-
Validation (file:line)
|
|
99
|
-
│
|
|
100
|
-
▼
|
|
101
|
-
Processing (file:line)
|
|
102
|
-
│
|
|
103
|
-
├─→ Side Effect A (file:line)
|
|
104
|
-
│
|
|
105
|
-
▼
|
|
106
|
-
Final Output (file:line)
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Implementation Details
|
|
110
|
-
|
|
111
|
-
**Pattern Used**: [e.g., Factory, Repository, Observer]
|
|
112
|
-
|
|
113
|
-
**Key Functions**:
|
|
114
|
-
- `functionName()` in `file.ts:123` - What it does
|
|
115
|
-
- `otherFunction()` in `file.ts:456` - Its role
|
|
116
|
-
|
|
117
|
-
**Configuration**:
|
|
118
|
-
- `CONFIG_VAR` affects [behavior]
|
|
119
|
-
- Default values set in `config.ts:789`
|
|
120
|
-
|
|
121
|
-
### Complexity Points
|
|
122
|
-
|
|
123
|
-
**Where it gets tricky**:
|
|
124
|
-
1. [Complex area 1] - Why it's complex and how it's handled
|
|
125
|
-
2. [Complex area 2] - Edge cases and solutions
|
|
126
|
-
|
|
127
|
-
### Summary
|
|
128
|
-
|
|
129
|
-
[3-4 sentences tying everything together - the "aha!" moment explanation]
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## Analysis Techniques
|
|
133
|
-
|
|
134
|
-
### Tracing Entry Points
|
|
135
|
-
```bash
|
|
136
|
-
# Find where feature is called/imported
|
|
137
|
-
grep -r "featureName" --include="*.ts"
|
|
138
|
-
|
|
139
|
-
# Find route handlers
|
|
140
|
-
grep -r "router\." --include="*.ts"
|
|
141
|
-
|
|
142
|
-
# Find React components
|
|
143
|
-
glob "**/*ComponentName*.tsx"
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Understanding Dependencies
|
|
147
|
-
- Read imports at top of each file
|
|
148
|
-
- Trace backward from exports
|
|
149
|
-
- Check for dependency injection
|
|
150
|
-
- Look for factory/builder patterns
|
|
151
|
-
|
|
152
|
-
### Reading Order Priority
|
|
153
|
-
1. Entry point (route/handler/component)
|
|
154
|
-
2. Core business logic
|
|
155
|
-
3. Data models/types
|
|
156
|
-
4. Helper utilities
|
|
157
|
-
5. Configuration
|
|
158
|
-
|
|
159
|
-
## Execution Rules
|
|
160
|
-
|
|
161
|
-
- **MUST**: Read files in logical execution order
|
|
162
|
-
- **MUST**: Create ASCII diagrams showing relationships
|
|
163
|
-
- **MUST**: Include file:line references for all key code
|
|
164
|
-
- **NEVER**: Assume patterns without verification
|
|
165
|
-
- **NEVER**: Skip the ultra thinking phase
|
|
166
|
-
- **CRITICAL**: Explain the "why" behind decisions, not just "what"
|
|
167
|
-
- Use parallel `Task` agents for broad searches
|
|
168
|
-
- Focus deeply once key files are identified
|
|
169
|
-
|
|
170
|
-
## Ultra Thinking Checklist
|
|
171
|
-
|
|
172
|
-
Before writing output, verify you can answer:
|
|
173
|
-
- [ ] Where does this feature start executing?
|
|
174
|
-
- [ ] What's the complete file dependency chain?
|
|
175
|
-
- [ ] What design patterns are used and why?
|
|
176
|
-
- [ ] What are the key trade-offs made?
|
|
177
|
-
- [ ] How does data transform through the flow?
|
|
178
|
-
- [ ] What would break if X file was removed?
|
|
179
|
-
|
|
180
|
-
## Priority
|
|
181
|
-
|
|
182
|
-
Understanding > Speed. Take time to truly comprehend before explaining.
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
User: $ARGUMENTS
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
# /feature-full - Creation Feature Complete OneShot
|
|
2
|
-
|
|
3
|
-
> **Synergie Skill/Commande:**
|
|
4
|
-
> - **Skill** (`templates/skills/feature-full/`) → Invocation automatique par Claude
|
|
5
|
-
> - **Commande** (`/feature-full`) → Invocation manuelle par l'utilisateur
|
|
6
|
-
>
|
|
7
|
-
> Ce skill orchestre tous les autres skills pour une experience de developpement optimale.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## ARGUMENTS
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/feature-full <entity> [options]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
| Option | Description |
|
|
18
|
-
|--------|-------------|
|
|
19
|
-
| `--area` | Zone de navigation (platform, business, personal) |
|
|
20
|
-
| `--module` | Module parent |
|
|
21
|
-
| `--notifications` | Activer les notifications (defaut: oui) |
|
|
22
|
-
| `--workflows` | Activer les workflows/emails (defaut: non) |
|
|
23
|
-
| `--ai` | Activer l'assistance IA (defaut: non) |
|
|
24
|
-
| `--crud` | Operations CRUD (defaut: all) |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## WORKFLOW ONESHOT
|
|
29
|
-
|
|
30
|
-
### PHASE 1: ANALYSE (2 min)
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
AskUserQuestion: {
|
|
34
|
-
questions: [
|
|
35
|
-
{
|
|
36
|
-
header: "Entity",
|
|
37
|
-
question: "Quel est le nom de l'entite principale ?",
|
|
38
|
-
options: [
|
|
39
|
-
{ label: "Saisie libre", description: "Ex: Product, Order, Customer" }
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
header: "Area",
|
|
44
|
-
question: "Dans quelle zone de navigation ?",
|
|
45
|
-
options: [
|
|
46
|
-
{ label: "platform", description: "Administration systeme" },
|
|
47
|
-
{ label: "business", description: "Fonctionnalites metier" },
|
|
48
|
-
{ label: "personal", description: "Espace personnel" }
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
header: "Integrations",
|
|
53
|
-
question: "Quelles integrations activer ?",
|
|
54
|
-
multiSelect: true,
|
|
55
|
-
options: [
|
|
56
|
-
{ label: "Notifications", description: "In-app + SignalR (Recommended)" },
|
|
57
|
-
{ label: "Workflows", description: "Emails automatiques" },
|
|
58
|
-
{ label: "AI", description: "Assistance IA" }
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### PHASE 2: GENERATION (30 min)
|
|
66
|
-
|
|
67
|
-
Execute automatiquement dans l'ordre :
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
1. DOMAIN LAYER
|
|
71
|
-
→ Entity + Enums + Factory Methods
|
|
72
|
-
→ /application templates-backend
|
|
73
|
-
|
|
74
|
-
2. APPLICATION LAYER
|
|
75
|
-
→ Interface + DTOs + Permissions
|
|
76
|
-
→ /application templates-backend
|
|
77
|
-
|
|
78
|
-
3. INFRASTRUCTURE LAYER
|
|
79
|
-
→ EF Core Configuration + Service
|
|
80
|
-
→ /application templates-backend
|
|
81
|
-
→ /efcore:migration
|
|
82
|
-
|
|
83
|
-
4. API LAYER
|
|
84
|
-
→ Controller + Authorize + Swagger
|
|
85
|
-
→ /controller:create
|
|
86
|
-
|
|
87
|
-
5. WEB LAYER
|
|
88
|
-
→ Pages + Hooks + i18n + Routes
|
|
89
|
-
→ /application templates-frontend
|
|
90
|
-
→ /ui-components
|
|
91
|
-
|
|
92
|
-
6. NOTIFICATIONS (si active)
|
|
93
|
-
→ NotificationType + Service injection
|
|
94
|
-
→ /notification add
|
|
95
|
-
|
|
96
|
-
7. WORKFLOWS (si active)
|
|
97
|
-
→ Trigger + Workflow + Template
|
|
98
|
-
→ /workflow create
|
|
99
|
-
|
|
100
|
-
8. AI (si active)
|
|
101
|
-
→ Prompt + Schema + Service
|
|
102
|
-
→ /ai-prompt create
|
|
103
|
-
|
|
104
|
-
9. VALIDATION
|
|
105
|
-
→ dotnet build
|
|
106
|
-
→ npm run build
|
|
107
|
-
→ npm run lint
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### PHASE 3: RESUME (1 min)
|
|
111
|
-
|
|
112
|
-
Affiche le resume de tout ce qui a ete cree.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## EXEMPLE COMPLET
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
/feature-full Product --area business --notifications --workflows --ai
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
**Genere automatiquement :**
|
|
123
|
-
|
|
124
|
-
| Layer | Fichiers |
|
|
125
|
-
|-------|----------|
|
|
126
|
-
| Domain | `Product.cs`, `ProductStatus.cs` |
|
|
127
|
-
| Application | `IProductService.cs`, `ProductDto.cs`, `Permissions.cs` |
|
|
128
|
-
| Infrastructure | `ProductConfiguration.cs`, `ProductService.cs`, `PermissionConfiguration.cs` |
|
|
129
|
-
| API | `ProductsController.cs` |
|
|
130
|
-
| Web | `ProductsPage.tsx`, `useProducts.ts`, `productsApi.ts`, i18n (4 langues) |
|
|
131
|
-
| Notifications | `NotificationType.ProductCreated`, SignalR integration |
|
|
132
|
-
| Workflows | `product.created` trigger, email template |
|
|
133
|
-
| AI | `product-analyzer` prompt, `ProductAnalysisResult` |
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## TEMPLATES ORCHESTRATION
|
|
138
|
-
|
|
139
|
-
### Template Execution Order
|
|
140
|
-
|
|
141
|
-
```typescript
|
|
142
|
-
// 1. Domain
|
|
143
|
-
await generateDomainLayer(entity, config);
|
|
144
|
-
|
|
145
|
-
// 2. Application
|
|
146
|
-
await generateApplicationLayer(entity, config);
|
|
147
|
-
|
|
148
|
-
// 3. Infrastructure
|
|
149
|
-
await generateInfrastructureLayer(entity, config);
|
|
150
|
-
await runCommand('/efcore:migration', `Add${entity}`);
|
|
151
|
-
|
|
152
|
-
// 4. API
|
|
153
|
-
await runCommand('/controller:create', entity);
|
|
154
|
-
|
|
155
|
-
// 5. Web
|
|
156
|
-
await generateWebLayer(entity, config);
|
|
157
|
-
|
|
158
|
-
// 6. Integrations
|
|
159
|
-
if (config.notifications) {
|
|
160
|
-
await runCommand('/notification', `add ${entity}`);
|
|
161
|
-
}
|
|
162
|
-
if (config.workflows) {
|
|
163
|
-
await runCommand('/workflow', `create ${entity}.created`);
|
|
164
|
-
}
|
|
165
|
-
if (config.ai) {
|
|
166
|
-
await runCommand('/ai-prompt', `create ${entity}-analyzer`);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// 7. Validation
|
|
170
|
-
await runCommand('dotnet', 'build');
|
|
171
|
-
await runCommand('npm', 'run build');
|
|
172
|
-
await runCommand('npm', 'run lint');
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## CHECKLIST AUTOMATIQUE
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
DOMAIN LAYER
|
|
181
|
-
✓ Entity {Entity}.cs avec Factory Method
|
|
182
|
-
✓ Enum {Entity}Status.cs
|
|
183
|
-
✓ IAuditableEntity implemente
|
|
184
|
-
|
|
185
|
-
APPLICATION LAYER
|
|
186
|
-
✓ Interface I{Entity}Service.cs
|
|
187
|
-
✓ DTOs: {Entity}Dto, Create/Update Requests
|
|
188
|
-
✓ Permissions dans Permissions.cs
|
|
189
|
-
✓ Permissions dans PermissionConfiguration.cs
|
|
190
|
-
|
|
191
|
-
INFRASTRUCTURE LAYER
|
|
192
|
-
✓ {Entity}Configuration.cs (EF Core)
|
|
193
|
-
✓ {Entity}Service.cs implementation
|
|
194
|
-
✓ DbSet<{Entity}> dans ApplicationDbContext
|
|
195
|
-
✓ DI registration
|
|
196
|
-
✓ Migration EF Core
|
|
197
|
-
|
|
198
|
-
API LAYER
|
|
199
|
-
✓ {Entity}Controller.cs
|
|
200
|
-
✓ [Authorize] + [RequirePermission]
|
|
201
|
-
✓ [ProducesResponseType]
|
|
202
|
-
✓ Logging
|
|
203
|
-
|
|
204
|
-
WEB LAYER
|
|
205
|
-
✓ {module}Api.ts
|
|
206
|
-
✓ use{Module}.ts (avec SignalR si notifications)
|
|
207
|
-
✓ {Module}Page.tsx
|
|
208
|
-
✓ {Module}Form.tsx
|
|
209
|
-
✓ {Module}DetailPage.tsx
|
|
210
|
-
✓ i18n: fr, en, it, de
|
|
211
|
-
✓ Routes dans App.tsx
|
|
212
|
-
|
|
213
|
-
NOTIFICATIONS (si active)
|
|
214
|
-
✓ NotificationType ajoute
|
|
215
|
-
✓ SendNotificationAsync dans service
|
|
216
|
-
✓ useSignalR dans hook
|
|
217
|
-
|
|
218
|
-
WORKFLOWS (si active)
|
|
219
|
-
✓ Trigger cree
|
|
220
|
-
✓ Workflow cree
|
|
221
|
-
✓ Email template
|
|
222
|
-
✓ TriggerAsync dans service
|
|
223
|
-
|
|
224
|
-
AI (si active)
|
|
225
|
-
✓ Prompt cree
|
|
226
|
-
✓ OutputSchema
|
|
227
|
-
✓ DTO Result
|
|
228
|
-
✓ ExecutePromptAsync dans service
|
|
229
|
-
✓ Bouton IA frontend
|
|
230
|
-
|
|
231
|
-
VALIDATION
|
|
232
|
-
✓ dotnet build OK
|
|
233
|
-
✓ npm run build OK
|
|
234
|
-
✓ npm run lint OK
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## REGLES ABSOLUES
|
|
240
|
-
|
|
241
|
-
1. **TOUJOURS** suivre l'ordre des phases
|
|
242
|
-
2. **TOUJOURS** valider chaque phase avant la suivante
|
|
243
|
-
3. **TOUJOURS** utiliser les skills specialises
|
|
244
|
-
4. **TOUJOURS** respecter l'architecture en couches
|
|
245
|
-
5. **TOUJOURS** creer les 4 langues i18n
|
|
246
|
-
6. **TOUJOURS** ajouter les permissions dans les 2 fichiers
|
|
247
|
-
7. **JAMAIS** sauter une phase
|
|
248
|
-
8. **JAMAIS** generer du code sans validation
|
|
249
|
-
9. **JAMAIS** oublier les integrations demandees
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## SKILLS ORCHESTRES
|
|
254
|
-
|
|
255
|
-
| Skill | Phase | Action |
|
|
256
|
-
|-------|-------|--------|
|
|
257
|
-
| `/application` | 1-5 | Generation full-stack |
|
|
258
|
-
| `/controller` | 4 | Controller API |
|
|
259
|
-
| `/ui-components` | 5 | Composants UI |
|
|
260
|
-
| `/notification` | 6 | Notifications |
|
|
261
|
-
| `/workflow` | 7 | Workflows/Emails |
|
|
262
|
-
| `/ai-prompt` | 8 | IA |
|
|
263
|
-
| `/efcore:migration` | 3 | Migration DB |
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
User: $ARGUMENTS
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Phase 1 - Initialize GitFlow structure with versioning and EF Core configuration
|
|
3
|
-
agent: gitflow-init
|
|
4
|
-
model: sonnet
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# GitFlow Init
|
|
8
|
-
|
|
9
|
-
**Arguments:** `$ARGUMENTS`
|
|
10
|
-
|
|
11
|
-
> **Ref:** Fonctions partagées dans [_shared.md](_shared.md)
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Détection du Mode
|
|
16
|
-
|
|
17
|
-
| Condition | Mode |
|
|
18
|
-
|-----------|------|
|
|
19
|
-
| `$ARGUMENTS` contient URL (`https://` ou `git@`) | **MODE A: Clone** |
|
|
20
|
-
| Pas dans un repo git ET pas d'URL | **MODE C: Interactive** |
|
|
21
|
-
| Dans un repo git existant | **MODE B: Existing** |
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## MODE A: Clone (URL détectée)
|
|
26
|
-
|
|
27
|
-
### Workflow Obligatoire
|
|
28
|
-
|
|
29
|
-
**NE CRÉER AUCUN DOSSIER** avant confirmation utilisateur.
|
|
30
|
-
|
|
31
|
-
#### 1. Extraire nom suggéré
|
|
32
|
-
```bash
|
|
33
|
-
SUGGESTED_NAME=$(basename "$REPO_URL" .git)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
#### 2. Demander emplacement
|
|
37
|
-
Question: "Où créer ce projet?" | Options: `C:/Dev`, `Répertoire courant`, `Chemin personnalisé`
|
|
38
|
-
|
|
39
|
-
#### 3. Demander nom projet
|
|
40
|
-
Question: "Nom du dossier projet?" | Options: `{SUGGESTED_NAME} (Recommandé)`, `Nom personnalisé`
|
|
41
|
-
|
|
42
|
-
#### 4. Confirmer
|
|
43
|
-
Afficher récapitulatif complet avec chemin final: `{TARGET_FOLDER}/{PROJECT_NAME}/`
|
|
44
|
-
|
|
45
|
-
#### 5. Créer structure (après confirmation)
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
mkdir -p "$PROJECT_BASE" && cd "$PROJECT_BASE"
|
|
49
|
-
git clone --bare "$REPO_URL" .bare
|
|
50
|
-
echo "gitdir: ./.bare" > .git
|
|
51
|
-
cd .bare && git config core.bare false && git config core.worktree ".." && cd ..
|
|
52
|
-
mkdir -p features releases hotfixes
|
|
53
|
-
git worktree add "01-Main" main
|
|
54
|
-
git worktree add "02-Develop" develop
|
|
55
|
-
cd "02-Develop"
|
|
56
|
-
mkdir -p .claude/gitflow/{plans,logs,migrations,backup,cache}
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Structure résultante:**
|
|
60
|
-
```
|
|
61
|
-
{project}/
|
|
62
|
-
├── .bare/ # Bare repository
|
|
63
|
-
├── 01-Main/ # main branch
|
|
64
|
-
├── 02-Develop/ # develop branch ← WORKING DIR
|
|
65
|
-
├── features/ # Feature worktrees
|
|
66
|
-
├── releases/ # Release worktrees
|
|
67
|
-
└── hotfixes/ # Hotfix worktrees
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## MODE B: Existing Repository
|
|
73
|
-
|
|
74
|
-
### 1. Vérifier structure existante
|
|
75
|
-
|
|
76
|
-
Si `.claude/gitflow/config.json` existe:
|
|
77
|
-
- Options: `Migrate` (màj config) | `Reset` (backup + recréer) | `Skip`
|
|
78
|
-
|
|
79
|
-
### 2. Analyser le repo
|
|
80
|
-
|
|
81
|
-
**Détections:**
|
|
82
|
-
- Branches: main/master, develop
|
|
83
|
-
- Version: `*.csproj` > `Directory.Build.props` > `VERSION` > dernier tag > `0.1.0`
|
|
84
|
-
- EF Core: références dans csproj
|
|
85
|
-
|
|
86
|
-
### 3. Générer plan
|
|
87
|
-
|
|
88
|
-
Créer `.claude/gitflow/plans/init_{DATE}.md` puis exécuter avec `--exec`
|
|
89
|
-
|
|
90
|
-
### 4. Demander style worktree
|
|
91
|
-
|
|
92
|
-
Options:
|
|
93
|
-
- `Organized (Recommandé)`: 01-Main/, 02-Develop/, features/, etc.
|
|
94
|
-
- `Adjacent`: ../worktrees/ (legacy)
|
|
95
|
-
- `Skip`: pas de worktrees
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## MODE C: Interactive (pas de repo)
|
|
100
|
-
|
|
101
|
-
**Flow:** Location → Repository URL → Project Name → Confirmation → Create
|
|
102
|
-
|
|
103
|
-
Même structure que MODE A mais avec questions préalables pour URL et emplacement.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Configuration Langue & Azure DevOps
|
|
108
|
-
|
|
109
|
-
### Langue (v1.5)
|
|
110
|
-
Question: "Langue pour descriptions?" | Options: `English (Recommended)`, `Français`
|
|
111
|
-
|
|
112
|
-
> **Note:** Prefixes (`feature/`, `feat:`) restent TOUJOURS en anglais. Seul le contenu descriptif change.
|
|
113
|
-
|
|
114
|
-
### Azure DevOps (optionnel)
|
|
115
|
-
Si Azure CLI détecté, proposer configuration: organization, project, reviewers
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Config.json Template
|
|
120
|
-
|
|
121
|
-
```json
|
|
122
|
-
{
|
|
123
|
-
"version": "1.5.0",
|
|
124
|
-
"initMode": "organized",
|
|
125
|
-
"language": { "code": "en" },
|
|
126
|
-
"naming": { "normalize": true, "maxLength": 50, "separator": "-" },
|
|
127
|
-
"repository": { "name": "", "defaultBranch": "main", "remoteUrl": "" },
|
|
128
|
-
"versioning": { "strategy": "semver", "current": "0.1.0", "tagPrefix": "v" },
|
|
129
|
-
"git": { "branches": { "main": "main", "develop": "develop" } },
|
|
130
|
-
"worktrees": {
|
|
131
|
-
"enabled": true, "mode": "organized",
|
|
132
|
-
"permanent": { "main": "../01-Main", "develop": "../02-Develop" },
|
|
133
|
-
"structure": { "features": "../features/", "releases": "../releases/", "hotfixes": "../hotfixes/" }
|
|
134
|
-
},
|
|
135
|
-
"database": { "enabled": true, "server": "localhost", "authType": "windows" },
|
|
136
|
-
"azureDevOps": { "enabled": false },
|
|
137
|
-
"efcore": { "enabled": false, "crossBranch": { "enabled": true, "blockOnConflict": true } }
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**Sections optionnelles (si activées):**
|
|
142
|
-
|
|
143
|
-
| Section | Champs additionnels |
|
|
144
|
-
|---------|---------------------|
|
|
145
|
-
| `language` | `descriptions: { add, update, fix, refactor, remove, improve }` |
|
|
146
|
-
| `database` | `username, password, namePrefix` (si authType=sql) |
|
|
147
|
-
| `azureDevOps` | `organization, project, defaultReviewers, workItemTypes, linkWorkItems` |
|
|
148
|
-
| `efcore` | `contexts[], generateScript, scriptOutputPath` |
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Database Auto-Config (v1.3)
|
|
153
|
-
|
|
154
|
-
Convention nommage DB par branche:
|
|
155
|
-
|
|
156
|
-
| Type | Pattern | Exemple |
|
|
157
|
-
|------|---------|---------|
|
|
158
|
-
| develop | `{prefix}_Dev` | `SmartStack_Dev` |
|
|
159
|
-
| feature/* | `{prefix}_feat_{name}` | `SmartStack_feat_user_auth` |
|
|
160
|
-
| hotfix/* | `{prefix}_fix_{name}` | `SmartStack_fix_login` |
|
|
161
|
-
| release/* | `{prefix}_rel_{version}` | `SmartStack_rel_1_3_0` |
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Résumé Final
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
GITFLOW INITIALIZED
|
|
169
|
-
- Repository: {name} | Remote: {url}
|
|
170
|
-
- Structure: {organized|adjacent} | Worktrees: {enabled|disabled}
|
|
171
|
-
- Working Dir: {path}/02-Develop
|
|
172
|
-
|
|
173
|
-
→ Prochain: /gitflow:10-start feature {name}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Modes CLI
|
|
179
|
-
|
|
180
|
-
| Commande | Action |
|
|
181
|
-
|----------|--------|
|
|
182
|
-
| `/gitflow:1-init {url}` | Clone avec structure organisée |
|
|
183
|
-
| `/gitflow:1-init` | Interactive ou existing repo |
|
|
184
|
-
| `/gitflow:1-init --exec` | Exécuter plan existant |
|
|
185
|
-
| `/gitflow:1-init --yes` | Sans confirmation |
|
|
186
|
-
| `/gitflow:1-init --migrate` | Forcer migration config |
|
|
187
|
-
| `/gitflow:1-init --organized` | Forcer structure organisée |
|
|
188
|
-
| `/gitflow:1-init --adjacent` | Forcer structure legacy |
|