@mytechtoday/augment-extensions 0.1.0 → 0.1.2

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 (102) hide show
  1. package/AGENTS.md +83 -3
  2. package/README.md +6 -5
  3. package/augment-extensions/coding-standards/python/README.md +44 -0
  4. package/augment-extensions/coding-standards/python/module.json +26 -0
  5. package/augment-extensions/coding-standards/python/rules/best-practices.md +232 -0
  6. package/augment-extensions/coding-standards/python/rules/code-organization.md +220 -0
  7. package/augment-extensions/coding-standards/python/rules/error-handling.md +221 -0
  8. package/augment-extensions/coding-standards/python/rules/naming-conventions.md +172 -0
  9. package/augment-extensions/coding-standards/python/rules/type-hints.md +188 -0
  10. package/augment-extensions/coding-standards/react/README.md +45 -0
  11. package/augment-extensions/coding-standards/react/module.json +27 -0
  12. package/augment-extensions/coding-standards/react/rules/component-patterns.md +214 -0
  13. package/augment-extensions/coding-standards/react/rules/hooks-best-practices.md +235 -0
  14. package/augment-extensions/coding-standards/react/rules/performance.md +300 -0
  15. package/augment-extensions/coding-standards/react/rules/state-management.md +265 -0
  16. package/augment-extensions/coding-standards/react/rules/typescript-react.md +271 -0
  17. package/augment-extensions/domain-rules/api-design/README.md +41 -0
  18. package/augment-extensions/domain-rules/api-design/module.json +27 -0
  19. package/augment-extensions/domain-rules/api-design/rules/authentication.md +263 -0
  20. package/augment-extensions/domain-rules/api-design/rules/documentation.md +395 -0
  21. package/augment-extensions/domain-rules/api-design/rules/error-handling.md +290 -0
  22. package/augment-extensions/domain-rules/api-design/rules/graphql-api.md +313 -0
  23. package/augment-extensions/domain-rules/api-design/rules/rest-api.md +214 -0
  24. package/augment-extensions/domain-rules/api-design/rules/versioning.md +268 -0
  25. package/augment-extensions/domain-rules/security/README.md +41 -0
  26. package/augment-extensions/domain-rules/security/module.json +28 -0
  27. package/augment-extensions/domain-rules/security/rules/authentication-security.md +361 -0
  28. package/augment-extensions/domain-rules/security/rules/encryption.md +208 -0
  29. package/augment-extensions/domain-rules/security/rules/input-validation.md +294 -0
  30. package/augment-extensions/domain-rules/security/rules/owasp-top-10.md +339 -0
  31. package/augment-extensions/domain-rules/security/rules/secure-coding.md +293 -0
  32. package/augment-extensions/domain-rules/security/rules/web-security.md +268 -0
  33. package/augment-extensions/examples/design-patterns/README.md +37 -0
  34. package/augment-extensions/examples/design-patterns/examples/behavioral-patterns.md +370 -0
  35. package/augment-extensions/examples/design-patterns/examples/creational-patterns.md +250 -0
  36. package/augment-extensions/examples/design-patterns/examples/structural-patterns.md +264 -0
  37. package/augment-extensions/examples/design-patterns/module.json +27 -0
  38. package/{modules → augment-extensions}/workflows/beads/examples/complete-workflow-example.md +5 -5
  39. package/{modules → augment-extensions}/workflows/beads/rules/file-format.md +45 -1
  40. package/{modules → augment-extensions}/workflows/beads/rules/workflow.md +41 -0
  41. package/{modules → augment-extensions}/workflows/openspec/examples/complete-change-example.md +14 -0
  42. package/{modules → augment-extensions}/workflows/openspec/rules/spec-format.md +44 -1
  43. package/{modules → augment-extensions}/workflows/openspec/rules/workflow.md +25 -0
  44. package/cli/dist/cli.js +69 -1
  45. package/cli/dist/cli.js.map +1 -1
  46. package/cli/dist/commands/coord.d.ts +30 -0
  47. package/cli/dist/commands/coord.d.ts.map +1 -0
  48. package/cli/dist/commands/coord.js +150 -0
  49. package/cli/dist/commands/coord.js.map +1 -0
  50. package/cli/dist/commands/link.js +1 -1
  51. package/cli/dist/commands/link.js.map +1 -1
  52. package/cli/dist/commands/list.js +1 -1
  53. package/cli/dist/commands/list.js.map +1 -1
  54. package/cli/dist/commands/search.d.ts.map +1 -1
  55. package/cli/dist/commands/search.js +107 -5
  56. package/cli/dist/commands/search.js.map +1 -1
  57. package/cli/dist/commands/show.js +1 -1
  58. package/cli/dist/commands/show.js.map +1 -1
  59. package/cli/dist/commands/sync.d.ts +26 -0
  60. package/cli/dist/commands/sync.d.ts.map +1 -0
  61. package/cli/dist/commands/sync.js +106 -0
  62. package/cli/dist/commands/sync.js.map +1 -0
  63. package/cli/dist/commands/update.d.ts.map +1 -1
  64. package/cli/dist/commands/update.js +132 -7
  65. package/cli/dist/commands/update.js.map +1 -1
  66. package/cli/dist/utils/auto-sync.d.ts +34 -0
  67. package/cli/dist/utils/auto-sync.d.ts.map +1 -0
  68. package/cli/dist/utils/auto-sync.js +172 -0
  69. package/cli/dist/utils/auto-sync.js.map +1 -0
  70. package/cli/dist/utils/beads-sync.d.ts +51 -0
  71. package/cli/dist/utils/beads-sync.d.ts.map +1 -0
  72. package/cli/dist/utils/beads-sync.js +171 -0
  73. package/cli/dist/utils/beads-sync.js.map +1 -0
  74. package/cli/dist/utils/coordination-queries.d.ts +79 -0
  75. package/cli/dist/utils/coordination-queries.d.ts.map +1 -0
  76. package/cli/dist/utils/coordination-queries.js +155 -0
  77. package/cli/dist/utils/coordination-queries.js.map +1 -0
  78. package/cli/dist/utils/file-tracking.d.ts +42 -0
  79. package/cli/dist/utils/file-tracking.d.ts.map +1 -0
  80. package/cli/dist/utils/file-tracking.js +155 -0
  81. package/cli/dist/utils/file-tracking.js.map +1 -0
  82. package/cli/dist/utils/migrate.d.ts +25 -0
  83. package/cli/dist/utils/migrate.d.ts.map +1 -0
  84. package/cli/dist/utils/migrate.js +204 -0
  85. package/cli/dist/utils/migrate.js.map +1 -0
  86. package/cli/dist/utils/openspec-sync.d.ts +48 -0
  87. package/cli/dist/utils/openspec-sync.d.ts.map +1 -0
  88. package/cli/dist/utils/openspec-sync.js +167 -0
  89. package/cli/dist/utils/openspec-sync.js.map +1 -0
  90. package/{MODULES.md → modules.md} +1 -1
  91. package/package.json +9 -7
  92. /package/{modules → augment-extensions}/coding-standards/typescript/README.md +0 -0
  93. /package/{modules → augment-extensions}/coding-standards/typescript/module.json +0 -0
  94. /package/{modules → augment-extensions}/coding-standards/typescript/rules/naming-conventions.md +0 -0
  95. /package/{modules → augment-extensions}/workflows/beads/README.md +0 -0
  96. /package/{modules → augment-extensions}/workflows/beads/module.json +0 -0
  97. /package/{modules → augment-extensions}/workflows/beads/rules/best-practices.md +0 -0
  98. /package/{modules → augment-extensions}/workflows/beads/rules/manual-setup.md +0 -0
  99. /package/{modules → augment-extensions}/workflows/openspec/README.md +0 -0
  100. /package/{modules → augment-extensions}/workflows/openspec/module.json +0 -0
  101. /package/{modules → augment-extensions}/workflows/openspec/rules/best-practices.md +0 -0
  102. /package/{modules → augment-extensions}/workflows/openspec/rules/manual-setup.md +0 -0
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * Migration Utility
4
+ *
5
+ * Migrates existing Beads tasks and OpenSpec specs to coordination system.
6
+ * Ensures no data loss during migration.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.migrateExistingData = migrateExistingData;
43
+ const fs = __importStar(require("fs"));
44
+ const beads_sync_1 = require("./beads-sync");
45
+ const openspec_sync_1 = require("./openspec-sync");
46
+ /**
47
+ * Create backup of coordination manifest
48
+ */
49
+ function createBackup(manifestPath) {
50
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
51
+ const backupPath = `${manifestPath}.backup-${timestamp}`;
52
+ if (fs.existsSync(manifestPath)) {
53
+ fs.copyFileSync(manifestPath, backupPath);
54
+ }
55
+ return backupPath;
56
+ }
57
+ /**
58
+ * Validate coordination manifest
59
+ */
60
+ function validateManifest(manifestPath) {
61
+ try {
62
+ const content = fs.readFileSync(manifestPath, 'utf-8');
63
+ const manifest = JSON.parse(content);
64
+ // Check required fields
65
+ if (!manifest.version || !manifest.specs || !manifest.tasks || !manifest.rules || !manifest.files) {
66
+ console.error('Error: Missing required fields in coordination manifest');
67
+ return false;
68
+ }
69
+ // Validate task ID prefixes
70
+ const taskIdPattern = /^bd-[a-z0-9]+([.-][a-z0-9]+)*$/;
71
+ const invalidTaskIds = [];
72
+ // Check task IDs in tasks section
73
+ for (const taskId of Object.keys(manifest.tasks)) {
74
+ if (!taskIdPattern.test(taskId)) {
75
+ invalidTaskIds.push(taskId);
76
+ }
77
+ }
78
+ // Check task IDs referenced in specs
79
+ for (const [specId, spec] of Object.entries(manifest.specs)) {
80
+ const specData = spec;
81
+ if (specData.relatedTasks) {
82
+ for (const taskId of specData.relatedTasks) {
83
+ if (!taskIdPattern.test(taskId)) {
84
+ if (!invalidTaskIds.includes(taskId)) {
85
+ invalidTaskIds.push(taskId);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ // Report invalid task IDs
92
+ if (invalidTaskIds.length > 0) {
93
+ console.error('Error: Invalid task IDs found (must use "bd-" prefix):');
94
+ for (const taskId of invalidTaskIds) {
95
+ console.error(` - ${taskId}`);
96
+ }
97
+ console.error('');
98
+ console.error('Valid formats:');
99
+ console.error(' - bd-<hash> (e.g., bd-a1b2)');
100
+ console.error(' - bd-<name> (e.g., bd-init, bd-rename1)');
101
+ console.error(' - bd-<hash>.<num> (e.g., bd-a1b2.1)');
102
+ console.error(' - bd-<name>-<num> (e.g., bd-prefix1-1)');
103
+ console.error('');
104
+ console.error('See openspec/specs/beads/naming-convention.md for details');
105
+ return false;
106
+ }
107
+ // Check that all task references in specs exist
108
+ for (const [specId, spec] of Object.entries(manifest.specs)) {
109
+ const specData = spec;
110
+ if (specData.relatedTasks) {
111
+ for (const taskId of specData.relatedTasks) {
112
+ if (!manifest.tasks[taskId]) {
113
+ console.warn(`Warning: Spec ${specId} references non-existent task ${taskId}`);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ // Check that all spec references in tasks exist
119
+ for (const [taskId, task] of Object.entries(manifest.tasks)) {
120
+ const taskData = task;
121
+ if (taskData.relatedSpecs) {
122
+ for (const specId of taskData.relatedSpecs) {
123
+ if (!manifest.specs[specId]) {
124
+ console.warn(`Warning: Task ${taskId} references non-existent spec ${specId}`);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ return true;
130
+ }
131
+ catch (error) {
132
+ console.error('Validation error:', error);
133
+ return false;
134
+ }
135
+ }
136
+ /**
137
+ * Migrate existing data to coordination system
138
+ */
139
+ function migrateExistingData(beadsPath = '.beads/issues.jsonl', openspecDir = 'openspec', manifestPath = '.augment/coordination.json') {
140
+ console.log('Starting migration...');
141
+ // Create backup
142
+ const backupPath = createBackup(manifestPath);
143
+ console.log(`Created backup at ${backupPath}`);
144
+ // Sync Beads tasks
145
+ console.log('Migrating Beads tasks...');
146
+ let beadsStats = { added: 0, updated: 0, removed: 0 };
147
+ if (fs.existsSync(beadsPath)) {
148
+ try {
149
+ beadsStats = (0, beads_sync_1.syncBeadsToCoordination)(beadsPath, manifestPath);
150
+ console.log(`Beads: ${beadsStats.added} added, ${beadsStats.updated} updated, ${beadsStats.removed} removed`);
151
+ }
152
+ catch (error) {
153
+ console.error('Failed to migrate Beads tasks:', error);
154
+ // Restore backup
155
+ if (fs.existsSync(backupPath)) {
156
+ fs.copyFileSync(backupPath, manifestPath);
157
+ console.log('Restored from backup');
158
+ }
159
+ throw error;
160
+ }
161
+ }
162
+ else {
163
+ console.log('No Beads tasks found, skipping');
164
+ }
165
+ // Sync OpenSpec specs
166
+ console.log('Migrating OpenSpec specs...');
167
+ let openspecStats = { added: 0, updated: 0, removed: 0 };
168
+ if (fs.existsSync(openspecDir)) {
169
+ try {
170
+ openspecStats = (0, openspec_sync_1.syncOpenSpecToCoordination)(openspecDir, manifestPath);
171
+ console.log(`OpenSpec: ${openspecStats.added} added, ${openspecStats.updated} updated, ${openspecStats.removed} removed`);
172
+ }
173
+ catch (error) {
174
+ console.error('Failed to migrate OpenSpec specs:', error);
175
+ // Restore backup
176
+ if (fs.existsSync(backupPath)) {
177
+ fs.copyFileSync(backupPath, manifestPath);
178
+ console.log('Restored from backup');
179
+ }
180
+ throw error;
181
+ }
182
+ }
183
+ else {
184
+ console.log('No OpenSpec specs found, skipping');
185
+ }
186
+ // Validate result
187
+ console.log('Validating migration...');
188
+ if (!validateManifest(manifestPath)) {
189
+ console.error('Validation failed!');
190
+ // Restore backup
191
+ if (fs.existsSync(backupPath)) {
192
+ fs.copyFileSync(backupPath, manifestPath);
193
+ console.log('Restored from backup');
194
+ }
195
+ throw new Error('Migration validation failed');
196
+ }
197
+ console.log('Migration complete!');
198
+ return {
199
+ beads: beadsStats,
200
+ openspec: openspecStats,
201
+ backup: backupPath
202
+ };
203
+ }
204
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/utils/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * OpenSpec ↔ Coordination Sync Utility
3
+ *
4
+ * Syncs OpenSpec specs with the coordination manifest.
5
+ * Handles spec status changes, creation, and archival.
6
+ */
7
+ interface SpecFrontmatter {
8
+ id?: string;
9
+ relatedTasks?: string[];
10
+ relatedRules?: string[];
11
+ status?: string;
12
+ affectedFiles?: string[];
13
+ dependencies?: string[];
14
+ }
15
+ interface CoordinationManifest {
16
+ version: string;
17
+ lastUpdated: string;
18
+ specs: Record<string, any>;
19
+ tasks: Record<string, any>;
20
+ rules: Record<string, any>;
21
+ files: Record<string, any>;
22
+ }
23
+ /**
24
+ * Extract YAML frontmatter from markdown file
25
+ */
26
+ export declare function extractFrontmatter(filePath: string): SpecFrontmatter | null;
27
+ /**
28
+ * Find all OpenSpec spec files
29
+ */
30
+ export declare function findSpecFiles(baseDir?: string): string[];
31
+ /**
32
+ * Read coordination manifest
33
+ */
34
+ export declare function readCoordinationManifest(manifestPath?: string): CoordinationManifest;
35
+ /**
36
+ * Write coordination manifest
37
+ */
38
+ export declare function writeCoordinationManifest(manifest: CoordinationManifest, manifestPath?: string): void;
39
+ /**
40
+ * Sync OpenSpec specs to coordination manifest
41
+ */
42
+ export declare function syncOpenSpecToCoordination(openspecDir?: string, manifestPath?: string): {
43
+ added: number;
44
+ updated: number;
45
+ removed: number;
46
+ };
47
+ export {};
48
+ //# sourceMappingURL=openspec-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openspec-sync.d.ts","sourceRoot":"","sources":["../../src/utils/openspec-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAmB3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAmB,GAAG,MAAM,EAAE,CAkCpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,GAAE,MAAqC,GAAG,oBAAoB,CAMlH;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,YAAY,GAAE,MAAqC,GAAG,IAAI,CAEnI;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAAmB,EAChC,YAAY,GAAE,MAAqC,GAClD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwDrD"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ /**
3
+ * OpenSpec ↔ Coordination Sync Utility
4
+ *
5
+ * Syncs OpenSpec specs with the coordination manifest.
6
+ * Handles spec status changes, creation, and archival.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.extractFrontmatter = extractFrontmatter;
43
+ exports.findSpecFiles = findSpecFiles;
44
+ exports.readCoordinationManifest = readCoordinationManifest;
45
+ exports.writeCoordinationManifest = writeCoordinationManifest;
46
+ exports.syncOpenSpecToCoordination = syncOpenSpecToCoordination;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ const yaml = __importStar(require("js-yaml"));
50
+ /**
51
+ * Extract YAML frontmatter from markdown file
52
+ */
53
+ function extractFrontmatter(filePath) {
54
+ if (!fs.existsSync(filePath)) {
55
+ return null;
56
+ }
57
+ const content = fs.readFileSync(filePath, 'utf-8');
58
+ const frontmatterRegex = /^---\s*\n([\s\S]*?)\n---\s*\n/;
59
+ const match = content.match(frontmatterRegex);
60
+ if (!match) {
61
+ return null;
62
+ }
63
+ try {
64
+ return yaml.load(match[1]);
65
+ }
66
+ catch (error) {
67
+ console.error(`Failed to parse frontmatter in ${filePath}:`, error);
68
+ return null;
69
+ }
70
+ }
71
+ /**
72
+ * Find all OpenSpec spec files
73
+ */
74
+ function findSpecFiles(baseDir = 'openspec') {
75
+ const specFiles = [];
76
+ function walkDir(dir) {
77
+ if (!fs.existsSync(dir)) {
78
+ return;
79
+ }
80
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
81
+ for (const entry of entries) {
82
+ const fullPath = path.join(dir, entry.name);
83
+ if (entry.isDirectory()) {
84
+ walkDir(fullPath);
85
+ }
86
+ else if (entry.isFile() && entry.name.endsWith('.md')) {
87
+ specFiles.push(fullPath);
88
+ }
89
+ }
90
+ }
91
+ // Check specs directory
92
+ const specsDir = path.join(baseDir, 'specs');
93
+ if (fs.existsSync(specsDir)) {
94
+ walkDir(specsDir);
95
+ }
96
+ // Check changes directory
97
+ const changesDir = path.join(baseDir, 'changes');
98
+ if (fs.existsSync(changesDir)) {
99
+ walkDir(changesDir);
100
+ }
101
+ return specFiles;
102
+ }
103
+ /**
104
+ * Read coordination manifest
105
+ */
106
+ function readCoordinationManifest(manifestPath = '.augment/coordination.json') {
107
+ if (!fs.existsSync(manifestPath)) {
108
+ throw new Error(`Coordination manifest not found at ${manifestPath}`);
109
+ }
110
+ return JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
111
+ }
112
+ /**
113
+ * Write coordination manifest
114
+ */
115
+ function writeCoordinationManifest(manifest, manifestPath = '.augment/coordination.json') {
116
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
117
+ }
118
+ /**
119
+ * Sync OpenSpec specs to coordination manifest
120
+ */
121
+ function syncOpenSpecToCoordination(openspecDir = 'openspec', manifestPath = '.augment/coordination.json') {
122
+ const specFiles = findSpecFiles(openspecDir);
123
+ const manifest = readCoordinationManifest(manifestPath);
124
+ let added = 0;
125
+ let updated = 0;
126
+ let removed = 0;
127
+ // Track which spec IDs exist in OpenSpec
128
+ const openspecIds = new Set();
129
+ // Update or add specs from OpenSpec
130
+ for (const specFile of specFiles) {
131
+ const frontmatter = extractFrontmatter(specFile);
132
+ if (!frontmatter || !frontmatter.id) {
133
+ continue; // Skip files without frontmatter or ID
134
+ }
135
+ const specId = frontmatter.id;
136
+ openspecIds.add(specId);
137
+ const existingSpec = manifest.specs[specId];
138
+ if (!existingSpec) {
139
+ // Add new spec
140
+ manifest.specs[specId] = {
141
+ path: specFile,
142
+ status: frontmatter.status || 'active',
143
+ relatedTasks: frontmatter.relatedTasks || [],
144
+ relatedRules: frontmatter.relatedRules || [],
145
+ affectedFiles: frontmatter.affectedFiles || [],
146
+ dependencies: frontmatter.dependencies || []
147
+ };
148
+ added++;
149
+ }
150
+ else {
151
+ // Update existing spec
152
+ let hasChanges = false;
153
+ if (existingSpec.status !== (frontmatter.status || 'active')) {
154
+ existingSpec.status = frontmatter.status || 'active';
155
+ hasChanges = true;
156
+ }
157
+ if (hasChanges) {
158
+ updated++;
159
+ }
160
+ }
161
+ }
162
+ // Update lastUpdated timestamp
163
+ manifest.lastUpdated = new Date().toISOString();
164
+ writeCoordinationManifest(manifest, manifestPath);
165
+ return { added, updated, removed };
166
+ }
167
+ //# sourceMappingURL=openspec-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openspec-sync.js","sourceRoot":"","sources":["../../src/utils/openspec-sync.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ augx link workflows/beads
105
105
 
106
106
  ## Contributing New Modules
107
107
 
108
- See [docs/MODULE_DEVELOPMENT.md](./docs/MODULE_DEVELOPMENT.md) for guidelines on creating new modules.
108
+ See [module-development.md](./module-development.md) for guidelines on creating new modules.
109
109
 
110
110
  ## Module Versioning
111
111
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mytechtoday/augment-extensions",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "CLI tool for managing Augment Code AI extension modules",
5
5
  "main": "cli/dist/index.js",
6
6
  "bin": {
@@ -8,11 +8,11 @@
8
8
  },
9
9
  "files": [
10
10
  "cli/dist/",
11
- "modules/",
11
+ "augment-extensions/",
12
12
  "README.md",
13
13
  "LICENSE",
14
14
  "AGENTS.md",
15
- "MODULES.md"
15
+ "modules.md"
16
16
  ],
17
17
  "scripts": {
18
18
  "build": "cd cli && tsc",
@@ -39,7 +39,7 @@
39
39
  "license": "MIT",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/mytech-today-now/augment.git"
42
+ "url": "git+https://github.com/mytech-today-now/augment.git"
43
43
  },
44
44
  "bugs": {
45
45
  "url": "https://github.com/mytech-today-now/augment/issues"
@@ -52,15 +52,18 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "commander": "^11.0.0",
55
+ "@types/js-yaml": "^4.0.9",
56
56
  "chalk": "^5.3.0",
57
+ "commander": "^11.0.0",
57
58
  "inquirer": "^9.2.0",
59
+ "js-yaml": "^4.1.1",
60
+ "minimatch": "^10.1.1",
58
61
  "semver": "^7.5.0",
59
62
  "yaml": "^2.3.0"
60
63
  },
61
64
  "devDependencies": {
62
- "@types/node": "^20.0.0",
63
65
  "@types/inquirer": "^9.0.0",
66
+ "@types/node": "^20.0.0",
64
67
  "@types/semver": "^7.5.0",
65
68
  "@typescript-eslint/eslint-plugin": "^6.0.0",
66
69
  "@typescript-eslint/parser": "^6.0.0",
@@ -69,4 +72,3 @@
69
72
  "typescript": "^5.2.0"
70
73
  }
71
74
  }
72
-