@mytechtoday/augment-extensions 0.1.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 (50) hide show
  1. package/AGENTS.md +152 -0
  2. package/LICENSE +22 -0
  3. package/MODULES.md +124 -0
  4. package/README.md +195 -0
  5. package/cli/dist/cli.d.ts +3 -0
  6. package/cli/dist/cli.d.ts.map +1 -0
  7. package/cli/dist/cli.js +100 -0
  8. package/cli/dist/cli.js.map +1 -0
  9. package/cli/dist/commands/init.d.ts +6 -0
  10. package/cli/dist/commands/init.d.ts.map +1 -0
  11. package/cli/dist/commands/init.js +137 -0
  12. package/cli/dist/commands/init.js.map +1 -0
  13. package/cli/dist/commands/link.d.ts +6 -0
  14. package/cli/dist/commands/link.d.ts.map +1 -0
  15. package/cli/dist/commands/link.js +85 -0
  16. package/cli/dist/commands/link.js.map +1 -0
  17. package/cli/dist/commands/list.d.ts +7 -0
  18. package/cli/dist/commands/list.d.ts.map +1 -0
  19. package/cli/dist/commands/list.js +122 -0
  20. package/cli/dist/commands/list.js.map +1 -0
  21. package/cli/dist/commands/search.d.ts +6 -0
  22. package/cli/dist/commands/search.d.ts.map +1 -0
  23. package/cli/dist/commands/search.js +16 -0
  24. package/cli/dist/commands/search.js.map +1 -0
  25. package/cli/dist/commands/show.d.ts +6 -0
  26. package/cli/dist/commands/show.d.ts.map +1 -0
  27. package/cli/dist/commands/show.js +106 -0
  28. package/cli/dist/commands/show.js.map +1 -0
  29. package/cli/dist/commands/update.d.ts +6 -0
  30. package/cli/dist/commands/update.d.ts.map +1 -0
  31. package/cli/dist/commands/update.js +19 -0
  32. package/cli/dist/commands/update.js.map +1 -0
  33. package/modules/coding-standards/typescript/README.md +45 -0
  34. package/modules/coding-standards/typescript/module.json +27 -0
  35. package/modules/coding-standards/typescript/rules/naming-conventions.md +225 -0
  36. package/modules/workflows/beads/README.md +135 -0
  37. package/modules/workflows/beads/examples/complete-workflow-example.md +278 -0
  38. package/modules/workflows/beads/module.json +54 -0
  39. package/modules/workflows/beads/rules/best-practices.md +398 -0
  40. package/modules/workflows/beads/rules/file-format.md +283 -0
  41. package/modules/workflows/beads/rules/manual-setup.md +315 -0
  42. package/modules/workflows/beads/rules/workflow.md +285 -0
  43. package/modules/workflows/openspec/README.md +96 -0
  44. package/modules/workflows/openspec/examples/complete-change-example.md +230 -0
  45. package/modules/workflows/openspec/module.json +53 -0
  46. package/modules/workflows/openspec/rules/best-practices.md +272 -0
  47. package/modules/workflows/openspec/rules/manual-setup.md +231 -0
  48. package/modules/workflows/openspec/rules/spec-format.md +193 -0
  49. package/modules/workflows/openspec/rules/workflow.md +189 -0
  50. package/package.json +72 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.initCommand = initCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const inquirer_1 = __importDefault(require("inquirer"));
