@lugom.io/hefesto 0.3.0 → 1.0.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/agents/hefesto-argos.md +51 -237
- package/agents/hefesto-athena.md +59 -339
- package/agents/hefesto-hermes.md +39 -71
- package/bin/install.js +105 -69
- package/hooks/hefesto-check-update.cjs +32 -11
- package/hooks/hefesto-statusline.cjs +8 -17
- package/hooks/hefesto-workflow.cjs +68 -0
- package/package.json +12 -2
- package/skills/hefesto-context/SKILL.md +59 -26
- package/skills/hefesto-debug/SKILL.md +54 -0
- package/skills/hefesto-design/SKILL.md +133 -143
- package/skills/hefesto-execute/SKILL.md +133 -0
- package/skills/hefesto-init/SKILL.md +94 -59
- package/skills/hefesto-init/references/api.md +116 -0
- package/skills/hefesto-init/references/cli.md +91 -0
- package/skills/hefesto-init/references/mobile.md +69 -0
- package/skills/hefesto-init/references/web.md +246 -0
- package/skills/hefesto-new-feature/SKILL.md +75 -41
- package/skills/hefesto-security/SKILL.md +89 -0
- package/skills/hefesto-security/references/boundaries-and-bypasses.md +152 -0
- package/skills/hefesto-security/references/secrets-detection.md +121 -0
- package/skills/hefesto-security/references/severity-and-judgment.md +176 -0
- package/skills/hefesto-simplify/SKILL.md +82 -0
- package/templates/TPL-CLAUDE.md +54 -0
- package/templates/TPL-CONFIG.json +19 -0
- package/templates/TPL-DESIGN.md +305 -0
- package/templates/{FEATURE.md → TPL-FEATURE.md} +13 -6
- package/templates/TPL-PROJECT.md +50 -0
- package/templates/{RECON.md → TPL-RECON.md} +10 -4
- package/templates/{RESEARCH.md → TPL-RESEARCH.md} +15 -15
- package/templates/TPL-SECURITY.md +42 -0
- package/templates/TPL-SIMPLIFY.md +40 -0
- package/templates/{STATE.md → TPL-STATE.md} +0 -6
- package/templates/TPL-VERDICT.md +34 -0
- package/skills/hefesto-design/data/animations.csv +0 -21
- package/skills/hefesto-design/data/anti-patterns.csv +0 -41
- package/skills/hefesto-design/data/charts.csv +0 -26
- package/skills/hefesto-design/data/colors.csv +0 -108
- package/skills/hefesto-design/data/components.csv +0 -31
- package/skills/hefesto-design/data/google-fonts.csv +0 -56
- package/skills/hefesto-design/data/icons.csv +0 -23
- package/skills/hefesto-design/data/landing-pages.csv +0 -28
- package/skills/hefesto-design/data/products.csv +0 -46
- package/skills/hefesto-design/data/spacing.csv +0 -16
- package/skills/hefesto-design/data/styles.csv +0 -53
- package/skills/hefesto-design/data/typography.csv +0 -41
- package/skills/hefesto-design/data/ux-rules.csv +0 -61
- package/skills/hefesto-design/references/accessibility.md +0 -335
- package/skills/hefesto-design/references/aesthetics.md +0 -343
- package/skills/hefesto-design/references/anti-patterns.md +0 -107
- package/skills/hefesto-design/references/checklist.md +0 -66
- package/skills/hefesto-design/references/color-psychology.md +0 -203
- package/skills/hefesto-design/references/component-specs.md +0 -318
- package/skills/hefesto-design/references/polish.md +0 -339
- package/skills/hefesto-design/references/token-architecture.md +0 -394
- package/skills/hefesto-design/references/ux-rules.md +0 -349
- package/skills/hefesto-design/scripts/__pycache__/audit.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/contrast.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/validate_tokens.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/audit.py +0 -450
- package/skills/hefesto-design/scripts/contrast.py +0 -195
- package/skills/hefesto-design/scripts/core.py +0 -155
- package/skills/hefesto-design/scripts/design_system.py +0 -311
- package/skills/hefesto-design/scripts/search.py +0 -235
- package/skills/hefesto-design/scripts/validate_tokens.py +0 -274
- package/skills/hefesto-update/SKILL.md +0 -34
- package/templates/DESIGN.md +0 -137
- package/templates/PROJECT.md +0 -28
- package/templates/ROADMAP.md +0 -23
- package/templates/VERDICT.md +0 -52
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# {{DESIGN_NAME}}
|
|
2
|
+
|
|
3
|
+
{{DESIGN_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
{{DESIGN_OVERVIEW}}
|
|
8
|
+
|
|
9
|
+
## Colors
|
|
10
|
+
|
|
11
|
+
### Brand Palette
|
|
12
|
+
|
|
13
|
+
| Token | Hex | Role |
|
|
14
|
+
| --------- | --------- | -------- |
|
|
15
|
+
| Primary | `{{HEX}}` | {{ROLE}} |
|
|
16
|
+
| Secondary | `{{HEX}}` | {{ROLE}} |
|
|
17
|
+
| Tertiary | `{{HEX}}` | {{ROLE}} |
|
|
18
|
+
|
|
19
|
+
### Surface Palette
|
|
20
|
+
|
|
21
|
+
| Token | Hex | Role |
|
|
22
|
+
| -------------- | --------- | -------- |
|
|
23
|
+
| Background | `{{HEX}}` | {{ROLE}} |
|
|
24
|
+
| Surface | `{{HEX}}` | {{ROLE}} |
|
|
25
|
+
| Surface Raised | `{{HEX}}` | {{ROLE}} |
|
|
26
|
+
|
|
27
|
+
### Content Palette
|
|
28
|
+
|
|
29
|
+
| Token | Hex | Role |
|
|
30
|
+
| -------------- | --------- | -------- |
|
|
31
|
+
| Text Primary | `{{HEX}}` | {{ROLE}} |
|
|
32
|
+
| Text Secondary | `{{HEX}}` | {{ROLE}} |
|
|
33
|
+
| Text Tertiary | `{{HEX}}` | {{ROLE}} |
|
|
34
|
+
|
|
35
|
+
### Border Palette
|
|
36
|
+
|
|
37
|
+
| Token | Hex |
|
|
38
|
+
| ------------- | --------- |
|
|
39
|
+
| Border Subtle | `{{HEX}}` |
|
|
40
|
+
| Border Medium | `{{HEX}}` |
|
|
41
|
+
| Border Strong | `{{HEX}}` |
|
|
42
|
+
|
|
43
|
+
### Semantic Colors
|
|
44
|
+
|
|
45
|
+
| Token | Hex |
|
|
46
|
+
| ------- | --------- |
|
|
47
|
+
| Success | `{{HEX}}` |
|
|
48
|
+
| Warning | `{{HEX}}` |
|
|
49
|
+
| Error | `{{HEX}}` |
|
|
50
|
+
| Info | `{{HEX}}` |
|
|
51
|
+
|
|
52
|
+
## Typography
|
|
53
|
+
|
|
54
|
+
### Font Stack
|
|
55
|
+
|
|
56
|
+
| Role | Font |
|
|
57
|
+
| ---------------- | ---------------- |
|
|
58
|
+
| Display/Headings | {{FONT_DISPLAY}} |
|
|
59
|
+
| UI/Body | {{FONT_BODY}} |
|
|
60
|
+
| Mono/Code | {{FONT_MONO}} |
|
|
61
|
+
|
|
62
|
+
### Type Scale
|
|
63
|
+
|
|
64
|
+
| Level | Font | Size | Weight | Line Height | Letter Spacing | Usage |
|
|
65
|
+
| ---------- | -------- | -------- | ---------- | --------------- | ------------------ | --------- |
|
|
66
|
+
| Display | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
67
|
+
| Headline | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
68
|
+
| Subhead | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
69
|
+
| Body Large | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
70
|
+
| Body | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
71
|
+
| Body Small | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
72
|
+
| Caption | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
73
|
+
| Overline | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
74
|
+
| Code | {{FONT}} | {{SIZE}} | {{WEIGHT}} | {{LINE_HEIGHT}} | {{LETTER_SPACING}} | {{USAGE}} |
|
|
75
|
+
|
|
76
|
+
## Spacing
|
|
77
|
+
|
|
78
|
+
| Property | Value |
|
|
79
|
+
| -------------------------- | --------------- |
|
|
80
|
+
| Base unit | {{BASE_UNIT}}px |
|
|
81
|
+
| Scale | {{SCALE}} |
|
|
82
|
+
| Component padding — small | {{PAD_SM}}px |
|
|
83
|
+
| Component padding — medium | {{PAD_MD}}px |
|
|
84
|
+
| Component padding — large | {{PAD_LG}}px |
|
|
85
|
+
| Section spacing — mobile | {{SPACE_MOB}}px |
|
|
86
|
+
| Section spacing — tablet | {{SPACE_TAB}}px |
|
|
87
|
+
| Section spacing — desktop | {{SPACE_DSK}}px |
|
|
88
|
+
|
|
89
|
+
## Border Radius
|
|
90
|
+
|
|
91
|
+
{{BORDER_RADIUS_PHILOSOPHY}}
|
|
92
|
+
|
|
93
|
+
| Token | Value | Usage |
|
|
94
|
+
| ------ | ----------------- | --------- |
|
|
95
|
+
| None | {{RADIUS_NONE}}px | {{USAGE}} |
|
|
96
|
+
| Small | {{RADIUS_SM}}px | {{USAGE}} |
|
|
97
|
+
| Medium | {{RADIUS_MD}}px | {{USAGE}} |
|
|
98
|
+
| Large | {{RADIUS_LG}}px | {{USAGE}} |
|
|
99
|
+
| XL | {{RADIUS_XL}}px | {{USAGE}} |
|
|
100
|
+
| Full | 9999px | {{USAGE}} |
|
|
101
|
+
|
|
102
|
+
## Shadows
|
|
103
|
+
|
|
104
|
+
{{SHADOW_PHILOSOPHY}}
|
|
105
|
+
|
|
106
|
+
| Level | CSS Value | Usage |
|
|
107
|
+
| ------- | ---------------- | --------- |
|
|
108
|
+
| Subtle | {{SHADOW_VALUE}} | {{USAGE}} |
|
|
109
|
+
| Medium | {{SHADOW_VALUE}} | {{USAGE}} |
|
|
110
|
+
| Large | {{SHADOW_VALUE}} | {{USAGE}} |
|
|
111
|
+
| Overlay | {{SHADOW_VALUE}} | {{USAGE}} |
|
|
112
|
+
|
|
113
|
+
{{SPECIAL_TREATMENTS}}
|
|
114
|
+
|
|
115
|
+
## Motion
|
|
116
|
+
|
|
117
|
+
{{MOTION_PHILOSOPHY}}
|
|
118
|
+
|
|
119
|
+
| Property | Value | Usage |
|
|
120
|
+
| --------------- | --------------------- | --------- |
|
|
121
|
+
| Duration Fast | {{DURATION_FAST}}ms | {{USAGE}} |
|
|
122
|
+
| Duration Normal | {{DURATION_NORMAL}}ms | {{USAGE}} |
|
|
123
|
+
| Duration Slow | {{DURATION_SLOW}}ms | {{USAGE}} |
|
|
124
|
+
| Easing Default | {{EASING_DEFAULT}} | {{USAGE}} |
|
|
125
|
+
| Easing Enter | {{EASING_ENTER}} | {{USAGE}} |
|
|
126
|
+
| Easing Exit | {{EASING_EXIT}} | {{USAGE}} |
|
|
127
|
+
|
|
128
|
+
## Components
|
|
129
|
+
|
|
130
|
+
### Buttons
|
|
131
|
+
|
|
132
|
+
**Primary**
|
|
133
|
+
|
|
134
|
+
- Background: `{{HEX}}`
|
|
135
|
+
- Text: `{{HEX}}`
|
|
136
|
+
- Border: {{BORDER}}
|
|
137
|
+
- Padding: {{PADDING}}
|
|
138
|
+
- Font: {{FONT_SPEC}}
|
|
139
|
+
- Radius: {{RADIUS}}
|
|
140
|
+
- Hover: {{HOVER_STATE}}
|
|
141
|
+
- Active: {{ACTIVE_STATE}}
|
|
142
|
+
|
|
143
|
+
**Secondary**
|
|
144
|
+
|
|
145
|
+
- Background: {{BACKGROUND}}
|
|
146
|
+
- Text: `{{HEX}}`
|
|
147
|
+
- Border: {{BORDER}}
|
|
148
|
+
- Padding: {{PADDING}}
|
|
149
|
+
- Font: {{FONT_SPEC}}
|
|
150
|
+
- Radius: {{RADIUS}}
|
|
151
|
+
- Hover: {{HOVER_STATE}}
|
|
152
|
+
- Active: {{ACTIVE_STATE}}
|
|
153
|
+
|
|
154
|
+
**Ghost**
|
|
155
|
+
|
|
156
|
+
- Background: transparent
|
|
157
|
+
- Text: `{{HEX}}`
|
|
158
|
+
- Border: none
|
|
159
|
+
- Padding: {{PADDING}}
|
|
160
|
+
- Font: {{FONT_SPEC}}
|
|
161
|
+
- Radius: {{RADIUS}}
|
|
162
|
+
- Hover: {{HOVER_STATE}}
|
|
163
|
+
- Active: {{ACTIVE_STATE}}
|
|
164
|
+
|
|
165
|
+
**Destructive**
|
|
166
|
+
|
|
167
|
+
- Background: `{{HEX}}`
|
|
168
|
+
- Text: `{{HEX}}`
|
|
169
|
+
- Border: {{BORDER}}
|
|
170
|
+
- Padding: {{PADDING}}
|
|
171
|
+
- Font: {{FONT_SPEC}}
|
|
172
|
+
- Radius: {{RADIUS}}
|
|
173
|
+
- Hover: {{HOVER_STATE}}
|
|
174
|
+
- Active: {{ACTIVE_STATE}}
|
|
175
|
+
|
|
176
|
+
**Sizes:** Small {{SIZE_SM}} / Medium {{SIZE_MD}} / Large {{SIZE_LG}}
|
|
177
|
+
|
|
178
|
+
**Disabled:** {{DISABLED_STATE}}
|
|
179
|
+
|
|
180
|
+
### Cards
|
|
181
|
+
|
|
182
|
+
**Default**
|
|
183
|
+
|
|
184
|
+
- Background: `{{HEX}}`
|
|
185
|
+
- Border: {{BORDER}}
|
|
186
|
+
- Radius: {{RADIUS}}
|
|
187
|
+
- Padding: {{PADDING}}
|
|
188
|
+
- Shadow: {{SHADOW}}
|
|
189
|
+
- Hover: {{HOVER_STATE}}
|
|
190
|
+
|
|
191
|
+
**Elevated**
|
|
192
|
+
|
|
193
|
+
- Background: `{{HEX}}`
|
|
194
|
+
- Border: {{BORDER}}
|
|
195
|
+
- Radius: {{RADIUS}}
|
|
196
|
+
- Padding: {{PADDING}}
|
|
197
|
+
- Shadow: {{SHADOW}}
|
|
198
|
+
|
|
199
|
+
### Inputs
|
|
200
|
+
|
|
201
|
+
**Text Input**
|
|
202
|
+
|
|
203
|
+
- Height: {{INPUT_HEIGHT}}px
|
|
204
|
+
- Background: `{{HEX}}`
|
|
205
|
+
- Border: {{BORDER}}
|
|
206
|
+
- Radius: {{RADIUS}}
|
|
207
|
+
- Padding: {{PADDING}}
|
|
208
|
+
- Font: {{FONT_SPEC}}
|
|
209
|
+
- Text color: `{{HEX}}`
|
|
210
|
+
- Placeholder color: `{{HEX}}`
|
|
211
|
+
- Focus: {{FOCUS_STATE}}
|
|
212
|
+
- Error: {{ERROR_STATE}}
|
|
213
|
+
- Disabled: {{DISABLED_STATE}}
|
|
214
|
+
|
|
215
|
+
**Label:** {{LABEL_SPEC}}
|
|
216
|
+
|
|
217
|
+
**Helper Text:** {{HELPER_SPEC}}
|
|
218
|
+
|
|
219
|
+
### Chips
|
|
220
|
+
|
|
221
|
+
**Filter Chip**
|
|
222
|
+
|
|
223
|
+
- Background: {{BACKGROUND}}
|
|
224
|
+
- Border: {{BORDER}}
|
|
225
|
+
- Radius: {{RADIUS}}
|
|
226
|
+
- Padding: {{PADDING}}
|
|
227
|
+
- Font: {{FONT_SPEC}}
|
|
228
|
+
- Text: `{{HEX}}`
|
|
229
|
+
- Selected: {{SELECTED_STATE}}
|
|
230
|
+
|
|
231
|
+
**Status Chip**
|
|
232
|
+
|
|
233
|
+
- Padding: {{PADDING}}
|
|
234
|
+
- Font: {{FONT_SPEC}}
|
|
235
|
+
- Radius: {{RADIUS}}
|
|
236
|
+
- Success: {{SUCCESS_STATE}}
|
|
237
|
+
- Warning: {{WARNING_STATE}}
|
|
238
|
+
- Error: {{ERROR_STATE}}
|
|
239
|
+
|
|
240
|
+
### Lists
|
|
241
|
+
|
|
242
|
+
**Default List Item**
|
|
243
|
+
|
|
244
|
+
- Padding: {{PADDING}}
|
|
245
|
+
- Border bottom: {{BORDER}}
|
|
246
|
+
- Font: {{FONT_SPEC}}
|
|
247
|
+
- Text: `{{HEX}}`
|
|
248
|
+
- Secondary text: {{SECONDARY_SPEC}}
|
|
249
|
+
- Hover: {{HOVER_STATE}}
|
|
250
|
+
- Active: {{ACTIVE_STATE}}
|
|
251
|
+
- Leading element: {{LEADING_SPEC}}
|
|
252
|
+
|
|
253
|
+
### Checkboxes
|
|
254
|
+
|
|
255
|
+
- Size: {{CHECKBOX_SIZE}}px
|
|
256
|
+
- Border: {{BORDER}}
|
|
257
|
+
- Radius: {{RADIUS}}
|
|
258
|
+
- Background: `{{HEX}}`
|
|
259
|
+
- Checked: {{CHECKED_STATE}}
|
|
260
|
+
- Indeterminate: {{INDETERMINATE_STATE}}
|
|
261
|
+
- Hover: {{HOVER_STATE}}
|
|
262
|
+
- Focus: {{FOCUS_STATE}}
|
|
263
|
+
- Disabled: {{DISABLED_STATE}}
|
|
264
|
+
- Label: {{LABEL_SPEC}}
|
|
265
|
+
|
|
266
|
+
### Radio Buttons
|
|
267
|
+
|
|
268
|
+
- Size: {{RADIO_SIZE}}px
|
|
269
|
+
- Border: {{BORDER}}
|
|
270
|
+
- Radius: 9999px
|
|
271
|
+
- Background: `{{HEX}}`
|
|
272
|
+
- Selected: {{SELECTED_STATE}}
|
|
273
|
+
- Hover: {{HOVER_STATE}}
|
|
274
|
+
- Focus: {{FOCUS_STATE}}
|
|
275
|
+
- Disabled: {{DISABLED_STATE}}
|
|
276
|
+
- Label: {{LABEL_SPEC}}
|
|
277
|
+
|
|
278
|
+
### Tooltips
|
|
279
|
+
|
|
280
|
+
- Background: `{{HEX}}`
|
|
281
|
+
- Text: `{{HEX}}`
|
|
282
|
+
- Font: {{FONT_SPEC}}
|
|
283
|
+
- Padding: {{PADDING}}
|
|
284
|
+
- Radius: {{RADIUS}}
|
|
285
|
+
- Max width: {{TOOLTIP_MAX_WIDTH}}px
|
|
286
|
+
- Arrow: {{ARROW_SPEC}}
|
|
287
|
+
- Delay: {{DELAY_ENTER}}ms enter, {{DELAY_LEAVE}}ms leave
|
|
288
|
+
- Shadow: {{SHADOW}}
|
|
289
|
+
|
|
290
|
+
## Do's and Don'ts
|
|
291
|
+
|
|
292
|
+
1. **Do** {{SPECIFIC_DO_1}}
|
|
293
|
+
2. **Don't** {{SPECIFIC_DONT_1}}
|
|
294
|
+
3. **Do** {{SPECIFIC_DO_2}}
|
|
295
|
+
4. **Don't** {{SPECIFIC_DONT_2}}
|
|
296
|
+
5. **Do** {{SPECIFIC_DO_3}}
|
|
297
|
+
6. **Don't** {{SPECIFIC_DONT_3}}
|
|
298
|
+
7. **Do** {{SPECIFIC_DO_4}}
|
|
299
|
+
8. **Do** {{SPECIFIC_DO_5}}
|
|
300
|
+
9. **Don't** {{SPECIFIC_DONT_4}}
|
|
301
|
+
10. **Do** {{SPECIFIC_DO_6}}
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
_Gerado por /hefesto-design em {{DATE}}_
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
id: {
|
|
3
|
-
title:
|
|
2
|
+
id: '{{FEATURE_ID}}'
|
|
3
|
+
title: '{{FEATURE_TITLE}}'
|
|
4
4
|
status: draft
|
|
5
|
-
created: {
|
|
6
|
-
updated: {
|
|
5
|
+
created: '{{DATE}}'
|
|
6
|
+
updated: '{{DATE}}'
|
|
7
7
|
phases_total: 0
|
|
8
8
|
phases_done: 0
|
|
9
|
+
qa_iterations: 0
|
|
10
|
+
last_verdict: null
|
|
11
|
+
verification_commands: []
|
|
9
12
|
---
|
|
10
13
|
|
|
11
14
|
# {{FEATURE_ID}}: {{FEATURE_TITLE}}
|
|
@@ -33,14 +36,18 @@ phases_done: 0
|
|
|
33
36
|
|
|
34
37
|
### Fase 1: {{PHASE_1_NAME}}
|
|
35
38
|
|
|
39
|
+
**Requisitos:** {{REQ_IDS}}
|
|
40
|
+
|
|
36
41
|
**Arquivos:**
|
|
37
42
|
|
|
38
43
|
- `{{FILE_PATH}}` — {{FILE_DESCRIPTION}}
|
|
39
44
|
|
|
40
45
|
**Tarefas:**
|
|
41
46
|
|
|
42
|
-
- [ ] {{TASK_1}}
|
|
43
|
-
|
|
47
|
+
- [ ] **{{TASK_1}}**
|
|
48
|
+
Arquivo: `{{FILE_PATH}}`
|
|
49
|
+
Verificar: `{{VERIFY_COMMAND}}`
|
|
50
|
+
- [ ] **{{TASK_2}}**
|
|
44
51
|
|
|
45
52
|
**Critérios de Aceitação:**
|
|
46
53
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
## O Que É
|
|
4
|
+
|
|
5
|
+
{{PROJECT_DESCRIPTION}}
|
|
6
|
+
|
|
7
|
+
## Valor Central
|
|
8
|
+
|
|
9
|
+
{{CORE_VALUE}}
|
|
10
|
+
|
|
11
|
+
## Contexto
|
|
12
|
+
|
|
13
|
+
{{CONTEXT}}
|
|
14
|
+
|
|
15
|
+
## Restrições
|
|
16
|
+
|
|
17
|
+
- **Stack**: {{STACK_CONSTRAINT}}
|
|
18
|
+
- **Prazo**: {{DEADLINE_CONSTRAINT}}
|
|
19
|
+
|
|
20
|
+
## Convenções
|
|
21
|
+
|
|
22
|
+
{{CONVENTIONS}}
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
| ID | Título | Status | Fases | Progresso |
|
|
27
|
+
| --- | ------ | ------ | ----- | --------- |
|
|
28
|
+
| — | — | — | — | — |
|
|
29
|
+
|
|
30
|
+
### Legenda
|
|
31
|
+
|
|
32
|
+
- `draft` — Em definição
|
|
33
|
+
- `ready` — Pronta para execução
|
|
34
|
+
- `active` — Em andamento
|
|
35
|
+
- `done` — Completa e verificada
|
|
36
|
+
- `blocked` — Bloqueada
|
|
37
|
+
|
|
38
|
+
## Receitas Disponíveis
|
|
39
|
+
|
|
40
|
+
{{RECIPES}}
|
|
41
|
+
|
|
42
|
+
## Decisões
|
|
43
|
+
|
|
44
|
+
| Decisão | Justificativa | Resultado |
|
|
45
|
+
| ------- | ------------- | --------- |
|
|
46
|
+
| — | — | — |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
_Última atualização: {{DATE}}_
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
## Reconhecimento: {{FEATURE_ID}} — {{FEATURE_TITLE}}
|
|
2
|
+
|
|
2
3
|
profundidade: {{DEPTH}}
|
|
3
4
|
|
|
4
5
|
### 1. Estrutura Relevante
|
|
@@ -16,29 +17,34 @@ profundidade: {{DEPTH}}
|
|
|
16
17
|
Para cada tipo de artefato que a feature precisa criar:
|
|
17
18
|
|
|
18
19
|
**{{ARTIFACT_TYPE}}** — baseado em `{{EXAMPLE_PATH}}:{{LINES}}`
|
|
20
|
+
|
|
19
21
|
- Convenção: {{CONVENTION}}
|
|
20
22
|
- Imports: {{IMPORTS}}
|
|
21
23
|
- Exemplo real: (trecho de código copiado do codebase)
|
|
22
24
|
|
|
23
25
|
### 3. Pontos de Integração
|
|
24
26
|
|
|
25
|
-
| Arquivo
|
|
26
|
-
|
|
27
|
-
| `{{FILE_PATH}}` | modificar | {{ACTION}}
|
|
28
|
-
| `{{FILE_PATH}}` | criar
|
|
27
|
+
| Arquivo | Ação | O que fazer | Linha |
|
|
28
|
+
| --------------- | --------- | ----------- | --------- |
|
|
29
|
+
| `{{FILE_PATH}}` | modificar | {{ACTION}} | :{{LINE}} |
|
|
30
|
+
| `{{FILE_PATH}}` | criar | {{ACTION}} | — |
|
|
29
31
|
|
|
30
32
|
### 4. Dependências e Riscos
|
|
31
33
|
|
|
32
34
|
**Consumers** (importam o que vai mudar):
|
|
35
|
+
|
|
33
36
|
- `{{FILE_PATH}}:{{LINE}}` importa `{{MODULE}}`
|
|
34
37
|
|
|
35
38
|
**Testes adjacentes**:
|
|
39
|
+
|
|
36
40
|
- `{{TEST_PATH}}` — {{RELEVANCE}}
|
|
37
41
|
|
|
38
42
|
**Configs**:
|
|
43
|
+
|
|
39
44
|
- `{{CONFIG_FILE}}` precisa de `{{NEW_ENTRY}}`
|
|
40
45
|
|
|
41
46
|
**Riscos**:
|
|
47
|
+
|
|
42
48
|
- Risco: {{RISK}} → Mitigação: {{MITIGATION}}
|
|
43
49
|
|
|
44
50
|
### 5. Ordem de Ataque
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
id: {{RESEARCH_ID}}
|
|
3
|
-
title:
|
|
4
|
-
type: {{RESEARCH_TYPE}}
|
|
5
|
-
depth: {{RESEARCH_DEPTH}}
|
|
2
|
+
id: '{{RESEARCH_ID}}'
|
|
3
|
+
title: '{{RESEARCH_TITLE}}'
|
|
4
|
+
type: '{{RESEARCH_TYPE}}'
|
|
5
|
+
depth: '{{RESEARCH_DEPTH}}'
|
|
6
6
|
status: draft
|
|
7
|
-
feature: {{LINKED_FEATURE}}
|
|
8
|
-
created: {{DATE}}
|
|
9
|
-
updated: {{DATE}}
|
|
7
|
+
feature: '{{LINKED_FEATURE}}'
|
|
8
|
+
created: '{{DATE}}'
|
|
9
|
+
updated: '{{DATE}}'
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# {{RESEARCH_ID}}: {{RESEARCH_TITLE}}
|
|
@@ -27,22 +27,22 @@ updated: {{DATE}}
|
|
|
27
27
|
|
|
28
28
|
## Recomendação
|
|
29
29
|
|
|
30
|
-
{{RECOMMENDATION
|
|
30
|
+
{{RECOMMENDATION}}
|
|
31
31
|
|
|
32
32
|
## Paisagem de Implementação
|
|
33
33
|
|
|
34
34
|
### Arquivos-chave
|
|
35
35
|
|
|
36
|
-
- `{{FILE_PATH}}` — {{
|
|
37
|
-
- `{{FILE_PATH}}` — {{
|
|
36
|
+
- `{{FILE_PATH}}` — {{FILE_DESCRIPTION}}
|
|
37
|
+
- `{{FILE_PATH}}` — {{CHANGE_DESCRIPTION}}
|
|
38
38
|
|
|
39
39
|
### Ordem de Construção
|
|
40
40
|
|
|
41
|
-
{{
|
|
41
|
+
{{BUILD_ORDER}}
|
|
42
42
|
|
|
43
43
|
### Verificação
|
|
44
44
|
|
|
45
|
-
{{
|
|
45
|
+
{{VERIFICATION_STEPS}}
|
|
46
46
|
|
|
47
47
|
<!-- Seções abaixo: incluir apenas quando tiverem conteúdo real -->
|
|
48
48
|
|
|
@@ -82,6 +82,6 @@ updated: {{DATE}}
|
|
|
82
82
|
|
|
83
83
|
## Fontes
|
|
84
84
|
|
|
85
|
-
| #
|
|
86
|
-
|
|
|
87
|
-
| 1
|
|
85
|
+
| # | Título | URL | Confiabilidade |
|
|
86
|
+
| --- | ------ | --- | -------------- |
|
|
87
|
+
| 1 | — | — | alta |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
## Relatório de Segurança
|
|
2
|
+
|
|
3
|
+
feature: {{FEATURE_ID}}
|
|
4
|
+
escopo: {{FILE_COUNT}} arquivos analisados
|
|
5
|
+
|
|
6
|
+
### 🔴 Críticos ({{CRITICAL_COUNT}})
|
|
7
|
+
|
|
8
|
+
| Arquivo | Linha | Categoria | Descrição | Fix |
|
|
9
|
+
| ------------- | -------- | ------------ | --------------- | --------------- |
|
|
10
|
+
| {{FILE_PATH}} | {{LINE}} | {{CATEGORY}} | {{DESCRIPTION}} | {{FIX_APPLIED}} |
|
|
11
|
+
|
|
12
|
+
### ⚠ Warnings ({{WARNING_COUNT}})
|
|
13
|
+
|
|
14
|
+
| Arquivo | Linha | Categoria | Descrição | Fix |
|
|
15
|
+
| ------------- | -------- | ------------ | --------------- | ----------------------------- |
|
|
16
|
+
| {{FILE_PATH}} | {{LINE}} | {{CATEGORY}} | {{DESCRIPTION}} | {{FIX_APPLIED_OR_SUGGESTION}} |
|
|
17
|
+
|
|
18
|
+
### ℹ Info ({{INFO_COUNT}})
|
|
19
|
+
|
|
20
|
+
- `{{FILE_PATH}}:{{LINE}}` — {{DESCRIPTION}}
|
|
21
|
+
|
|
22
|
+
## Cobertura por Fase
|
|
23
|
+
|
|
24
|
+
| Fase | Issues | Status |
|
|
25
|
+
| ------------------ | ---------------- | ---------------- |
|
|
26
|
+
| Vulnerabilidades | {{VULN_COUNT}} | {{PHASE_STATUS}} |
|
|
27
|
+
| Falhas silenciosas | {{SILENT_COUNT}} | {{PHASE_STATUS}} |
|
|
28
|
+
| Segredos | {{SECRET_COUNT}} | {{PHASE_STATUS}} |
|
|
29
|
+
|
|
30
|
+
## Fixes Aplicados
|
|
31
|
+
|
|
32
|
+
- `{{FILE_PATH}}:{{LINE}}` — {{FIX_DESCRIPTION}}
|
|
33
|
+
|
|
34
|
+
## Não Corrigidos (requer decisão)
|
|
35
|
+
|
|
36
|
+
- `{{FILE_PATH}}:{{LINE}}` — {{REASON_NOT_FIXED}}
|
|
37
|
+
|
|
38
|
+
## Verification
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
{{VERIFICATION_COMMAND}} — {{PASS_OR_FAIL}}
|
|
42
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## Relatório de Simplificação
|
|
2
|
+
|
|
3
|
+
feature: {{FEATURE_ID}}
|
|
4
|
+
escopo: {{FILE_COUNT}} arquivos revisados
|
|
5
|
+
|
|
6
|
+
### Reuso
|
|
7
|
+
|
|
8
|
+
| Arquivo | Linha | Issue | Fix |
|
|
9
|
+
| ------------- | -------- | --------------- | --------------- |
|
|
10
|
+
| {{FILE_PATH}} | {{LINE}} | {{REUSE_ISSUE}} | {{FIX_APPLIED}} |
|
|
11
|
+
|
|
12
|
+
### Qualidade
|
|
13
|
+
|
|
14
|
+
| Arquivo | Linha | Issue | Fix |
|
|
15
|
+
| ------------- | -------- | ----------------- | --------------- |
|
|
16
|
+
| {{FILE_PATH}} | {{LINE}} | {{QUALITY_ISSUE}} | {{FIX_APPLIED}} |
|
|
17
|
+
|
|
18
|
+
### Eficiência
|
|
19
|
+
|
|
20
|
+
| Arquivo | Linha | Issue | Fix |
|
|
21
|
+
| ------------- | -------- | -------------------- | --------------- |
|
|
22
|
+
| {{FILE_PATH}} | {{LINE}} | {{EFFICIENCY_ISSUE}} | {{FIX_APPLIED}} |
|
|
23
|
+
|
|
24
|
+
## Resumo
|
|
25
|
+
|
|
26
|
+
| Dimensão | Issues | Corrigidos | Ignorados |
|
|
27
|
+
| ---------- | -------------------- | -------------------- | ---------------------- |
|
|
28
|
+
| Reuso | {{REUSE_COUNT}} | {{REUSE_FIXED}} | {{REUSE_SKIPPED}} |
|
|
29
|
+
| Qualidade | {{QUALITY_COUNT}} | {{QUALITY_FIXED}} | {{QUALITY_SKIPPED}} |
|
|
30
|
+
| Eficiência | {{EFFICIENCY_COUNT}} | {{EFFICIENCY_FIXED}} | {{EFFICIENCY_SKIPPED}} |
|
|
31
|
+
|
|
32
|
+
## Não Corrigidos
|
|
33
|
+
|
|
34
|
+
- `{{FILE_PATH}}:{{LINE}}` — {{REASON_SKIPPED}}
|
|
35
|
+
|
|
36
|
+
## Verification
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
{{VERIFICATION_COMMAND}} — {{PASS_OR_FAIL}}
|
|
40
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
## Veredicto
|
|
2
|
+
|
|
3
|
+
status: {{VERDICT_STATUS}}
|
|
4
|
+
feature: {{FEATURE_ID}}
|
|
5
|
+
fase: {{PHASE_NUMBER}}
|
|
6
|
+
|
|
7
|
+
## Requisitos
|
|
8
|
+
|
|
9
|
+
| ID | Requisito | Status | Evidência |
|
|
10
|
+
| ---------- | ------------------- | -------------- | ---------------- |
|
|
11
|
+
| {{REQ_ID}} | {{REQ_DESCRIPTION}} | {{REQ_STATUS}} | {{REQ_EVIDENCE}} |
|
|
12
|
+
|
|
13
|
+
## Testes Criados
|
|
14
|
+
|
|
15
|
+
- `{{TEST_FILE_PATH}}` — {{TEST_COUNT}} testes, {{PASS_COUNT}} pass, {{FAIL_COUNT}} fail
|
|
16
|
+
|
|
17
|
+
## Edge Cases Encontrados
|
|
18
|
+
|
|
19
|
+
- {{EDGE_CASE_DESCRIPTION}}
|
|
20
|
+
|
|
21
|
+
## Fora do Escopo (confirmado)
|
|
22
|
+
|
|
23
|
+
- {{OUT_OF_SCOPE_ITEM}}
|
|
24
|
+
|
|
25
|
+
## Questões para o Implementador
|
|
26
|
+
|
|
27
|
+
1. {{IMPLEMENTER_QUESTION}}
|
|
28
|
+
|
|
29
|
+
## QA Loop (re-avaliação)
|
|
30
|
+
|
|
31
|
+
qa_iteration: {{QA_ITERATION}}
|
|
32
|
+
items_fixed: {{ITEMS_FIXED}}
|
|
33
|
+
items_remaining: {{ITEMS_REMAINING}}
|
|
34
|
+
regression_detected: {{REGRESSION_DETECTED}}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
id,name,context,duration_ms,easing,property,description,reduced_motion
|
|
2
|
-
1,page-enter,Entrada de nova página ou rota,300,cubic-bezier(0.4 0 0.2 1),opacity transform,Fade in com slide up sutil de 8px ao entrar em nova página. Cria sensação de fluidez na navegação.,fade-only
|
|
3
|
-
2,page-exit,Saída de página ou rota atual,200,cubic-bezier(0.4 0 1 1),opacity,Fade out rápido ao sair da página atual. Mais rápido que a entrada para não atrasar a navegação.,instant
|
|
4
|
-
3,button-press,Feedback de clique em botão,100,cubic-bezier(0.4 0 0.2 1),transform,Scale down para 0.97 ao pressionar botão. Feedback tátil visual que confirma o clique.,instant
|
|
5
|
-
4,button-hover,Hover state de botão,150,cubic-bezier(0.4 0 0.2 1),background-color box-shadow,Transição suave de cor de fundo e elevação de sombra ao passar o mouse sobre botão.,instant
|
|
6
|
-
5,card-hover,Hover state de card interativo,200,cubic-bezier(0.4 0 0.2 1),transform box-shadow,Elevação sutil com translateY(-2px) e aumento de shadow. Indica que o card é clicável.,instant
|
|
7
|
-
6,modal-enter,Abertura de modal dialog,300,cubic-bezier(0 0 0.2 1),opacity transform,Fade in do backdrop com scale de 0.95 para 1 do modal. Cria sensação de emergência do fundo.,fade-only
|
|
8
|
-
7,modal-exit,Fechamento de modal dialog,200,cubic-bezier(0.4 0 1 1),opacity transform,Scale para 0.95 com fade out. Saída mais rápida que entrada para retorno imediato ao contexto.,instant
|
|
9
|
-
8,drawer-enter,Abertura de drawer ou sheet lateral,300,cubic-bezier(0 0 0.2 1),transform opacity,Slide in da borda com fade in do backdrop. translateX de 100% para 0 (drawer direito).,fade-only
|
|
10
|
-
9,drawer-exit,Fechamento de drawer ou sheet,250,cubic-bezier(0.4 0 1 1),transform opacity,Slide out para a borda com fade out do backdrop. Ligeiramente mais rápido que entrada.,instant
|
|
11
|
-
10,toast-enter,Aparição de toast notification,300,cubic-bezier(0.4 0 0.2 1),opacity transform,Slide up de 16px com fade in a partir do canto inferior. Chama atenção sem ser intrusivo.,fade-only
|
|
12
|
-
11,toast-exit,Desaparecimento de toast notification,200,cubic-bezier(0.4 0 1 1),opacity transform,Fade out com slide down sutil de 8px. Saída discreta que não distrai do conteúdo principal.,instant
|
|
13
|
-
12,skeleton-pulse,Pulsação de skeleton loading,1500,cubic-bezier(0.4 0 0.6 1),opacity,Pulsação contínua de opacidade entre 0.4 e 1.0 indicando carregamento. Loop até conteúdo real carregar.,none
|
|
14
|
-
13,spinner-rotate,Rotação de spinner de loading,800,linear,transform,Rotação contínua de 360 graus. Linear para rotação uniforme. Loop infinito até carregamento completar.,none
|
|
15
|
-
14,accordion-expand,Expansão de seção de accordion,300,cubic-bezier(0.4 0 0.2 1),max-height opacity,Crescimento de height com fade in do conteúdo interno. Animação de reveal suave e orgânica.,instant
|
|
16
|
-
15,tab-switch,Transição entre tabs de conteúdo,200,cubic-bezier(0.4 0 0.2 1),opacity transform,Crossfade entre painéis com slide lateral sutil de 8px na direção da tab selecionada.,instant
|
|
17
|
-
16,fade-in,Fade in genérico de elemento,300,cubic-bezier(0.4 0 0.2 1),opacity,Transição simples de opacity 0 para 1. Uso genérico para revelar qualquer elemento.,fade-only
|
|
18
|
-
17,slide-up,Slide up para revelar elemento,400,cubic-bezier(0.4 0 0.2 1),opacity transform,Combinação de fade in com translateY de 24px para 0. Para seções de conteúdo e cards ao entrar no viewport.,fade-only
|
|
19
|
-
18,scale-in,Scale in para elementos de destaque,250,cubic-bezier(0.34 1.56 0.64 1),opacity transform,Scale de 0.8 para 1 com leve overshoot elástico. Para modais e popovers e elementos de destaque.,fade-only
|
|
20
|
-
19,stagger-children,Entrada sequencial de lista de itens,400,cubic-bezier(0.4 0 0.2 1),opacity transform,Cada filho entra com delay incremental de 50ms. Slide up de 16px com fade in. Para listas e grids.,fade-only
|
|
21
|
-
20,scroll-reveal,Revelação de elemento ao entrar no viewport,500,cubic-bezier(0.4 0 0.2 1),opacity transform,Intersection Observer trigger. Fade in com slide up de 32px ao elemento entrar no viewport com 20% de threshold.,fade-only
|