@mytechtoday/augment-extensions 1.3.0 → 1.4.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.
Files changed (232) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +105 -6
  3. package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
  4. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
  5. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
  6. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
  7. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
  8. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
  9. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
  10. package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
  11. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
  12. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
  13. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
  14. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
  15. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
  16. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
  17. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
  18. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
  19. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
  20. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
  21. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
  22. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
  23. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
  24. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
  25. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
  26. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
  27. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
  28. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
  29. package/augment-extensions/visual-design/CHANGELOG.md +132 -132
  30. package/augment-extensions/visual-design/README.md +255 -255
  31. package/augment-extensions/visual-design/__tests__/README.md +119 -119
  32. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
  33. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
  34. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
  35. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
  36. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
  37. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
  38. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
  39. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
  40. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
  41. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
  42. package/augment-extensions/visual-design/domains/other/website.ts +161 -161
  43. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
  44. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
  45. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
  46. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
  47. package/augment-extensions/visual-design/examples/README.md +97 -97
  48. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
  49. package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
  50. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
  51. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
  52. package/augment-extensions/visual-design/module.json +78 -78
  53. package/augment-extensions/visual-design/style-selector.ts +177 -177
  54. package/augment-extensions/visual-design/types.ts +302 -302
  55. package/augment-extensions/visual-design/visual-design-core.ts +469 -469
  56. package/augment-extensions/workflows/adr-support/README.md +227 -227
  57. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
  58. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
  59. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
  60. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
  61. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
  62. package/augment-extensions/workflows/adr-support/module.json +112 -112
  63. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
  64. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
  65. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
  66. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
  67. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
  68. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
  69. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
  70. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
  71. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
  72. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
  73. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
  74. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
  75. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
  76. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
  77. package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
  78. package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
  79. package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
  80. package/cli/dist/commands/agent.d.ts +37 -0
  81. package/cli/dist/commands/agent.d.ts.map +1 -0
  82. package/cli/dist/commands/agent.js +222 -0
  83. package/cli/dist/commands/agent.js.map +1 -0
  84. package/cli/dist/commands/beads.d.ts +64 -0
  85. package/cli/dist/commands/beads.d.ts.map +1 -0
  86. package/cli/dist/commands/beads.js +377 -0
  87. package/cli/dist/commands/beads.js.map +1 -0
  88. package/cli/dist/commands/change.d.ts +54 -0
  89. package/cli/dist/commands/change.d.ts.map +1 -0
  90. package/cli/dist/commands/change.js +243 -0
  91. package/cli/dist/commands/change.js.map +1 -0
  92. package/cli/dist/commands/clean.d.ts +15 -0
  93. package/cli/dist/commands/clean.d.ts.map +1 -0
  94. package/cli/dist/commands/clean.js +63 -0
  95. package/cli/dist/commands/clean.js.map +1 -0
  96. package/cli/dist/commands/clone.d.ts +15 -0
  97. package/cli/dist/commands/clone.d.ts.map +1 -0
  98. package/cli/dist/commands/clone.js +49 -0
  99. package/cli/dist/commands/clone.js.map +1 -0
  100. package/cli/dist/commands/config.d.ts +33 -0
  101. package/cli/dist/commands/config.d.ts.map +1 -0
  102. package/cli/dist/commands/config.js +166 -0
  103. package/cli/dist/commands/config.js.map +1 -0
  104. package/cli/dist/commands/context.d.ts +38 -0
  105. package/cli/dist/commands/context.d.ts.map +1 -0
  106. package/cli/dist/commands/context.js +205 -0
  107. package/cli/dist/commands/context.js.map +1 -0
  108. package/cli/dist/commands/create.d.ts +18 -0
  109. package/cli/dist/commands/create.d.ts.map +1 -0
  110. package/cli/dist/commands/create.js +178 -0
  111. package/cli/dist/commands/create.js.map +1 -0
  112. package/cli/dist/commands/diff.d.ts +19 -0
  113. package/cli/dist/commands/diff.d.ts.map +1 -0
  114. package/cli/dist/commands/diff.js +104 -0
  115. package/cli/dist/commands/diff.js.map +1 -0
  116. package/cli/dist/commands/doctor.d.ts +14 -0
  117. package/cli/dist/commands/doctor.d.ts.map +1 -0
  118. package/cli/dist/commands/doctor.js +62 -0
  119. package/cli/dist/commands/doctor.js.map +1 -0
  120. package/cli/dist/commands/export.d.ts +28 -0
  121. package/cli/dist/commands/export.d.ts.map +1 -0
  122. package/cli/dist/commands/export.js +135 -0
  123. package/cli/dist/commands/export.js.map +1 -0
  124. package/cli/dist/commands/import.d.ts +23 -0
  125. package/cli/dist/commands/import.d.ts.map +1 -0
  126. package/cli/dist/commands/import.js +118 -0
  127. package/cli/dist/commands/import.js.map +1 -0
  128. package/cli/dist/commands/prompt.d.ts +45 -0
  129. package/cli/dist/commands/prompt.d.ts.map +1 -0
  130. package/cli/dist/commands/prompt.js +223 -0
  131. package/cli/dist/commands/prompt.js.map +1 -0
  132. package/cli/dist/commands/spec.d.ts +57 -0
  133. package/cli/dist/commands/spec.d.ts.map +1 -0
  134. package/cli/dist/commands/spec.js +279 -0
  135. package/cli/dist/commands/spec.js.map +1 -0
  136. package/cli/dist/commands/stats.d.ts +18 -0
  137. package/cli/dist/commands/stats.d.ts.map +1 -0
  138. package/cli/dist/commands/stats.js +85 -0
  139. package/cli/dist/commands/stats.js.map +1 -0
  140. package/cli/dist/commands/task.d.ts +65 -0
  141. package/cli/dist/commands/task.d.ts.map +1 -0
  142. package/cli/dist/commands/task.js +282 -0
  143. package/cli/dist/commands/task.js.map +1 -0
  144. package/cli/dist/commands/template.d.ts +17 -0
  145. package/cli/dist/commands/template.d.ts.map +1 -0
  146. package/cli/dist/commands/template.js +55 -0
  147. package/cli/dist/commands/template.js.map +1 -0
  148. package/cli/dist/utils/agent-config.d.ts +129 -0
  149. package/cli/dist/utils/agent-config.d.ts.map +1 -0
  150. package/cli/dist/utils/agent-config.js +297 -0
  151. package/cli/dist/utils/agent-config.js.map +1 -0
  152. package/cli/dist/utils/auto-sync.js +19 -19
  153. package/cli/dist/utils/beads-graph.d.ts +17 -0
  154. package/cli/dist/utils/beads-graph.d.ts.map +1 -0
  155. package/cli/dist/utils/beads-graph.js +150 -0
  156. package/cli/dist/utils/beads-graph.js.map +1 -0
  157. package/cli/dist/utils/beads-integration.d.ts +112 -0
  158. package/cli/dist/utils/beads-integration.d.ts.map +1 -0
  159. package/cli/dist/utils/beads-integration.js +312 -0
  160. package/cli/dist/utils/beads-integration.js.map +1 -0
  161. package/cli/dist/utils/beads-reporter.d.ts +17 -0
  162. package/cli/dist/utils/beads-reporter.d.ts.map +1 -0
  163. package/cli/dist/utils/beads-reporter.js +160 -0
  164. package/cli/dist/utils/beads-reporter.js.map +1 -0
  165. package/cli/dist/utils/cache-manager.d.ts +55 -0
  166. package/cli/dist/utils/cache-manager.d.ts.map +1 -0
  167. package/cli/dist/utils/cache-manager.js +150 -0
  168. package/cli/dist/utils/cache-manager.js.map +1 -0
  169. package/cli/dist/utils/change-manager.d.ts +70 -0
  170. package/cli/dist/utils/change-manager.d.ts.map +1 -0
  171. package/cli/dist/utils/change-manager.js +412 -0
  172. package/cli/dist/utils/change-manager.js.map +1 -0
  173. package/cli/dist/utils/config-manager-enhanced.d.ts +66 -0
  174. package/cli/dist/utils/config-manager-enhanced.d.ts.map +1 -0
  175. package/cli/dist/utils/config-manager-enhanced.js +77 -0
  176. package/cli/dist/utils/config-manager-enhanced.js.map +1 -0
  177. package/cli/dist/utils/context-manager.d.ts +96 -0
  178. package/cli/dist/utils/context-manager.d.ts.map +1 -0
  179. package/cli/dist/utils/context-manager.js +258 -0
  180. package/cli/dist/utils/context-manager.js.map +1 -0
  181. package/cli/dist/utils/diff-engine.d.ts +78 -0
  182. package/cli/dist/utils/diff-engine.d.ts.map +1 -0
  183. package/cli/dist/utils/diff-engine.js +233 -0
  184. package/cli/dist/utils/diff-engine.js.map +1 -0
  185. package/cli/dist/utils/export-system.d.ts +101 -0
  186. package/cli/dist/utils/export-system.d.ts.map +1 -0
  187. package/cli/dist/utils/export-system.js +289 -0
  188. package/cli/dist/utils/export-system.js.map +1 -0
  189. package/cli/dist/utils/health-checker.d.ts +66 -0
  190. package/cli/dist/utils/health-checker.d.ts.map +1 -0
  191. package/cli/dist/utils/health-checker.js +285 -0
  192. package/cli/dist/utils/health-checker.js.map +1 -0
  193. package/cli/dist/utils/import-system.d.ts +74 -0
  194. package/cli/dist/utils/import-system.d.ts.map +1 -0
  195. package/cli/dist/utils/import-system.js +317 -0
  196. package/cli/dist/utils/import-system.js.map +1 -0
  197. package/cli/dist/utils/module-cloner.d.ts +40 -0
  198. package/cli/dist/utils/module-cloner.d.ts.map +1 -0
  199. package/cli/dist/utils/module-cloner.js +136 -0
  200. package/cli/dist/utils/module-cloner.js.map +1 -0
  201. package/cli/dist/utils/prompt-manager.d.ts +90 -0
  202. package/cli/dist/utils/prompt-manager.d.ts.map +1 -0
  203. package/cli/dist/utils/prompt-manager.js +302 -0
  204. package/cli/dist/utils/prompt-manager.js.map +1 -0
  205. package/cli/dist/utils/spec-manager.d.ts +65 -0
  206. package/cli/dist/utils/spec-manager.d.ts.map +1 -0
  207. package/cli/dist/utils/spec-manager.js +329 -0
  208. package/cli/dist/utils/spec-manager.js.map +1 -0
  209. package/cli/dist/utils/stats-collector.d.ts +74 -0
  210. package/cli/dist/utils/stats-collector.d.ts.map +1 -0
  211. package/cli/dist/utils/stats-collector.js +164 -0
  212. package/cli/dist/utils/stats-collector.js.map +1 -0
  213. package/cli/dist/utils/template-engine.d.ts +47 -0
  214. package/cli/dist/utils/template-engine.d.ts.map +1 -0
  215. package/cli/dist/utils/template-engine.js +204 -0
  216. package/cli/dist/utils/template-engine.js.map +1 -0
  217. package/package.json +12 -3
  218. package/augment-extensions/workflows/openspec/README.md +0 -96
  219. package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
  220. package/augment-extensions/workflows/openspec/module.json +0 -54
  221. package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
  222. package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
  223. package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
  224. package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
  225. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
  226. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
  227. package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
  228. package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
  229. package/cli/dist/utils/adr-validator.d.ts +0 -65
  230. package/cli/dist/utils/adr-validator.d.ts.map +0 -1
  231. package/cli/dist/utils/adr-validator.js +0 -203
  232. package/cli/dist/utils/adr-validator.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * Template Engine for Augment Extensions