44
+ async function initCommand(options) {
45
+ console.log(chalk_1.default.bold.blue('\n🚀 Initializing Augment Extensions\n'));
46
+ try {
47
+ // Check if already initialized
48
+ const augmentDir = path.join(process.cwd(), '.augment');
49
+ const extensionsConfig = path.join(augmentDir, 'extensions.json');
50
+ if (fs.existsSync(extensionsConfig)) {
51
+ const { overwrite } = await inquirer_1.default.prompt([
52
+ {
53
+ type: 'confirm',
54
+ name: 'overwrite',
55
+ message: 'Augment Extensions already initialized. Overwrite?',
56
+ default: false
57
+ }
58
+ ]);
59
+ if (!overwrite) {
60
+ console.log(chalk_1.default.yellow('Initialization cancelled.'));
61
+ return;
62
+ }
63
+ }
64
+ // Create .augment directory if it doesn't exist
65
+ if (!fs.existsSync(augmentDir)) {
66
+ fs.mkdirSync(augmentDir, { recursive: true });
67
+ console.log(chalk_1.default.green('✓ Created .augment directory'));
68
+ }
69
+ // Create extensions.json
70
+ const config = {
71
+ version: '0.1.0',
72
+ modules: [],
73
+ settings: {
74
+ autoUpdate: false,
75
+ checkUpdatesOnInit: true
76
+ }
77
+ };
78
+ fs.writeFileSync(extensionsConfig, JSON.stringify(config, null, 2));
79
+ console.log(chalk_1.default.green('✓ Created extensions.json'));
80
+ // Update or create AGENTS.md
81
+ const agentsPath = path.join(process.cwd(), 'AGENTS.md');
82
+ const agentsContent = `
83
+ # Augment Extensions Integration
84
+
85
+ This project uses Augment Extensions for additional AI coding guidelines.
86
+
87
+ ## For AI Agents
88
+
89
+ Use the \`augx\` CLI to discover and apply extension modules:
90
+
91
+ \`\`\`bash
92
+ # List linked modules
93
+ augx list --linked
94
+
95
+ # Show module details
96
+ augx show <module-name>
97
+
98
+ # Search for modules
99
+ augx search <keyword>
100
+ \`\`\`
101
+
102
+ ## Linked Modules
103
+
104
+ Check \`.augment/extensions.json\` for currently linked modules.
105
+ `;
106
+ if (fs.existsSync(agentsPath)) {
107
+ const existing = fs.readFileSync(agentsPath, 'utf-8');
108
+ if (!existing.includes('Augment Extensions')) {
109
+ fs.appendFileSync(agentsPath, '\n' + agentsContent);
110
+ console.log(chalk_1.default.green('✓ Updated AGENTS.md'));
111
+ }
112
+ }
113
+ else {
114
+ fs.writeFileSync(agentsPath, agentsContent.trim());
115
+ console.log(chalk_1.default.green('✓ Created AGENTS.md'));
116
+ }
117
+ // Create .gitignore entry if needed
118
+ const gitignorePath = path.join(process.cwd(), '.gitignore');
119
+ if (fs.existsSync(gitignorePath)) {
120
+ const gitignore = fs.readFileSync(gitignorePath, 'utf-8');
121
+ if (!gitignore.includes('.augment/extensions.json')) {
122
+ fs.appendFileSync(gitignorePath, '\n# Augment Extensions\n.augment/extensions.json\n');
123
+ console.log(chalk_1.default.green('✓ Updated .gitignore'));
124
+ }
125
+ }
126
+ console.log(chalk_1.default.bold.green('\n✨ Augment Extensions initialized successfully!\n'));
127
+ console.log(chalk_1.default.gray('Next steps:'));
128
+ console.log(chalk_1.default.gray(' 1. Link modules: augx link coding-standards/typescript'));
129
+ console.log(chalk_1.default.gray(' 2. View modules: augx list'));
130
+ console.log(chalk_1.default.gray(' 3. Show details: augx show <module-name>\n'));
131
+ }
132
+ catch (error) {
133
+ console.error(chalk_1.default.red('Error during initialization:'), error);
134
+ process.exit(1);
135
+ }
136
+ }
137
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface LinkOptions {
2
+ version?: string;
3
+ }
4
+ export declare function linkCommand(moduleName: string, options: LinkOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDzF"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.linkCommand = linkCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ async function linkCommand(moduleName, options) {
44
+ try {
45
+ console.log(chalk_1.default.blue(`Linking module: ${moduleName}`));
46
+ // Load extensions config
47
+ const configPath = path.join(process.cwd(), '.augment', 'extensions.json');
48
+ if (!fs.existsSync(configPath)) {
49
+ console.error(chalk_1.default.red('Augment Extensions not initialized. Run: augx init'));
50
+ process.exit(1);
51
+ }
52
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
53
+ // Check if module exists
54
+ const modulesDir = path.join(__dirname, '../../../modules');
55
+ const modulePath = path.join(modulesDir, moduleName);
56
+ const moduleJsonPath = path.join(modulePath, 'module.json');
57
+ if (!fs.existsSync(moduleJsonPath)) {
58
+ console.error(chalk_1.default.red(`Module not found: ${moduleName}`));
59
+ process.exit(1);
60
+ }
61
+ const moduleData = JSON.parse(fs.readFileSync(moduleJsonPath, 'utf-8'));
62
+ // Check if already linked
63
+ const existingIndex = config.modules.findIndex((m) => m.name === moduleName);
64
+ if (existingIndex >= 0) {
65
+ console.log(chalk_1.default.yellow(`Module already linked: ${moduleName}`));
66
+ console.log(chalk_1.default.gray('Use "augx update" to update to latest version'));
67
+ return;
68
+ }
69
+ // Add to config
70
+ config.modules.push({
71
+ name: moduleName,
72
+ version: options.version || moduleData.version,
73
+ type: moduleData.type,
74
+ description: moduleData.description
75
+ });
76
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
77
+ console.log(chalk_1.default.green(`✓ Linked ${moduleName} (v${options.version || moduleData.version})`));
78
+ console.log(chalk_1.default.gray(`\nUse "augx show ${moduleName}" to view module details`));
79
+ }
80
+ catch (error) {
81
+ console.error(chalk_1.default.red('Error linking module:'), error);
82
+ process.exit(1);
83
+ }
84
+ }
85
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface ListOptions {
2
+ linked?: boolean;
3
+ json?: boolean;
4
+ }
5
+ export declare function listCommand(options: ListOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAUD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrE"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.listCommand = listCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ async function listCommand(options) {
44
+ try {
45
+ const modules = await getModules(options.linked);
46
+ if (options.json) {
47
+ console.log(JSON.stringify(modules, null, 2));
48
+ return;
49
+ }
50
+ if (modules.length === 0) {
51
+ console.log(chalk_1.default.yellow(options.linked ? 'No linked modules found.' : 'No modules available.'));
52
+ return;
53
+ }
54
+ console.log(chalk_1.default.bold.blue(`\n${options.linked ? 'Linked' : 'Available'} Modules:\n`));
55
+ modules.forEach((module) => {
56
+ const status = module.linked ? chalk_1.default.green('✓') : chalk_1.default.gray('○');
57
+ console.log(`${status} ${chalk_1.default.bold(module.name)} ${chalk_1.default.gray(`(v${module.version})`)}`);
58
+ console.log(` ${chalk_1.default.gray(module.description)}`);
59
+ console.log(` ${chalk_1.default.cyan(`Type: ${module.type}`)}\n`);
60
+ });
61
+ console.log(chalk_1.default.gray(`Total: ${modules.length} module(s)\n`));
62
+ }
63
+ catch (error) {
64
+ console.error(chalk_1.default.red('Error listing modules:'), error);
65
+ process.exit(1);
66
+ }
67
+ }
68
+ async function getModules(linkedOnly = false) {
69
+ const modules = [];
70
+ // Check for linked modules in current project
71
+ const linkedModules = getLinkedModules();
72
+ if (linkedOnly) {
73
+ return linkedModules;
74
+ }
75
+ // Get all available modules from repository
76
+ const modulesDir = path.join(__dirname, '../../../modules');
77
+ if (!fs.existsSync(modulesDir)) {
78
+ return linkedModules;
79
+ }
80
+ const categories = fs.readdirSync(modulesDir, { withFileTypes: true })
81
+ .filter(dirent => dirent.isDirectory())
82
+ .map(dirent => dirent.name);
83
+ for (const category of categories) {
84
+ const categoryPath = path.join(modulesDir, category);
85
+ const moduleNames = fs.readdirSync(categoryPath, { withFileTypes: true })
86
+ .filter(dirent => dirent.isDirectory())
87
+ .map(dirent => dirent.name);
88
+ for (const moduleName of moduleNames) {
89
+ const modulePath = path.join(categoryPath, moduleName);
90
+ const moduleJsonPath = path.join(modulePath, 'module.json');
91
+ if (fs.existsSync(moduleJsonPath)) {
92
+ const moduleData = JSON.parse(fs.readFileSync(moduleJsonPath, 'utf-8'));
93
+ const fullName = `${category}/${moduleName}`;
94
+ modules.push({
95
+ name: fullName,
96
+ version: moduleData.version,
97
+ description: moduleData.description,
98
+ type: moduleData.type,
99
+ linked: linkedModules.some(m => m.name === fullName)
100
+ });
101
+ }
102
+ }
103
+ }
104
+ return modules;
105
+ }
106
+ function getLinkedModules() {
107
+ const configPath = path.join(process.cwd(), '.augment', 'extensions.json');
108
+ if (!fs.existsSync(configPath)) {
109
+ return [];
110
+ }
111
+ try {
112
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
113
+ return (config.modules || []).map((m) => ({
114
+ ...m,
115
+ linked: true
116
+ }));
117
+ }
118
+ catch (error) {
119
+ return [];
120
+ }
121
+ }
122
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface SearchOptions {
2
+ type?: string;
3
+ }
4
+ export declare function searchCommand(keyword: string, options: SearchOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.searchCommand = searchCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ async function searchCommand(keyword, options) {
9
+ console.log(chalk_1.default.blue(`Searching for: ${keyword}`));
10
+ if (options.type) {
11
+ console.log(chalk_1.default.gray(`Filter by type: ${options.type}`));
12
+ }
13
+ // Implementation placeholder
14
+ console.log(chalk_1.default.yellow('Search functionality coming soon!'));
15
+ }
16
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":";;;;;AAMA,sCASC;AAfD,kDAA0B;AAMnB,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,OAAsB;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface ShowOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function showCommand(moduleName: string, options: ShowOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CzF"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.showCommand = showCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ async function showCommand(moduleName, options) {
44
+ try {
45
+ const moduleInfo = await getModuleInfo(moduleName);
46
+ if (!moduleInfo) {
47
+ console.error(chalk_1.default.red(`Module not found: ${moduleName}`));
48
+ process.exit(1);
49
+ }
50
+ if (options.json) {
51
+ console.log(JSON.stringify(moduleInfo, null, 2));
52
+ return;
53
+ }
54
+ console.log(chalk_1.default.bold.blue(`\n📦 ${moduleInfo.name}\n`));
55
+ console.log(chalk_1.default.gray(`Version: ${moduleInfo.version}`));
56
+ console.log(chalk_1.default.gray(`Type: ${moduleInfo.type}`));
57
+ console.log(chalk_1.default.gray(`Description: ${moduleInfo.description}\n`));
58
+ if (moduleInfo.rules && moduleInfo.rules.length > 0) {
59
+ console.log(chalk_1.default.bold('Rules:'));
60
+ moduleInfo.rules.forEach((rule) => {
61
+ console.log(chalk_1.default.cyan(` • ${rule}`));
62
+ });
63
+ console.log();
64
+ }
65
+ if (moduleInfo.examples && moduleInfo.examples.length > 0) {
66
+ console.log(chalk_1.default.bold('Examples:'));
67
+ moduleInfo.examples.forEach((example) => {
68
+ console.log(chalk_1.default.green(` • ${example}`));
69
+ });
70
+ console.log();
71
+ }
72
+ console.log(chalk_1.default.gray(`Character count: ~${moduleInfo.characterCount || 'unknown'}`));
73
+ console.log();
74
+ }
75
+ catch (error) {
76
+ console.error(chalk_1.default.red('Error showing module:'), error);
77
+ process.exit(1);
78
+ }
79
+ }
80
+ async function getModuleInfo(moduleName) {
81
+ const modulesDir = path.join(__dirname, '../../../modules');
82
+ const modulePath = path.join(modulesDir, moduleName);
83
+ const moduleJsonPath = path.join(modulePath, 'module.json');
84
+ if (!fs.existsSync(moduleJsonPath)) {
85
+ return null;
86
+ }
87
+ const moduleData = JSON.parse(fs.readFileSync(moduleJsonPath, 'utf-8'));
88
+ // Get rules
89
+ const rulesDir = path.join(modulePath, 'rules');
90
+ const rules = fs.existsSync(rulesDir)
91
+ ? fs.readdirSync(rulesDir).filter(f => f.endsWith('.md'))
92
+ : [];
93
+ // Get examples
94
+ const examplesDir = path.join(modulePath, 'examples');
95
+ const examples = fs.existsSync(examplesDir)
96
+ ? fs.readdirSync(examplesDir)
97
+ : [];
98
+ return {
99
+ ...moduleData,
100
+ name: moduleName,
101
+ rules,
102
+ examples,
103
+ characterCount: moduleData.augment?.characterCount
104
+ };
105
+ }
106
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface UpdateOptions {
2
+ module?: string;
3
+ }
4
+ export declare function updateCommand(options: UpdateOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzE"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateCommand = updateCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ async function updateCommand(options) {
9
+ console.log(chalk_1.default.blue('Updating modules...'));
10
+ if (options.module) {
11
+ console.log(chalk_1.default.gray(`Updating: ${options.module}`));
12
+ }
13
+ else {
14
+ console.log(chalk_1.default.gray('Updating all linked modules'));
15
+ }
16
+ // Implementation placeholder
17
+ console.log(chalk_1.default.yellow('Update functionality coming soon!'));
18
+ }
19
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;AAMA,sCAWC;AAjBD,kDAA0B;AAMnB,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,45 @@
1
+ # TypeScript Coding Standards
2
+
3
+ Comprehensive TypeScript coding standards and best practices for Augment Code AI.
4
+
5
+ ## Overview
6
+
7
+ This module provides detailed TypeScript coding standards that exceed the `.augment/` character limit, including:
8
+
9
+ - Naming conventions
10
+ - Type safety guidelines
11
+ - Error handling patterns
12
+ - Async/await best practices
13
+ - Advanced TypeScript features
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ # Link this module to your project
19
+ augx link coding-standards/typescript
20
+
21
+ # AI agents can then query:
22
+ augx show typescript-standards
23
+ ```
24
+
25
+ ## Contents
26
+
27
+ ### Rules
28
+
29
+ 1. **naming-conventions.md** - Comprehensive naming guidelines
30
+ 2. **type-safety.md** - Type safety and inference best practices
31
+ 3. **error-handling.md** - Error handling patterns
32
+ 4. **async-patterns.md** - Async/await and Promise patterns
33
+
34
+ ### Examples
35
+
36
+ - **best-practices.ts** - Real-world code examples
37
+
38
+ ## Character Count
39
+
40
+ Total: ~15,420 characters (would exceed `.augment/` limit if included directly)
41
+
42
+ ## Version History
43
+
44
+ - **1.0.0** - Initial release with core standards
45
+