wogiflow 1.0.21 → 1.0.22
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/.claude/commands/wogi-bug.md +43 -0
- package/.claude/commands/wogi-bulk.md +144 -0
- package/.claude/commands/wogi-changelog.md +36 -0
- package/.claude/commands/wogi-compact.md +99 -0
- package/.claude/commands/wogi-config.md +50 -0
- package/.claude/commands/wogi-context.md +68 -0
- package/.claude/commands/wogi-correction.md +73 -0
- package/.claude/commands/wogi-debt.md +128 -0
- package/.claude/commands/wogi-deps.md +32 -0
- package/.claude/commands/wogi-epics.md +145 -0
- package/.claude/commands/wogi-export.md +100 -0
- package/.claude/commands/wogi-feature.md +149 -0
- package/.claude/commands/wogi-guided-edit.md +83 -0
- package/.claude/commands/wogi-health.md +43 -0
- package/.claude/commands/wogi-help.md +96 -0
- package/.claude/commands/wogi-hybrid-edit.md +36 -0
- package/.claude/commands/wogi-hybrid-off.md +24 -0
- package/.claude/commands/wogi-hybrid-setup.md +79 -0
- package/.claude/commands/wogi-hybrid-status.md +45 -0
- package/.claude/commands/wogi-hybrid.md +54 -0
- package/.claude/commands/wogi-import.md +44 -0
- package/.claude/commands/wogi-init.md +618 -0
- package/.claude/commands/wogi-log.md +38 -0
- package/.claude/commands/wogi-map-add.md +29 -0
- package/.claude/commands/wogi-map-check.md +35 -0
- package/.claude/commands/wogi-map-index.md +98 -0
- package/.claude/commands/wogi-map-scan.md +38 -0
- package/.claude/commands/wogi-map-sync.md +91 -0
- package/.claude/commands/wogi-map.md +33 -0
- package/.claude/commands/wogi-morning.md +65 -0
- package/.claude/commands/wogi-onboard.md +99 -0
- package/.claude/commands/wogi-plan.md +173 -0
- package/.claude/commands/wogi-ready.md +84 -0
- package/.claude/commands/wogi-resume.md +95 -0
- package/.claude/commands/wogi-review.md +636 -0
- package/.claude/commands/wogi-roadmap.md +241 -0
- package/.claude/commands/wogi-rules.md +104 -0
- package/.claude/commands/wogi-search.md +33 -0
- package/.claude/commands/wogi-session-end.md +49 -0
- package/.claude/commands/wogi-setup-stack.md +151 -0
- package/.claude/commands/wogi-skill-learn.md +66 -0
- package/.claude/commands/wogi-skills.md +87 -0
- package/.claude/commands/wogi-standup.md +28 -0
- package/.claude/commands/wogi-start.md +465 -0
- package/.claude/commands/wogi-status.md +41 -0
- package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
- package/.claude/commands/wogi-story.md +98 -0
- package/.claude/commands/wogi-suspend.md +87 -0
- package/.claude/commands/wogi-test-browser.md +43 -0
- package/.claude/commands/wogi-trace.md +198 -0
- package/.claude/docs/architecture.md +37 -0
- package/.claude/docs/commands.md +343 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
- package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
- package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
- package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
- package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
- package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
- package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
- package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
- package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
- package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
- package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
- package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
- package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
- package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
- package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
- package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
- package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
- package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
- package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
- package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
- package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
- package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
- package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
- package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
- package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
- package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
- package/.claude/docs/knowledge-base/README.md +92 -0
- package/.claude/docs/knowledge-base/configuration/README.md +228 -0
- package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
- package/.claude/docs/knowledge-base/future-features.md +277 -0
- package/.claude/docs/stack.md +25 -0
- package/.claude/docs/testing.md +71 -0
- package/.claude/rules/README.md +60 -0
- package/.claude/rules/architecture/component-reuse.md +38 -0
- package/.claude/rules/architecture/document-structure.md +76 -0
- package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
- package/.claude/rules/architecture/model-management.md +35 -0
- package/.claude/rules/code-style/naming-conventions.md +55 -0
- package/.claude/rules/security/security-patterns.md +116 -0
- package/.claude/skills/.gitkeep +0 -0
- package/.claude/skills/README.md +131 -0
- package/.claude/skills/_template/commands/.gitkeep +0 -0
- package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
- package/.claude/skills/_template/knowledge/learnings.md +60 -0
- package/.claude/skills/_template/knowledge/patterns.md +45 -0
- package/.claude/skills/_template/rules/.gitkeep +0 -0
- package/.claude/skills/_template/skill.md +99 -0
- package/.claude/skills/_template/templates/.gitkeep +0 -0
- package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
- package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
- package/.claude/skills/figma-analyzer/skill.md +236 -0
- package/lib/installer.js +59 -19
- package/package.json +5 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Development Tools
|
|
2
|
+
|
|
3
|
+
Features that accelerate specific development workflows.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
These tools speed up common tasks:
|
|
10
|
+
- Design-to-code with Figma
|
|
11
|
+
- Understanding codebases with traces
|
|
12
|
+
- Step-by-step multi-file editing
|
|
13
|
+
- MCP server integrations
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
| Feature | Purpose |
|
|
20
|
+
|---------|---------|
|
|
21
|
+
| [Figma Analyzer](./figma-analyzer.md) | Design-to-code component matching |
|
|
22
|
+
| [Code Traces](./code-traces.md) | Understand code flow for features |
|
|
23
|
+
| [Guided Edit](./guided-edit.md) | Step-by-step multi-file changes |
|
|
24
|
+
| [MCP Integrations](./mcp-integrations.md) | External tool connections |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
### Figma Analysis
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
/wogi-figma analyze LoginScreen
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Code Trace
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
/wogi-trace "user authentication flow"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Guided Edit
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
/wogi-guided-edit "rename Button to BaseButton"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Key Configuration
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"figmaAnalyzer": {
|
|
55
|
+
"enabled": true,
|
|
56
|
+
"thresholds": {
|
|
57
|
+
"exactMatch": 95,
|
|
58
|
+
"strongMatch": 80
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"traces": {
|
|
62
|
+
"saveTo": ".workflow/traces",
|
|
63
|
+
"generateDiagrams": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Integration Points
|
|
71
|
+
|
|
72
|
+
These tools integrate with:
|
|
73
|
+
- Task execution (auto-context)
|
|
74
|
+
- Component indexing
|
|
75
|
+
- App-map registry
|
|
76
|
+
- Hybrid mode
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Related
|
|
81
|
+
|
|
82
|
+
- [Task Execution](../02-task-execution/) - Core workflow
|
|
83
|
+
- [Setup](../01-setup-onboarding/) - Component indexing
|
|
84
|
+
- [Configuration](../configuration/all-options.md) - All settings
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# Code Traces
|
|
2
|
+
|
|
3
|
+
Understand how code flows for specific features or behaviors.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Code traces help you:
|
|
10
|
+
- Understand how features work
|
|
11
|
+
- Find all files involved in a flow
|
|
12
|
+
- Create diagrams of code paths
|
|
13
|
+
- Document architecture
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Configuration
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"traces": {
|
|
22
|
+
"saveTo": ".workflow/traces",
|
|
23
|
+
"generateDiagrams": true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Generate a Trace
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
/wogi-trace "user authentication flow"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Output
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
🔍 Code Trace: User Authentication Flow
|
|
42
|
+
|
|
43
|
+
Entry Points:
|
|
44
|
+
→ src/pages/login.tsx
|
|
45
|
+
→ src/components/LoginForm.tsx
|
|
46
|
+
|
|
47
|
+
Flow:
|
|
48
|
+
1. LoginForm.tsx
|
|
49
|
+
├── Renders form with email/password
|
|
50
|
+
├── Calls: useAuth hook
|
|
51
|
+
└── On submit: authService.login()
|
|
52
|
+
|
|
53
|
+
2. src/hooks/useAuth.ts
|
|
54
|
+
├── Manages auth state (Zustand)
|
|
55
|
+
├── Calls: authService methods
|
|
56
|
+
└── Returns: user, login, logout
|
|
57
|
+
|
|
58
|
+
3. src/services/authService.ts
|
|
59
|
+
├── login(email, password)
|
|
60
|
+
│ └── POST /api/auth/login
|
|
61
|
+
├── logout()
|
|
62
|
+
│ └── DELETE /api/auth/session
|
|
63
|
+
└── refreshToken()
|
|
64
|
+
└── POST /api/auth/refresh
|
|
65
|
+
|
|
66
|
+
4. src/pages/api/auth/login.ts
|
|
67
|
+
├── Validates credentials
|
|
68
|
+
├── Creates JWT token
|
|
69
|
+
└── Sets httpOnly cookie
|
|
70
|
+
|
|
71
|
+
Files Involved: 7
|
|
72
|
+
Total Lines: ~450
|
|
73
|
+
|
|
74
|
+
Diagram saved: .workflow/traces/auth-flow.md
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Trace Types
|
|
80
|
+
|
|
81
|
+
### Feature Trace
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
/wogi-trace "checkout process"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Traces a complete user feature.
|
|
88
|
+
|
|
89
|
+
### Component Trace
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
/wogi-trace component Button
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Traces where a component is used.
|
|
96
|
+
|
|
97
|
+
### API Trace
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
/wogi-trace api "/api/users"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Traces an API endpoint's flow.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Diagram Generation
|
|
108
|
+
|
|
109
|
+
When `generateDiagrams` is enabled:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Auth Flow Diagram
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
sequenceDiagram
|
|
116
|
+
participant U as User
|
|
117
|
+
participant LF as LoginForm
|
|
118
|
+
participant AS as AuthService
|
|
119
|
+
participant API as /api/auth
|
|
120
|
+
participant DB as Database
|
|
121
|
+
|
|
122
|
+
U->>LF: Enter credentials
|
|
123
|
+
LF->>AS: login(email, pass)
|
|
124
|
+
AS->>API: POST /login
|
|
125
|
+
API->>DB: Find user
|
|
126
|
+
DB-->>API: User record
|
|
127
|
+
API->>API: Verify password
|
|
128
|
+
API->>API: Create JWT
|
|
129
|
+
API-->>AS: Token + User
|
|
130
|
+
AS->>AS: Store in state
|
|
131
|
+
AS-->>LF: Success
|
|
132
|
+
LF-->>U: Redirect to dashboard
|
|
133
|
+
```
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Trace Files
|
|
139
|
+
|
|
140
|
+
Saved to `.workflow/traces/`:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
.workflow/traces/
|
|
144
|
+
├── auth-flow.md
|
|
145
|
+
├── checkout-process.md
|
|
146
|
+
├── button-usage.md
|
|
147
|
+
└── api-users.md
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Trace File Format
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
# Trace: User Authentication Flow
|
|
154
|
+
|
|
155
|
+
Generated: 2024-01-15 10:30
|
|
156
|
+
|
|
157
|
+
## Summary
|
|
158
|
+
Authentication flow from login form to API to database.
|
|
159
|
+
|
|
160
|
+
## Entry Points
|
|
161
|
+
- src/pages/login.tsx
|
|
162
|
+
- src/components/LoginForm.tsx
|
|
163
|
+
|
|
164
|
+
## Files
|
|
165
|
+
| File | Role | Lines |
|
|
166
|
+
|------|------|-------|
|
|
167
|
+
| LoginForm.tsx | UI | 45 |
|
|
168
|
+
| useAuth.ts | State | 62 |
|
|
169
|
+
| authService.ts | Service | 85 |
|
|
170
|
+
| login.ts | API | 120 |
|
|
171
|
+
|
|
172
|
+
## Flow Diagram
|
|
173
|
+
[Mermaid diagram]
|
|
174
|
+
|
|
175
|
+
## Key Functions
|
|
176
|
+
- `login(email, password)` - Main auth entry
|
|
177
|
+
- `createToken(user)` - JWT generation
|
|
178
|
+
- `validatePassword(input, hash)` - Verification
|
|
179
|
+
|
|
180
|
+
## Notes
|
|
181
|
+
- Uses JWT with 1hr expiry
|
|
182
|
+
- Refresh token in httpOnly cookie
|
|
183
|
+
- Rate limited to 5 attempts/minute
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Commands
|
|
189
|
+
|
|
190
|
+
| Command | Purpose |
|
|
191
|
+
|---------|---------|
|
|
192
|
+
| `/wogi-trace "<description>"` | Create feature trace |
|
|
193
|
+
| `/wogi-trace component <name>` | Trace component usage |
|
|
194
|
+
| `/wogi-trace api "<endpoint>"` | Trace API endpoint |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Use Cases
|
|
199
|
+
|
|
200
|
+
### Understanding Legacy Code
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
/wogi-trace "how does the payment system work"
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Onboarding New Developer
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
/wogi-trace "main application flow"
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Debugging
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
/wogi-trace "error handling in API"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Documentation
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
/wogi-trace "data sync process" --save
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Integration with Tasks
|
|
227
|
+
|
|
228
|
+
Traces can feed into task planning:
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
1. Generate trace
|
|
232
|
+
2. Identify all files involved
|
|
233
|
+
3. Create task with file list
|
|
234
|
+
4. Use trace for context during implementation
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Best Practices
|
|
240
|
+
|
|
241
|
+
1. **Start Broad**: Use general descriptions first
|
|
242
|
+
2. **Refine**: Add specifics if trace is too large
|
|
243
|
+
3. **Save Important Traces**: Good for documentation
|
|
244
|
+
4. **Update After Changes**: Regenerate stale traces
|
|
245
|
+
5. **Use for Planning**: Understand before modifying
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Troubleshooting
|
|
250
|
+
|
|
251
|
+
### Trace Too Large
|
|
252
|
+
|
|
253
|
+
Be more specific:
|
|
254
|
+
```bash
|
|
255
|
+
# Too broad
|
|
256
|
+
/wogi-trace "user management"
|
|
257
|
+
|
|
258
|
+
# Better
|
|
259
|
+
/wogi-trace "user password reset flow"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Missing Files
|
|
263
|
+
|
|
264
|
+
- Check if files are in indexed directories
|
|
265
|
+
- Ensure file extensions are supported
|
|
266
|
+
- Verify imports are standard format
|
|
267
|
+
|
|
268
|
+
### Diagrams Not Generating
|
|
269
|
+
|
|
270
|
+
Check `generateDiagrams` is true and Mermaid syntax is valid.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Related
|
|
275
|
+
|
|
276
|
+
- [Task Planning](../02-task-execution/01-task-planning.md) - Using traces for planning
|
|
277
|
+
- [Component Indexing](../01-setup-onboarding/component-indexing.md) - File discovery
|
|
278
|
+
- [Configuration](../configuration/all-options.md) - All settings
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# Figma Analyzer
|
|
2
|
+
|
|
3
|
+
Match Figma designs to existing components for faster design-to-code.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
When implementing designs:
|
|
10
|
+
1. **Find Existing Components**: Don't recreate what exists
|
|
11
|
+
2. **Identify Variants**: Suggest variants over new components
|
|
12
|
+
3. **Generate Prompts**: Create implementation prompts
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Configuration
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"figmaAnalyzer": {
|
|
21
|
+
"enabled": true,
|
|
22
|
+
"thresholds": {
|
|
23
|
+
"exactMatch": 95, // Score for "use as-is"
|
|
24
|
+
"strongMatch": 80, // Score for "good match"
|
|
25
|
+
"variantCandidate": 60 // Score for "add variant"
|
|
26
|
+
},
|
|
27
|
+
"componentDirs": [
|
|
28
|
+
"src/components",
|
|
29
|
+
"components",
|
|
30
|
+
"src/ui",
|
|
31
|
+
"ui"
|
|
32
|
+
],
|
|
33
|
+
"mcpServer": {
|
|
34
|
+
"port": 3847,
|
|
35
|
+
"autoStart": false
|
|
36
|
+
},
|
|
37
|
+
"autoScanOnAnalyze": true,
|
|
38
|
+
"generatePrompts": true
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## How It Works
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Figma Design
|
|
49
|
+
↓
|
|
50
|
+
┌─────────────────────────────────────────┐
|
|
51
|
+
│ 1. Extract design metadata │
|
|
52
|
+
│ - Component names │
|
|
53
|
+
│ - Props/variants │
|
|
54
|
+
│ - Styles │
|
|
55
|
+
├─────────────────────────────────────────┤
|
|
56
|
+
│ 2. Match against codebase │
|
|
57
|
+
│ - Name similarity │
|
|
58
|
+
│ - Prop compatibility │
|
|
59
|
+
│ - Style matching │
|
|
60
|
+
├─────────────────────────────────────────┤
|
|
61
|
+
│ 3. Score matches │
|
|
62
|
+
│ - Exact: 95+ │
|
|
63
|
+
│ - Strong: 80-95 │
|
|
64
|
+
│ - Variant: 60-80 │
|
|
65
|
+
│ - New: <60 │
|
|
66
|
+
├─────────────────────────────────────────┤
|
|
67
|
+
│ 4. Generate recommendations │
|
|
68
|
+
│ - Use existing │
|
|
69
|
+
│ - Add variant │
|
|
70
|
+
│ - Create new │
|
|
71
|
+
└─────────────────────────────────────────┘
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Usage
|
|
77
|
+
|
|
78
|
+
### Analyze a Frame
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
/wogi-figma analyze "Login Screen"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Output
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
📐 Figma Analysis: Login Screen
|
|
88
|
+
|
|
89
|
+
Found 8 components in design:
|
|
90
|
+
|
|
91
|
+
1. Button "Submit"
|
|
92
|
+
✅ EXACT MATCH (97%)
|
|
93
|
+
→ Use: src/components/Button.tsx
|
|
94
|
+
→ Props: variant="primary", size="lg"
|
|
95
|
+
|
|
96
|
+
2. Input "Email"
|
|
97
|
+
🔶 STRONG MATCH (85%)
|
|
98
|
+
→ Use: src/components/Input.tsx
|
|
99
|
+
→ Note: Add "email" variant for icon
|
|
100
|
+
|
|
101
|
+
3. Card "Login Container"
|
|
102
|
+
🔶 VARIANT CANDIDATE (72%)
|
|
103
|
+
→ Base: src/components/Card.tsx
|
|
104
|
+
→ Suggestion: Add "auth" variant
|
|
105
|
+
|
|
106
|
+
4. Logo "AppLogo"
|
|
107
|
+
❌ NO MATCH
|
|
108
|
+
→ Create: src/components/AppLogo.tsx
|
|
109
|
+
|
|
110
|
+
Implementation prompt generated.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Match Scores
|
|
116
|
+
|
|
117
|
+
| Score | Classification | Action |
|
|
118
|
+
|-------|---------------|--------|
|
|
119
|
+
| 95+ | Exact Match | Use as-is |
|
|
120
|
+
| 80-95 | Strong Match | Minor tweaks needed |
|
|
121
|
+
| 60-80 | Variant Candidate | Add variant |
|
|
122
|
+
| <60 | No Match | Create new |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Prompt Generation
|
|
127
|
+
|
|
128
|
+
When `generatePrompts` is enabled:
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
# Implementation Prompt: Login Screen
|
|
132
|
+
|
|
133
|
+
## Components to Use
|
|
134
|
+
|
|
135
|
+
### Button
|
|
136
|
+
Path: src/components/Button.tsx
|
|
137
|
+
Props: variant="primary", size="lg", onClick={handleSubmit}
|
|
138
|
+
|
|
139
|
+
### Input
|
|
140
|
+
Path: src/components/Input.tsx
|
|
141
|
+
Props: type="email", placeholder="Email"
|
|
142
|
+
Note: Consider adding email icon variant
|
|
143
|
+
|
|
144
|
+
## Components to Create
|
|
145
|
+
|
|
146
|
+
### AppLogo
|
|
147
|
+
Create at: src/components/AppLogo.tsx
|
|
148
|
+
From Figma: AppLogo frame
|
|
149
|
+
Specs:
|
|
150
|
+
- Width: 120px
|
|
151
|
+
- Height: 40px
|
|
152
|
+
- SVG export available
|
|
153
|
+
|
|
154
|
+
## Layout
|
|
155
|
+
- Use flex column with gap-4
|
|
156
|
+
- Card wrapper with padding-6
|
|
157
|
+
- Center aligned, max-width 400px
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## MCP Server Mode
|
|
163
|
+
|
|
164
|
+
For real-time Figma integration:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"figmaAnalyzer": {
|
|
169
|
+
"mcpServer": {
|
|
170
|
+
"port": 3847,
|
|
171
|
+
"autoStart": true
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Start Server
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
./scripts/flow figma-server start
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Connect from Figma
|
|
184
|
+
|
|
185
|
+
Use the Figma MCP plugin to connect to the running server.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Component Indexing
|
|
190
|
+
|
|
191
|
+
Figma analyzer uses component index:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Ensure index is current
|
|
195
|
+
/wogi-map-index scan
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### What's Indexed
|
|
199
|
+
|
|
200
|
+
- Component names
|
|
201
|
+
- Exported props
|
|
202
|
+
- Variants available
|
|
203
|
+
- File locations
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Commands
|
|
208
|
+
|
|
209
|
+
| Command | Purpose |
|
|
210
|
+
|---------|---------|
|
|
211
|
+
| `/wogi-figma analyze <frame>` | Analyze Figma frame |
|
|
212
|
+
| `/wogi-figma compare` | Compare design to code |
|
|
213
|
+
| `/wogi-figma prompt <frame>` | Generate impl prompt |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Best Practices
|
|
218
|
+
|
|
219
|
+
1. **Index First**: Run `/wogi-map-index scan` before analysis
|
|
220
|
+
2. **Name Consistency**: Use same names in Figma and code
|
|
221
|
+
3. **Use Variants**: Add variants instead of new components
|
|
222
|
+
4. **Review Matches**: Don't blindly trust scores
|
|
223
|
+
5. **Update App-Map**: Register new components
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Troubleshooting
|
|
228
|
+
|
|
229
|
+
### Low Match Scores
|
|
230
|
+
|
|
231
|
+
- Check naming consistency
|
|
232
|
+
- Verify component index is current
|
|
233
|
+
- Review threshold settings
|
|
234
|
+
|
|
235
|
+
### Components Not Found
|
|
236
|
+
|
|
237
|
+
- Verify `componentDirs` includes your paths
|
|
238
|
+
- Run component index scan
|
|
239
|
+
- Check file extensions match
|
|
240
|
+
|
|
241
|
+
### MCP Server Issues
|
|
242
|
+
|
|
243
|
+
- Check port availability
|
|
244
|
+
- Verify Figma plugin installed
|
|
245
|
+
- Check firewall settings
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Related
|
|
250
|
+
|
|
251
|
+
- [Component Indexing](../01-setup-onboarding/component-indexing.md)
|
|
252
|
+
- [Task Execution](../02-task-execution/) - Using prompts
|
|
253
|
+
- [Configuration](../configuration/all-options.md) - All settings
|