4
+ * Creates new AI context module templates
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.TemplateEngine = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ /**
44
+ * Template Engine class
45
+ */
46
+ class TemplateEngine {
47
+ constructor() {
48
+ this.modulesDir = path.join(__dirname, '../../../augment-extensions');
49
+ }
50
+ /**
51
+ * Create module from template
52
+ */
53
+ async createFromTemplate(options) {
54
+ try {
55
+ const modulePath = path.join(this.modulesDir, options.type, options.name);
56
+ if (fs.existsSync(modulePath)) {
57
+ return {
58
+ success: false,
59
+ errors: [`Module already exists: ${options.name}`]
60
+ };
61
+ }
62
+ // Create module directory structure
63
+ fs.mkdirSync(modulePath, { recursive: true });
64
+ fs.mkdirSync(path.join(modulePath, 'rules'), { recursive: true });
65
+ fs.mkdirSync(path.join(modulePath, 'examples'), { recursive: true });
66
+ // Create module.json
67
+ const metadata = {
68
+ name: options.name,
69
+ version: options.version || '1.0.0',
70
+ displayName: options.displayName || options.name,
71
+ description: options.description || `${options.name} module`,
72
+ type: options.type,
73
+ tags: [],
74
+ augment: {
75
+ characterCount: 0,
76
+ priority: 'medium',
77
+ category: options.type
78
+ },
79
+ installation: 'optional'
80
+ };
81
+ fs.writeFileSync(path.join(modulePath, 'module.json'), JSON.stringify(metadata, null, 2));
82
+ // Create README.md
83
+ const readme = this.generateReadme(options);
84
+ fs.writeFileSync(path.join(modulePath, 'README.md'), readme);
85
+ // Create sample rule file
86
+ const sampleRule = this.generateSampleRule(options);
87
+ fs.writeFileSync(path.join(modulePath, 'rules', 'overview.md'), sampleRule);
88
+ // Create sample example file
89
+ const sampleExample = this.generateSampleExample(options);
90
+ fs.writeFileSync(path.join(modulePath, 'examples', 'basic-example.md'), sampleExample);
91
+ return {
92
+ success: true,
93
+ modulePath
94
+ };
95
+ }
96
+ catch (error) {
97
+ return {
98
+ success: false,
99
+ errors: [error instanceof Error ? error.message : String(error)]
100
+ };
101
+ }
102
+ }
103
+ /**
104
+ * Generate README content
105
+ */
106
+ generateReadme(options) {
107
+ return `# ${options.displayName || options.name}
108
+
109
+ ${options.description || `${options.name} module for Augment Extensions`}
110
+
111
+ ## Overview
112
+
113
+ This module provides guidelines and examples for ${options.name}.
114
+
115
+ ## Contents
116
+
117
+ - **rules/** - Guidelines and best practices
118
+ - **examples/** - Code examples and patterns
119
+
120
+ ## Usage
121
+
122
+ Link this module to your project:
123
+
124
+ \`\`\`bash
125
+ augx link ${options.type}/${options.name}
126
+ \`\`\`
127
+
128
+ ## Version
129
+
130
+ ${options.version || '1.0.0'}
131
+
132
+ ## Author
133
+
134
+ ${options.author || 'Augment Extensions'}
135
+ `;
136
+ }
137
+ /**
138
+ * Generate sample rule content
139
+ */
140
+ generateSampleRule(options) {
141
+ return `# ${options.displayName || options.name} - Overview
142
+
143
+ ## Purpose
144
+
145
+ This document provides an overview of ${options.name}.
146
+
147
+ ## Guidelines
148
+
149
+ ### 1. First Guideline
150
+
151
+ Description of the first guideline.
152
+
153
+ **Example:**
154
+ \`\`\`
155
+ // Example code here
156
+ \`\`\`
157
+
158
+ ### 2. Second Guideline
159
+
160
+ Description of the second guideline.
161
+
162
+ ## Best Practices
163
+
164
+ - Best practice 1
165
+ - Best practice 2
166
+ - Best practice 3
167
+
168
+ ## References
169
+
170
+ - Reference 1
171
+ - Reference 2
172
+ `;
173
+ }
174
+ /**
175
+ * Generate sample example content
176
+ */
177
+ generateSampleExample(options) {
178
+ return `# Basic Example - ${options.displayName || options.name}
179
+
180
+ ## Description
181
+
182
+ This example demonstrates basic usage of ${options.name}.
183
+
184
+ ## Code
185
+
186
+ \`\`\`typescript
187
+ // Example code here
188
+ function example() {
189
+ console.log('Hello from ${options.name}');
190
+ }
191
+ \`\`\`
192
+
193
+ ## Explanation
194
+
195
+ Explanation of the example code.
196
+
197
+ ## Related
198
+
199
+ - See \`rules/overview.md\` for guidelines
200
+ `;
201
+ }
202
+ }
203
+ exports.TemplateEngine = TemplateEngine;
204
+ //# sourceMappingURL=template-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/utils/template-engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mytechtoday/augment-extensions",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "CLI tool for managing Augment Code AI extension modules",
5
5
  "main": "cli/dist/index.js",
