@mytechtoday/augment-extensions 1.2.2 → 1.3.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/augment-extensions/visual-design/CHANGELOG.md +132 -0
- package/augment-extensions/visual-design/README.md +255 -0
- package/augment-extensions/visual-design/__tests__/README.md +119 -0
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
- package/augment-extensions/visual-design/domains/other/website.ts +161 -0
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
- package/augment-extensions/visual-design/examples/README.md +97 -0
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
- package/augment-extensions/visual-design/module.json +78 -0
- package/augment-extensions/visual-design/style-selector.ts +177 -0
- package/augment-extensions/visual-design/types.ts +302 -0
- package/augment-extensions/visual-design/visual-design-core.ts +469 -0
- package/augment-extensions/workflows/adr-support/README.md +227 -0
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
- package/augment-extensions/workflows/adr-support/module.json +112 -0
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts +6 -0
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +1 -0
- package/cli/dist/utils/__tests__/adr-validator.example.js +148 -0
- package/cli/dist/utils/__tests__/adr-validator.example.js.map +1 -0
- package/cli/dist/utils/adr-validator.d.ts +65 -0
- package/cli/dist/utils/adr-validator.d.ts.map +1 -0
- package/cli/dist/utils/adr-validator.js +203 -0
- package/cli/dist/utils/adr-validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# ADR Lifecycle Management
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document defines the lifecycle of Architecture Decision Records (ADRs), including status transitions, validation rules, and review scheduling.
|
|
6
|
+
|
|
7
|
+
## ADR Lifecycle States
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
draft → proposed → approved → implemented → maintained
|
|
11
|
+
↓
|
|
12
|
+
superseded
|
|
13
|
+
↓
|
|
14
|
+
sunset
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### State Definitions
|
|
18
|
+
|
|
19
|
+
#### 1. **Draft**
|
|
20
|
+
- **Purpose**: Initial creation, work in progress
|
|
21
|
+
- **Who**: Decision author
|
|
22
|
+
- **Duration**: Hours to days
|
|
23
|
+
- **Characteristics**:
|
|
24
|
+
- May be incomplete
|
|
25
|
+
- Under active editing
|
|
26
|
+
- Not yet ready for review
|
|
27
|
+
- Can be deleted without ceremony
|
|
28
|
+
|
|
29
|
+
**Example:**
|
|
30
|
+
```yaml
|
|
31
|
+
---
|
|
32
|
+
id: adr-0042
|
|
33
|
+
title: "Migrate to Microservices Architecture"
|
|
34
|
+
status: draft
|
|
35
|
+
date: 2026-02-05
|
|
36
|
+
---
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### 2. **Proposed**
|
|
40
|
+
- **Purpose**: Ready for review and decision
|
|
41
|
+
- **Who**: Decision author + stakeholders
|
|
42
|
+
- **Duration**: Days to weeks
|
|
43
|
+
- **Characteristics**:
|
|
44
|
+
- Complete and well-documented
|
|
45
|
+
- Awaiting team review
|
|
46
|
+
- Open for feedback
|
|
47
|
+
- May be revised based on feedback
|
|
48
|
+
|
|
49
|
+
**Example:**
|
|
50
|
+
```yaml
|
|
51
|
+
---
|
|
52
|
+
id: adr-0042
|
|
53
|
+
title: "Migrate to Microservices Architecture"
|
|
54
|
+
status: proposed
|
|
55
|
+
date: 2026-02-05
|
|
56
|
+
review_by: 2026-02-12
|
|
57
|
+
reviewers: ["tech-lead", "architect", "team"]
|
|
58
|
+
---
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### 3. **Approved**
|
|
62
|
+
- **Purpose**: Decision accepted, ready for implementation
|
|
63
|
+
- **Who**: Decision makers
|
|
64
|
+
- **Duration**: Days to months (until implemented)
|
|
65
|
+
- **Characteristics**:
|
|
66
|
+
- Team consensus reached
|
|
67
|
+
- Implementation can begin
|
|
68
|
+
- Changes require re-approval
|
|
69
|
+
- Linked to implementation tasks
|
|
70
|
+
|
|
71
|
+
**Example:**
|
|
72
|
+
```yaml
|
|
73
|
+
---
|
|
74
|
+
id: adr-0042
|
|
75
|
+
title: "Migrate to Microservices Architecture"
|
|
76
|
+
status: approved
|
|
77
|
+
date: 2026-02-05
|
|
78
|
+
approved_date: 2026-02-12
|
|
79
|
+
approved_by: ["tech-lead", "architect"]
|
|
80
|
+
related_tasks: ["bd-ms01", "bd-ms02", "bd-ms03"]
|
|
81
|
+
---
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### 4. **Implemented**
|
|
85
|
+
- **Purpose**: Decision has been implemented
|
|
86
|
+
- **Who**: Development team
|
|
87
|
+
- **Duration**: Months to years (active use)
|
|
88
|
+
- **Characteristics**:
|
|
89
|
+
- Code changes completed
|
|
90
|
+
- Decision is in production
|
|
91
|
+
- Consequences can be observed
|
|
92
|
+
- May need updates based on outcomes
|
|
93
|
+
|
|
94
|
+
**Example:**
|
|
95
|
+
```yaml
|
|
96
|
+
---
|
|
97
|
+
id: adr-0042
|
|
98
|
+
title: "Migrate to Microservices Architecture"
|
|
99
|
+
status: implemented
|
|
100
|
+
date: 2026-02-05
|
|
101
|
+
approved_date: 2026-02-12
|
|
102
|
+
implemented_date: 2026-03-15
|
|
103
|
+
implementation_notes: "Completed migration of user service and payment service"
|
|
104
|
+
---
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
#### 5. **Maintained**
|
|
108
|
+
- **Purpose**: Long-term active decision with ongoing updates
|
|
109
|
+
- **Who**: Team
|
|
110
|
+
- **Duration**: Years
|
|
111
|
+
- **Characteristics**:
|
|
112
|
+
- Regularly reviewed
|
|
113
|
+
- Updated with lessons learned
|
|
114
|
+
- Consequences documented
|
|
115
|
+
- May spawn related ADRs
|
|
116
|
+
|
|
117
|
+
**Example:**
|
|
118
|
+
```yaml
|
|
119
|
+
---
|
|
120
|
+
id: adr-0042
|
|
121
|
+
title: "Migrate to Microservices Architecture"
|
|
122
|
+
status: maintained
|
|
123
|
+
date: 2026-02-05
|
|
124
|
+
implemented_date: 2026-03-15
|
|
125
|
+
last_reviewed: 2026-08-01
|
|
126
|
+
next_review: 2027-02-01
|
|
127
|
+
review_notes: "Architecture working well, documented scaling challenges"
|
|
128
|
+
---
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### 6. **Superseded**
|
|
132
|
+
- **Purpose**: Decision replaced by newer decision
|
|
133
|
+
- **Who**: Team
|
|
134
|
+
- **Duration**: Permanent (historical record)
|
|
135
|
+
- **Characteristics**:
|
|
136
|
+
- No longer active
|
|
137
|
+
- Replaced by another ADR
|
|
138
|
+
- Kept for historical context
|
|
139
|
+
- Links to superseding ADR
|
|
140
|
+
|
|
141
|
+
**Example:**
|
|
142
|
+
```yaml
|
|
143
|
+
---
|
|
144
|
+
id: adr-0042
|
|
145
|
+
title: "Migrate to Microservices Architecture"
|
|
146
|
+
status: superseded
|
|
147
|
+
date: 2026-02-05
|
|
148
|
+
implemented_date: 2026-03-15
|
|
149
|
+
superseded_date: 2027-06-01
|
|
150
|
+
superseded_by: adr-0089
|
|
151
|
+
superseded_reason: "Migrating back to modular monolith for operational simplicity"
|
|
152
|
+
---
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### 7. **Sunset**
|
|
156
|
+
- **Purpose**: Decision no longer relevant
|
|
157
|
+
- **Who**: Team
|
|
158
|
+
- **Duration**: Permanent (historical record)
|
|
159
|
+
- **Characteristics**:
|
|
160
|
+
- Technology/approach no longer used
|
|
161
|
+
- Not replaced by another decision
|
|
162
|
+
- Archived for reference
|
|
163
|
+
- Documents why it's no longer relevant
|
|
164
|
+
|
|
165
|
+
**Example:**
|
|
166
|
+
```yaml
|
|
167
|
+
---
|
|
168
|
+
id: adr-0015
|
|
169
|
+
title: "Use Flash for Video Playback"
|
|
170
|
+
status: sunset
|
|
171
|
+
date: 2015-03-01
|
|
172
|
+
implemented_date: 2015-04-01
|
|
173
|
+
sunset_date: 2020-12-31
|
|
174
|
+
sunset_reason: "Flash deprecated and removed from browsers"
|
|
175
|
+
---
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Status Transition Rules
|
|
179
|
+
|
|
180
|
+
### Valid Transitions
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
draft → proposed ✓
|
|
184
|
+
draft → [deleted] ✓
|
|
185
|
+
|
|
186
|
+
proposed → approved ✓
|
|
187
|
+
proposed → draft ✓
|
|
188
|
+
proposed → rejected ✓
|
|
189
|
+
|
|
190
|
+
approved → implemented ✓
|
|
191
|
+
approved → proposed ✓ (if changes needed)
|
|
192
|
+
|
|
193
|
+
implemented → maintained ✓
|
|
194
|
+
implemented → superseded ✓
|
|
195
|
+
|
|
196
|
+
maintained → superseded ✓
|
|
197
|
+
maintained → sunset ✓
|
|
198
|
+
|
|
199
|
+
superseded → [no transitions] (terminal state)
|
|
200
|
+
sunset → [no transitions] (terminal state)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Invalid Transitions
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
draft → implemented ✗ (must be approved first)
|
|
207
|
+
proposed → superseded ✗ (must be implemented first)
|
|
208
|
+
implemented → draft ✗ (can't go backward)
|
|
209
|
+
superseded → approved ✗ (terminal state)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Transition Validation
|
|
213
|
+
|
|
214
|
+
When transitioning status, validate:
|
|
215
|
+
|
|
216
|
+
#### draft → proposed
|
|
217
|
+
- [ ] All required sections complete
|
|
218
|
+
- [ ] Context clearly documented
|
|
219
|
+
- [ ] Decision stated
|
|
220
|
+
- [ ] Consequences documented
|
|
221
|
+
- [ ] Reviewers identified
|
|
222
|
+
|
|
223
|
+
#### proposed → approved
|
|
224
|
+
- [ ] Review period completed
|
|
225
|
+
- [ ] Approvers documented
|
|
226
|
+
- [ ] Feedback addressed
|
|
227
|
+
- [ ] Implementation tasks created
|
|
228
|
+
|
|
229
|
+
#### approved → implemented
|
|
230
|
+
- [ ] Implementation tasks completed
|
|
231
|
+
- [ ] Code changes merged
|
|
232
|
+
- [ ] Implementation date recorded
|
|
233
|
+
- [ ] Implementation notes added
|
|
234
|
+
|
|
235
|
+
#### implemented → maintained
|
|
236
|
+
- [ ] Initial review completed
|
|
237
|
+
- [ ] Consequences validated
|
|
238
|
+
- [ ] Next review scheduled
|
|
239
|
+
- [ ] Lessons learned documented
|
|
240
|
+
|
|
241
|
+
#### maintained → superseded
|
|
242
|
+
- [ ] Superseding ADR created
|
|
243
|
+
- [ ] Superseding ADR approved
|
|
244
|
+
- [ ] Superseded reason documented
|
|
245
|
+
- [ ] Cross-references updated
|
|
246
|
+
|
|
247
|
+
#### maintained → sunset
|
|
248
|
+
- [ ] Sunset reason documented
|
|
249
|
+
- [ ] Sunset date recorded
|
|
250
|
+
- [ ] Related ADRs updated
|
|
251
|
+
- [ ] Historical context preserved
|
|
252
|
+
|
|
253
|
+
## Review Scheduling
|
|
254
|
+
|
|
255
|
+
### Review Triggers
|
|
256
|
+
|
|
257
|
+
ADRs should be reviewed when:
|
|
258
|
+
|
|
259
|
+
1. **Time-Based**
|
|
260
|
+
- Proposed: Before review_by date
|
|
261
|
+
- Implemented: 3 months after implementation
|
|
262
|
+
- Maintained: Annually or as configured
|
|
263
|
+
|
|
264
|
+
2. **Event-Based**
|
|
265
|
+
- Major version upgrades
|
|
266
|
+
- Architecture changes
|
|
267
|
+
- Performance issues
|
|
268
|
+
- Security incidents
|
|
269
|
+
|
|
270
|
+
3. **Workflow-Based**
|
|
271
|
+
- Sprint retrospectives
|
|
272
|
+
- Architecture review meetings
|
|
273
|
+
- Quarterly planning
|
|
274
|
+
|
|
275
|
+
### Review Process
|
|
276
|
+
|
|
277
|
+
**Step 1: Schedule Review**
|
|
278
|
+
```yaml
|
|
279
|
+
---
|
|
280
|
+
status: maintained
|
|
281
|
+
last_reviewed: 2026-02-01
|
|
282
|
+
next_review: 2027-02-01
|
|
283
|
+
review_frequency: annual
|
|
284
|
+
---
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Step 2: Conduct Review**
|
|
288
|
+
- Validate decision still relevant
|
|
289
|
+
- Check if consequences match reality
|
|
290
|
+
- Identify lessons learned
|
|
291
|
+
- Determine if update needed
|
|
292
|
+
|
|
293
|
+
**Step 3: Update ADR**
|
|
294
|
+
```yaml
|
|
295
|
+
---
|
|
296
|
+
status: maintained
|
|
297
|
+
last_reviewed: 2027-02-01
|
|
298
|
+
next_review: 2028-02-01
|
|
299
|
+
review_notes: |
|
|
300
|
+
Decision still valid. Observed benefits:
|
|
301
|
+
- Improved scalability as expected
|
|
302
|
+
- Team productivity increased
|
|
303
|
+
|
|
304
|
+
Unexpected challenges:
|
|
305
|
+
- Operational complexity higher than anticipated
|
|
306
|
+
- Need better monitoring tools
|
|
307
|
+
|
|
308
|
+
Actions:
|
|
309
|
+
- Created ADR-0095 for monitoring strategy
|
|
310
|
+
---
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Step 4: Take Action**
|
|
314
|
+
- Update status if needed
|
|
315
|
+
- Create new ADRs for related decisions
|
|
316
|
+
- Link to related specs/tasks
|
|
317
|
+
- Schedule next review
|
|
318
|
+
|
|
319
|
+
## Automation Guidelines
|
|
320
|
+
|
|
321
|
+
### AI Agent Responsibilities
|
|
322
|
+
|
|
323
|
+
#### Status Transition Detection
|
|
324
|
+
|
|
325
|
+
Automatically detect when status should change:
|
|
326
|
+
|
|
327
|
+
```typescript
|
|
328
|
+
// Example: Detect implementation completion
|
|
329
|
+
if (allTasksCompleted(adr.related_tasks) && adr.status === 'approved') {
|
|
330
|
+
promptStatusTransition(adr, 'implemented');
|
|
331
|
+
}
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
#### Review Reminders
|
|
335
|
+
|
|
336
|
+
Prompt for reviews when due:
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
// Example: Review reminder
|
|
340
|
+
if (isReviewDue(adr)) {
|
|
341
|
+
notifyReviewDue(adr);
|
|
342
|
+
}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
#### Validation Enforcement
|
|
346
|
+
|
|
347
|
+
Validate transitions before allowing:
|
|
348
|
+
|
|
349
|
+
```typescript
|
|
350
|
+
// Example: Transition validation
|
|
351
|
+
function validateTransition(adr, newStatus) {
|
|
352
|
+
const rules = transitionRules[adr.status][newStatus];
|
|
353
|
+
return rules.every(rule => rule.validate(adr));
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## Best Practices
|
|
358
|
+
|
|
359
|
+
1. **Keep Status Current**
|
|
360
|
+
- Update status promptly
|
|
361
|
+
- Don't skip states
|
|
362
|
+
- Document transition reasons
|
|
363
|
+
|
|
364
|
+
2. **Review Regularly**
|
|
365
|
+
- Schedule reviews
|
|
366
|
+
- Actually conduct them
|
|
367
|
+
- Document findings
|
|
368
|
+
|
|
369
|
+
3. **Link to Work**
|
|
370
|
+
- Connect ADRs to tasks
|
|
371
|
+
- Track implementation progress
|
|
372
|
+
- Update when work completes
|
|
373
|
+
|
|
374
|
+
4. **Preserve History**
|
|
375
|
+
- Don't delete superseded ADRs
|
|
376
|
+
- Document why decisions changed
|
|
377
|
+
- Maintain cross-references
|
|
378
|
+
|
|
379
|
+
5. **Learn from Outcomes**
|
|
380
|
+
- Compare expected vs actual consequences
|
|
381
|
+
- Document lessons learned
|
|
382
|
+
- Share insights with team
|
|
383
|
+
|
|
384
|
+
## Examples
|
|
385
|
+
|
|
386
|
+
### Example 1: Full Lifecycle
|
|
387
|
+
|
|
388
|
+
```markdown
|
|
389
|
+
# ADR-0042: Migrate to Microservices
|
|
390
|
+
|
|
391
|
+
## Timeline
|
|
392
|
+
|
|
393
|
+
- 2026-02-05: Created (draft)
|
|
394
|
+
- 2026-02-08: Proposed for review
|
|
395
|
+
- 2026-02-12: Approved by team
|
|
396
|
+
- 2026-03-15: Implemented (first services migrated)
|
|
397
|
+
- 2026-06-01: Moved to maintained (initial review)
|
|
398
|
+
- 2027-06-01: Superseded by ADR-0089 (return to monolith)
|
|
399
|
+
|
|
400
|
+
## Status History
|
|
401
|
+
|
|
402
|
+
### Draft (2026-02-05)
|
|
403
|
+
Initial creation, gathering context and alternatives.
|
|
404
|
+
|
|
405
|
+
### Proposed (2026-02-08)
|
|
406
|
+
Completed documentation, sent for team review.
|
|
407
|
+
|
|
408
|
+
### Approved (2026-02-12)
|
|
409
|
+
Team approved after addressing concerns about operational complexity.
|
|
410
|
+
|
|
411
|
+
### Implemented (2026-03-15)
|
|
412
|
+
Migrated user service and payment service to microservices.
|
|
413
|
+
|
|
414
|
+
### Maintained (2026-06-01)
|
|
415
|
+
First review completed. Benefits realized but operational costs higher than expected.
|
|
416
|
+
|
|
417
|
+
### Superseded (2027-06-01)
|
|
418
|
+
Decision reversed due to operational complexity. See ADR-0089.
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
## See Also
|
|
422
|
+
|
|
423
|
+
- [ADR Creation Guidelines](./adr-creation.md)
|
|
424
|
+
- [Validation Rules](./validation-rules.md)
|
|
425
|
+
- [OpenSpec Integration](./openspec-integration.md)
|
|
426
|
+
- [Beads Integration](./beads-integration.md)
|
|
427
|
+
|