6
6
  "bin": {
@@ -61,25 +61,34 @@
61
61
  "dependencies": {
62
62
  "@types/highlight.js": "^9.12.4",
63
63
  "@types/js-yaml": "^4.0.9",
64
+ "archiver": "^7.0.1",
64
65
  "chalk": "^5.3.0",
65
66
  "commander": "^11.0.0",
67
+ "gray-matter": "^4.0.3",
66
68
  "highlight.js": "^11.11.1",
67
69
  "inquirer": "^9.2.0",
68
70
  "js-yaml": "^4.1.1",
69
71
  "minimatch": "^10.1.1",
70
72
  "semver": "^7.5.0",
73
+ "tar": "^7.5.9",
74
+ "unzipper": "^0.12.3",
71
75
  "yaml": "^2.3.0"
72
76
  },
73
77
  "devDependencies": {
78
+ "@types/archiver": "^7.0.0",
74
79
  "@types/inquirer": "^9.0.0",
75
80
  "@types/jest": "^30.0.0",
76
- "@types/node": "^20.0.0",
81
+ "@types/node": "^20.19.33",
77
82
  "@types/semver": "^7.5.0",
83
+ "@types/tar": "^6.1.13",
84
+ "@types/unzipper": "^0.10.11",
78
85
  "@typescript-eslint/eslint-plugin": "^6.0.0",
79
86
  "@typescript-eslint/parser": "^6.0.0",
80
87
  "eslint": "^8.50.0",
81
88
  "jest": "^29.7.0",
82
89
  "ts-jest": "^29.4.6",
83
- "typescript": "^5.2.0"
90
+ "ts-node": "^10.9.2",
91
+ "tsx": "^4.21.0",
92
+ "typescript": "^5.9.3"
84
93
  }
85
94
  }
@@ -1,96 +0,0 @@
1
- # OpenSpec Workflow Module
2
-
3
- **Spec-driven development (SDD) for AI coding assistants.**
4
-
5
- ## Overview
6
-
7
- OpenSpec provides a structured workflow for managing changes in AI-assisted development. It ensures humans and AI agents agree on specifications before implementation, reducing rework and improving code quality.
8
-
9
- ## Key Benefits
10
-
11
- - **Alignment Before Implementation**: Agree on specs before writing code
12
- - **Structured Change Management**: Proposals, specs, and tasks in organized folders
13
- - **Brownfield-Friendly**: Excellent for modifying existing features (1→n), not just greenfield (0→1)
14
- - **Version Controlled**: All specs stored in git alongside code
15
- - **AI Agent Compatible**: Works with any tool that reads AGENTS.md
16
-
17
- ## Installation Options
18
-
19
- ### Option 1: With CLI (Recommended)
20
-
21
- Install the OpenSpec CLI for full features:
22
-
23
- ```bash
24
- # npm
25
- npm install -g @fission-ai/openspec@latest
26
-
27
- # Nix
28
- nix run github:Fission-AI/OpenSpec -- init
29
-
30
- # Initialize in your project
31
- cd your-project
32
- openspec init
33
- ```
34
-
35
- **Benefits**: Validation, archiving, slash commands, auto-generated AGENTS.md
36
-
37
- ### Option 2: Without CLI (Manual)
38
-
39
- Follow the workflow manually without installing the CLI. See `rules/manual-setup.md` for instructions.
40
-
41
- **Benefits**: No installation required, works immediately
42
-
43
- **Limitations**: No validation, manual archiving, no slash commands
44
-
45
- ## Directory Structure
46
-
47
- ```
48
- your-project/
49
- ├── openspec/
50
- │ ├── AGENTS.md # AI agent instructions (auto-generated)
51
- │ ├── project.md # Project context and conventions
52
- │ ├── specs/ # Current specifications (source of truth)
53
- │ │ └── auth/
54
- │ │ └── spec.md
55
- │ └── changes/ # Proposed changes
56
- │ └── add-2fa/
57
- │ ├── proposal.md # Why and what
58
- │ ├── tasks.md # Implementation checklist
59
- │ ├── design.md # Technical decisions (optional)
60
- │ └── specs/ # Spec deltas (changes)
61
- │ └── auth/
62
- │ └── spec.md
63
- ```
64
-
65
- ## Workflow
66
-
67
- See `rules/workflow.md` for complete workflow documentation.
68
-
69
- **Quick Summary**:
70
-
71
- 1. **Draft Proposal** - Create change proposal with AI
72
- 2. **Review & Align** - Iterate on specs until agreement
73
- 3. **Implement** - AI implements tasks referencing specs
74
- 4. **Archive** - Merge approved changes into source specs
75
-
76
- ## Character Count
77
-
78
- This module contains comprehensive OpenSpec workflow documentation that exceeds the standard `.augment/` folder character limit.
79
-
80
- **Total**: ~25,000 characters across all rule files
81
-
82
- ## Contents
83
-
84
- - `rules/workflow.md` - Complete workflow guide
85
- - `rules/spec-format.md` - Specification format and delta syntax
86
- - `rules/manual-setup.md` - Manual setup without CLI
87
- - `rules/commands.md` - CLI command reference
88
- - `rules/best-practices.md` - Tips and patterns
89
- - `examples/` - Example specs and changes
90
-
91
- ## Learn More
92
-
93
- - **Homepage**: https://openspec.dev/
94
- - **GitHub**: https://github.com/Fission-AI/OpenSpec
95
- - **Documentation**: See `rules/` directory in this module
96
-
@@ -1,244 +0,0 @@
1
- # Complete OpenSpec Change Example
2
-
3
- This example shows a complete OpenSpec change from start to finish.
4
-
5
- ## Scenario
6
-
7
- Adding two-factor authentication (2FA) to an existing authentication system.
8
-
9
- ## Directory Structure
10
-
11
- ```
12
- openspec/
13
- ├── specs/
14
- │ └── auth/
15
- │ └── spec.md # Existing auth spec
16
- └── changes/
17
- └── add-2fa/
18
- ├── proposal.md # Why we need 2FA
19
- ├── tasks.md # Implementation steps
20
- └── specs/
21
- └── auth/
22
- └── spec.md # Changes to auth spec
23
- ```
24
-
25
- ## File: proposal.md
26
-
27
- ```markdown
28
- ---
29
- id: add-2fa
30
- relatedTasks: []
31
- relatedRules: [security-guidelines.md]
32
- status: draft
33
- ---
34
-
35
- # Add Two-Factor Authentication
36
-
37
- ## Motivation
38
-
39
- Users have requested stronger account security. Password-only authentication
40
- is insufficient for protecting sensitive user data. Industry best practices
41
- recommend 2FA for all accounts.
42
-
43
- ## Changes
44
-
45
- 1. Add OTP (One-Time Password) generation and verification
46
- 2. Modify login flow to require 2FA after password verification
47
- 3. Add user settings for 2FA enrollment and recovery codes
48
- 4. Add audit logging for 2FA events
49
-
50
- ## Impact
51
-
52
- ### Breaking Changes
53
- - All users will be required to enroll in 2FA on next login
54
- - Login API response changes to include 2FA challenge
55
-
56
- ### Database Changes
57
- - Add `otp_secret` column to users table
58
- - Create `otp_verification_logs` table
59
- - Add `recovery_codes` table
60
-
61
- ### Frontend Changes
62
- - New OTP input component
63
- - Updated login flow with 2FA step
64
- - New 2FA settings page
65
-
66
- ## Timeline
67
-
68
- - Database migration: 1 day
69
- - Backend implementation: 2-3 days
70
- - Frontend implementation: 2-3 days
71
- - Testing and rollout: 1 week
72
-
73
- ## Dependencies
74
-
75
- - TOTP library (e.g., pyotp, speakeasy)
76
- - QR code generation library
77
- ```
78
-
79
- ## File: tasks.md
80
-
81
- ```markdown
82
- # Implementation Tasks
83
-
84
- ## 1. Database Setup
85
- - [ ] 1.1 Add `otp_secret` column to users table (nullable initially)
86
- - [ ] 1.2 Create `otp_verification_logs` table with columns:
87
- - id, user_id, success, ip_address, timestamp
88
- - [ ] 1.3 Create `recovery_codes` table with columns:
89
- - id, user_id, code_hash, used, created_at
90
- - [ ] 1.4 Write and test migration script
91
- - [ ] 1.5 Add database indexes for performance
92
-
93
- ## 2. Backend Implementation
94
- - [ ] 2.1 Install TOTP library dependency
95
- - [ ] 2.2 Create OTP service with methods:
96
- - generate_secret()
97
- - generate_qr_code(secret)
98
- - verify_otp(secret, code)
99
- - [ ] 2.3 Add POST /api/auth/2fa/enroll endpoint
100
- - Generates secret and QR code
101
- - Returns QR code and recovery codes
102
- - [ ] 2.4 Add POST /api/auth/2fa/verify endpoint
103
- - Verifies OTP code
104
- - Issues JWT on success
105
- - [ ] 2.5 Modify POST /api/auth/login endpoint
106
- - Return 2FA challenge instead of JWT
107
- - Include temporary token for 2FA verification
108
- - [ ] 2.6 Add rate limiting to verification endpoint (3 attempts per 5 minutes)
109
- - [ ] 2.7 Add audit logging for all 2FA events
110
- - [ ] 2.8 Write unit tests for OTP service
111
- - [ ] 2.9 Write integration tests for 2FA endpoints
112
-
113
- ## 3. Frontend Implementation
114
- - [ ] 3.1 Create OTPInput component
115
- - 6-digit input with auto-focus
116
- - Paste support
117
- - Error state display
118
- - [ ] 3.2 Create 2FAEnrollment component
119
- - Display QR code
120
- - Show recovery codes
121
- - Confirmation step
122
- - [ ] 3.3 Update LoginForm component
123
- - Handle 2FA challenge response
124
- - Show OTP input after password verification
125
- - [ ] 3.4 Create 2FASettings page
126
- - Enable/disable 2FA
127
- - Regenerate recovery codes
128
- - View 2FA status
129
- - [ ] 3.5 Add 2FA status indicator to user profile
130
- - [ ] 3.6 Write component tests
131
-
132
- ## 4. Documentation
133
- - [ ] 4.1 Update API documentation
134
- - [ ] 4.2 Create user guide for 2FA enrollment
135
- - [ ] 4.3 Create admin guide for 2FA management
136
- - [ ] 4.4 Update security documentation
137
-
138
- ## 5. Testing & Rollout
139
- - [ ] 5.1 End-to-end testing
140
- - [ ] 5.2 Security review
141
- - [ ] 5.3 Performance testing
142
- - [ ] 5.4 Staged rollout plan
143
- - [ ] 5.5 Monitor error rates and user feedback
144
- ```
145
-
146
- ## File: specs/auth/spec.md (Delta)
147
-
148
- ```markdown
149
- ---
150
- id: auth/authentication
151
- relatedTasks: [bd-2fa1, bd-2fa2, bd-2fa3]
152
- relatedRules: [security-guidelines.md, module-development.md]
153
- status: active
154
- ---
155
-
156
- # Delta for Auth Specification
157
-
158
- ## ADDED Requirements
159
-
160
- ### Requirement: Two-Factor Authentication
161
- The system MUST require a second factor (OTP) during login for all users.
162
-
163
- #### Scenario: 2FA enrollment
164
- - GIVEN a user without 2FA enabled
165
- - WHEN the user accesses the 2FA settings page
166
- - THEN a QR code is generated
167
- - AND recovery codes are displayed
168
- - AND the user must verify an OTP to complete enrollment
169
-
170
- #### Scenario: Login with 2FA
171
- - GIVEN a user with 2FA enabled
172
- - WHEN the user submits valid credentials
173
- - THEN a 2FA challenge is returned
174
- - AND a temporary token is issued (valid for 5 minutes)
175
- - AND no JWT is issued until OTP verification
176
-
177
- #### Scenario: Valid OTP
178
- - GIVEN a user has received a 2FA challenge
179
- - WHEN the user submits a valid OTP within 5 minutes
180
- - THEN a JWT is issued
181
- - AND the user is logged in
182
- - AND the verification is logged
183
-
184
- #### Scenario: Invalid OTP
185
- - GIVEN a user has received a 2FA challenge
186
- - WHEN the user submits an invalid OTP
187
- - THEN an error message is displayed
188
- - AND the user can retry up to 3 times
189
- - AND after 3 failures, the temporary token is invalidated
190
-
191
- #### Scenario: Expired 2FA challenge
192
- - GIVEN a user has received a 2FA challenge
193
- - WHEN more than 5 minutes have passed
194
- - THEN the temporary token is invalid
195
- - AND the user must restart the login process
196
-
197
- ### Requirement: Recovery Codes
198
- The system MUST provide recovery codes for account recovery.
199
-
200
- #### Scenario: Generate recovery codes
201
- - WHEN a user enrolls in 2FA
202
- - THEN 10 recovery codes are generated
203
- - AND codes are displayed once
204
- - AND codes are hashed before storage
205
-
206
- #### Scenario: Use recovery code
207
- - GIVEN a user cannot access their OTP device
208
- - WHEN the user submits a valid recovery code
209
- - THEN the code is marked as used
210
- - AND a JWT is issued
211
- - AND the user is logged in
212
-
213
- ## MODIFIED Requirements
214
-
215
- ### Requirement: User Authentication
216
- The system SHALL issue a JWT on successful login after password and 2FA verification.
217
-
218
- #### Scenario: Valid credentials (MODIFIED)
219
- - WHEN a user submits valid credentials
220
- - THEN if 2FA is enabled, a 2FA challenge is returned (CHANGED)
221
- - AND if 2FA is disabled, a JWT is returned (CHANGED)
222
- - AND the login attempt is logged
223
-
224
- ## REMOVED Requirements
225
-
226
- (None for this change)
227
- ```
228
-
229
- ## After Implementation
230
-
231
- Once all tasks are complete, archive the change:
232
-
233
- ### With CLI
234
- ```bash
235
- openspec archive add-2fa --yes
236
- ```
237
-
238
- ### Without CLI
239
- 1. Copy the delta from `openspec/changes/add-2fa/specs/auth/spec.md`
240
- 2. Apply ADDED/MODIFIED sections to `openspec/specs/auth/spec.md`
241
- 3. Move `openspec/changes/add-2fa/` to `openspec/archive/add-2fa/`
242
-
243
- The source spec now includes all 2FA requirements as the new source of truth.
244
-
@@ -1,54 +0,0 @@
1
- {
2
- "name": "openspec-workflow",
3
- "version": "1.0.0",
4
- "displayName": "OpenSpec Workflow",
5
- "description": "Spec-driven development (SDD) workflow for AI coding assistants. Provides structured change management with proposals, specs, and tasks.",
6
- "type": "workflows",
7
- "author": "Augment Extensions",
8
- "license": "MIT",
9
- "keywords": [
10
- "openspec",
11
- "spec-driven-development",
12
- "sdd",
13
- "workflow",
14
- "planning",
15
- "specifications",
16
- "change-management"
17
- ],
18
- "augment": {
19
- "characterCount": 32661,
20
- "priority": "high",
21
- "category": "workflows",
22
- "tags": ["openspec", "spec-driven-development", "workflow", "change-management"],
23
- "compatibleWith": [
24
- "Claude Code",
25
- "CodeBuddy",
26
- "Cursor",
27
- "GitHub Copilot",
28
- "Continue",
29
- "Windsurf",
30
- "All AGENTS.md compatible tools"
31
- ]
32
- },
33
- "dependencies": {},
34
- "repository": {
35
- "type": "git",
36
- "url": "https://github.com/Fission-AI/OpenSpec"
37
- },
38
- "documentation": {
39
- "homepage": "https://openspec.dev/",
40
- "installation": "https://github.com/Fission-AI/OpenSpec#install--initialize",
41
- "workflow": "https://github.com/Fission-AI/OpenSpec#create-your-first-change"
42
- },
43
- "installation": {
44
- "required": false,
45
- "optional": true,
46
- "methods": {
47
- "npm": "npm install -g @fission-ai/openspec@latest",
48
- "nix": "nix run github:Fission-AI/OpenSpec -- init",
49
- "manual": "Follow manual setup instructions in rules/manual-setup.md"
50
- },
51
- "notes": "CLI installation is optional. AI agents can follow the workflow manually without the CLI, but the CLI provides validation, archiving, and slash commands."
52
- }
53
- }
54
-