metacoding 1.0.0 → 1.1.1

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 (49) hide show
  1. package/CHANGELOG.md +79 -42
  2. package/LICENSE +1 -1
  3. package/lib/commands/init.d.ts.map +1 -1
  4. package/lib/commands/init.js +1 -1
  5. package/lib/commands/init.js.map +1 -1
  6. package/lib/services/template-manager.d.ts +4 -1
  7. package/lib/services/template-manager.d.ts.map +1 -1
  8. package/lib/services/template-manager.js +129 -10
  9. package/lib/services/template-manager.js.map +1 -1
  10. package/lib/services/vscode.js +1 -1
  11. package/lib/services/vscode.js.map +1 -1
  12. package/package.json +12 -4
  13. package/templates/general/code-review.instructions.md +265 -0
  14. package/templates/general/{files/copilot-instructions.md.template → copilot-instructions.md} +97 -140
  15. package/templates/{python/files → general}/docs-update.instructions.md +45 -32
  16. package/templates/general/release.instructions.md +242 -0
  17. package/templates/general/test-runner.instructions.md +188 -0
  18. package/templates/node/nodejs.coding.instructions.md +249 -0
  19. package/templates/node/nodejs.docs.instructions.md +234 -0
  20. package/templates/node/nodejs.testing.instructions.md +373 -0
  21. package/templates/python/python.coding.instructions.md +339 -0
  22. package/templates/python/python.docs.instructions.md +1147 -0
  23. package/templates/python/python.testing.instructions.md +1074 -0
  24. package/templates/react/react.coding.instructions.md +695 -0
  25. package/templates/react/react.docs.instructions.md +427 -0
  26. package/templates/react/react.testing.instructions.md +193 -0
  27. package/templates/react/test-runner.instructions.md +135 -0
  28. package/templates/typescript/template.json +16 -0
  29. package/templates/typescript/typescript.coding.instructions.md +368 -0
  30. package/templates/typescript/typescript.docs.instructions.md +734 -0
  31. package/templates/typescript/typescript.testing.instructions.md +740 -0
  32. package/templates/general/files/code-review.instructions.md +0 -111
  33. package/templates/general/files/docs-update.instructions.md +0 -203
  34. package/templates/general/files/release.instructions.md +0 -72
  35. package/templates/general/files/test-runner.instructions.md +0 -107
  36. package/templates/node/files/code-review.instructions.md +0 -222
  37. package/templates/node/files/copilot-instructions.md.template +0 -391
  38. package/templates/node/files/docs-update.instructions.md +0 -203
  39. package/templates/node/files/release.instructions.md +0 -72
  40. package/templates/node/files/test-runner.instructions.md +0 -108
  41. package/templates/python/files/code-review.instructions.md +0 -215
  42. package/templates/python/files/copilot-instructions.md.template +0 -418
  43. package/templates/python/files/release.instructions.md +0 -72
  44. package/templates/python/files/test-runner.instructions.md +0 -108
  45. package/templates/react/files/code-review.instructions.md +0 -160
  46. package/templates/react/files/copilot-instructions.md.template +0 -472
  47. package/templates/react/files/docs-update.instructions.md +0 -203
  48. package/templates/react/files/release.instructions.md +0 -72
  49. package/templates/react/files/test-runner.instructions.md +0 -108
package/CHANGELOG.md CHANGED
@@ -5,50 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.0.0] - 2025-06-21
8
+ ## [Unreleased]
9
9
 
10
10
  ### Added
11
11
 
12
- - **NPM Package Distribution**: Complete transformation from manual file copying to professional npm package
13
- - **Interactive CLI Tool**: `metacoding` command with init, validate, and update subcommands
14
- - **Template System**: Configurable templates for different project types (general, react, node, python)
15
- - **Project Detection**: Automatic detection of project type, tech stack, and existing configuration
16
- - **VS Code Integration**: Automatic VS Code settings configuration for GitHub Copilot
17
- - **Interactive Setup**: Guided project configuration with prompts for project details
18
- - **TypeScript Implementation**: Full TypeScript codebase with comprehensive type definitions
19
- - **Test Suite**: Unit and integration tests with >80% coverage target
20
- - **Professional CLI Experience**: Color output, progress indicators, and helpful error messages
12
+ - Future enhancements and features will be listed here
21
13
 
22
- ### Changed
14
+ ## [1.1.1] - 2025-06-22
23
15
 
24
- - **Installation Method**: From manual file download to simple `npm install -g metacoding`
25
- - **Setup Process**: From 6-step manual process to single `metacoding init` command
26
- - **User Experience**: From error-prone manual setup to guided, validated automation
27
- - **Template Processing**: Dynamic variable substitution for project-specific customization
28
- - **File Management**: Automatic directory creation, file validation, and conflict resolution
16
+ ### Fixed
29
17
 
30
- ### Technical Details
18
+ - **General Template TypeScript Support**: Fixed issue where selecting TypeScript with general template loaded all language-specific instruction files instead of only TypeScript files
19
+ - **Template System**: Updated loadInstructionFiles method to properly filter instruction files based on technology choices
20
+ - **Build Configuration**: Fixed TypeScript configuration to exclude test files from production build
31
21
 
32
- - **Dependencies**: Commander.js for CLI, Inquirer for prompts, Chalk for colors, fs-extra for file operations
33
- - **Build System**: TypeScript compilation with source maps and declarations
34
- - **Testing**: Jest test framework with coverage reporting
35
- - **Code Quality**: ESLint, Prettier, and strict TypeScript configuration
36
- - **Distribution**: Professional npm package with proper semver and release management
37
-
38
- ### Breaking Changes
39
-
40
- - **Installation**: Manual setup method is deprecated in favor of npm package
41
- - **File Structure**: Templates now use `{{VARIABLE}}` syntax instead of `[placeholder]` format
42
-
43
- ### Migration Guide
44
-
45
- Existing manual installations can be migrated by:
22
+ ### Changed
46
23
 
47
- 1. Installing the npm package: `npm install -g metacoding`
48
- 2. Running `metacoding validate` to check current setup
49
- 3. Running `metacoding update` to migrate to latest format
24
+ - **Package Build**: Improved TypeScript compilation configuration for cleaner npm package output
50
25
 
51
- ## [Unreleased]
26
+ ## [1.1.0] - 2025-06-22
52
27
 
53
28
  ### Added
54
29
 
@@ -67,6 +42,11 @@ Existing manual installations can be migrated by:
67
42
  - Present-tense headers reflecting current state
68
43
  - **Workflow Enforcement Rules**: Quality gates and violation handling procedures
69
44
  - **Enhanced Role and Persona**: Updated to emphasize strict workflow adherence
45
+ - **Instruction File Architecture**: Implemented composable instruction system eliminating duplication
46
+ - Created shared TypeScript instruction component for Node.js and React templates
47
+ - Established single source of truth for universal instruction files
48
+ - Built template inheritance system for automatic instruction composition
49
+ - Achieved clean separation of concerns with maintainable architecture
70
50
 
71
51
  ### Changed
72
52
 
@@ -75,17 +55,74 @@ Existing manual installations can be migrated by:
75
55
  - **README**: Expanded to include workflow details and status transparency standards
76
56
  - **File Structure**: Added `/_meta` and `/test` directories for task and test documentation
77
57
 
58
+ ### Fixed
59
+
60
+ - **Template Architecture Duplication**: Eliminated duplication of TypeScript instruction files across templates
61
+ - Removed duplicated files from `/general/`, `/node/`, and `/react/` templates
62
+ - Implemented single source of truth principle for shared instruction components
63
+ - Fixed maintenance overhead from keeping multiple copies of identical files synchronized
64
+
78
65
  ### Enhanced
79
66
 
80
- - Code quality through mandatory TDD approach
81
- - Documentation accuracy with status-transparent language
82
- - Team collaboration with consistent workflow enforcement
83
- - Risk mitigation through incremental, tested changes
67
+ - **Template Inheritance System**: Implemented composable instruction file architecture
68
+ - Node.js and React templates now automatically inherit TypeScript instructions
69
+ - Template loading follows hierarchical order: universal → shared language → template-specific
70
+ - Template manager excludes shared components from standalone template selection
71
+ - **Maintainability**: Architectural improvements reduce long-term maintenance burden
72
+ - Changes to shared instructions automatically propagate to dependent templates
73
+ - Clean separation of concerns with each directory containing only relevant files
74
+ - Single source of truth for all TypeScript-related development guidance
75
+ - **Code Quality**: Mandatory TDD approach with comprehensive workflow enforcement
76
+ - **Documentation Standards**: Status-transparent language and clear architectural documentation
77
+ - **Team Collaboration**: Consistent workflow enforcement across all development tasks
78
+ - **Risk Mitigation**: Incremental, tested changes with proper validation gates
84
79
 
85
80
  ## [1.0.0] - 2025-06-21
86
81
 
87
82
  ### Added
88
83
 
89
- - Initial project structure
90
- - Core documentation files
91
- - Basic instruction templates
84
+ - **NPM Package Distribution**: Complete transformation from manual file copying to professional npm package
85
+ - **Interactive CLI Tool**: `metacoding` command with init, validate, and update subcommands
86
+ - **Template System**: Configurable templates for different project types (general, react, node, python)
87
+ - **Project Detection**: Automatic detection of project type, tech stack, and existing configuration
88
+ - **VS Code Integration**: Automatic VS Code settings configuration for GitHub Copilot
89
+ - **Interactive Setup**: Guided project configuration with prompts for project details
90
+ - **TypeScript Implementation**: Full TypeScript codebase with comprehensive type definitions
91
+ - **Test Suite**: Unit and integration tests with >80% coverage target achieved
92
+ - **Professional CLI Experience**: Color output, progress indicators, and helpful error messages
93
+
94
+ ### Changed
95
+
96
+ - **Installation Method**: From manual file download to simple `npm install -g metacoding`
97
+ - **Setup Process**: From 6-step manual process to single `metacoding init` command
98
+ - **User Experience**: From error-prone manual setup to guided, validated automation
99
+ - **Template Processing**: Dynamic variable substitution for project-specific customization
100
+ - **File Management**: Automatic directory creation, file validation, and conflict resolution
101
+
102
+ ### Fixed
103
+
104
+ - **Template Architecture**: Updated all tests to match current template directory structure
105
+ - **File Organization**: Removed obsolete `/files/` subdirectories from template structure
106
+ - **Test Coverage**: All 13 test suites and 140 tests now pass with comprehensive coverage
107
+ - **Naming Conventions**: Updated test expectations to match actual instruction file names
108
+
109
+ ### Technical Details
110
+
111
+ - **Dependencies**: Commander.js for CLI, Inquirer for prompts, Chalk for colors, fs-extra for file operations
112
+ - **Build System**: TypeScript compilation with source maps and declarations
113
+ - **Testing**: Jest test framework with coverage reporting
114
+ - **Code Quality**: ESLint, Prettier, and strict TypeScript configuration
115
+ - **Distribution**: Professional npm package with proper semver and release management
116
+
117
+ ### Breaking Changes
118
+
119
+ - **Installation**: Manual setup method is deprecated in favor of npm package
120
+ - **File Structure**: Templates now use `{{VARIABLE}}` syntax instead of `[placeholder]` format
121
+
122
+ ### Migration Guide
123
+
124
+ Existing manual installations can be migrated by:
125
+
126
+ 1. Installing the npm package: `npm install -g metacoding`
127
+ 2. Running `metacoding validate` to check current setup
128
+ 3. Running `metacoding update` to migrate to latest format
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 GitHub Copilot Instructions Template
3
+ Copyright (c) 2025 Anton Kulikov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAStD,qBAAa,WAAW;IACtB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;;IAYnC,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAqCpC,uBAAuB;YAgGvB,YAAY;IAyC1B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;CAezB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAStD,qBAAa,WAAW;IACtB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;;IAYnC,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAqCpC,uBAAuB;YAgGvB,YAAY;IA0C1B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;CAezB"}
@@ -130,7 +130,7 @@ class InitCommand {
130
130
  try {
131
131
  await this.fileSystem.ensureDirectoryExists('.github');
132
132
  await this.fileSystem.ensureDirectoryExists('.github/instructions');
133
- const template = await this.templateManager.getTemplate(config.projectType);
133
+ const template = await this.templateManager.getTemplate(config.projectType, config);
134
134
  const processedFiles = await this.templateManager.processTemplate(template, config);
135
135
  for (const file of processedFiles) {
136
136
  await this.fileSystem.writeFile(file.path, file.content);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { Template, ProjectConfig } from '../types';
2
2
  export declare class TemplateManager {
3
3
  private readonly templatesDir;
4
+ private readonly instructionsDir;
4
5
  constructor();
5
- getTemplate(templateName: string): Promise<Template>;
6
+ getTemplate(templateName: string, projectConfig?: ProjectConfig): Promise<Template>;
7
+ private loadInstructionFiles;
6
8
  processTemplate(template: Template, config: ProjectConfig): Promise<Array<{
7
9
  path: string;
8
10
  content: string;
@@ -11,5 +13,6 @@ export declare class TemplateManager {
11
13
  private loadTemplateFiles;
12
14
  private processTemplateContent;
13
15
  private getProjectDomain;
16
+ private getProjectSpecificGuidance;
14
17
  }
15
18
  //# sourceMappingURL=template-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-manager.d.ts","sourceRoot":"","sources":["../../src/services/template-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKnD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;;IAUhC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BpD,eAAe,CACnB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAiC9C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YA0BlC,iBAAiB;IAiD/B,OAAO,CAAC,sBAAsB;IA2D9B,OAAO,CAAC,gBAAgB;CAYzB"}
1
+ {"version":3,"file":"template-manager.d.ts","sourceRoot":"","sources":["../../src/services/template-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKnD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;;IAYnC,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,QAAQ,CAAC;YAwCN,oBAAoB;IA+G5B,eAAe,CACnB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAqC9C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YA4BlC,iBAAiB;IAkD/B,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,0BAA0B;CA+BnC"}
@@ -39,8 +39,9 @@ const fs = __importStar(require("fs-extra"));
39
39
  class TemplateManager {
40
40
  constructor() {
41
41
  this.templatesDir = path.join(__dirname, '../../templates');
42
+ this.instructionsDir = this.templatesDir;
42
43
  }
43
- async getTemplate(templateName) {
44
+ async getTemplate(templateName, projectConfig) {
44
45
  const templatePath = path.join(this.templatesDir, templateName);
45
46
  if (!(await fs.pathExists(templatePath))) {
46
47
  throw new Error(`Template '${templateName}' not found`);
@@ -51,7 +52,9 @@ class TemplateManager {
51
52
  }
52
53
  const config = await fs.readJson(configPath);
53
54
  const filesDir = path.join(templatePath, 'files');
54
- const files = await this.loadTemplateFiles(filesDir);
55
+ const templateFiles = await this.loadTemplateFiles(filesDir);
56
+ const instructionFiles = await this.loadInstructionFiles(templateName, projectConfig);
57
+ const files = [...templateFiles, ...instructionFiles];
55
58
  return {
56
59
  name: templateName,
57
60
  description: config.description,
@@ -60,16 +63,101 @@ class TemplateManager {
60
63
  vscodeSettings: config.vscodeSettings || {},
61
64
  };
62
65
  }
66
+ async loadInstructionFiles(templateName, projectConfig) {
67
+ const files = [];
68
+ const generalPath = path.join(this.templatesDir, 'general');
69
+ const universalFiles = [
70
+ 'copilot-instructions.md',
71
+ 'docs-update.instructions.md',
72
+ 'release.instructions.md',
73
+ 'code-review.instructions.md',
74
+ ];
75
+ for (const file of universalFiles) {
76
+ const filePath = path.join(generalPath, file);
77
+ if (await fs.pathExists(filePath)) {
78
+ files.push({
79
+ source: `general/${file}`,
80
+ destination: file === 'copilot-instructions.md'
81
+ ? '.github/copilot-instructions.md'
82
+ : `.github/instructions/${file}`,
83
+ template: file === 'copilot-instructions.md',
84
+ });
85
+ }
86
+ }
87
+ const testingFiles = {
88
+ react: 'react.testing.instructions.md',
89
+ node: 'nodejs.testing.instructions.md',
90
+ python: 'python.testing.instructions.md',
91
+ general: 'test-runner.instructions.md',
92
+ };
93
+ const testingFile = testingFiles[templateName];
94
+ if (testingFile) {
95
+ const templatePath = path.join(this.templatesDir, templateName);
96
+ const testingFilePath = path.join(templatePath, testingFile);
97
+ if (await fs.pathExists(testingFilePath)) {
98
+ files.push({
99
+ source: `${templateName}/${testingFile}`,
100
+ destination: '.github/instructions/test-runner.instructions.md',
101
+ template: false,
102
+ });
103
+ }
104
+ }
105
+ const typescriptTemplates = ['node', 'react'];
106
+ const useTypeScript = typescriptTemplates.includes(templateName) ||
107
+ projectConfig?.techStack?.includes('TypeScript');
108
+ if (useTypeScript) {
109
+ const typescriptPath = path.join(this.templatesDir, 'typescript');
110
+ if (await fs.pathExists(typescriptPath)) {
111
+ const typescriptFiles = await fs.readdir(typescriptPath);
112
+ for (const file of typescriptFiles) {
113
+ if (file === 'template.json') {
114
+ continue;
115
+ }
116
+ if (file.endsWith('.instructions.md')) {
117
+ files.push({
118
+ source: `typescript/${file}`,
119
+ destination: `.github/instructions/${file}`,
120
+ template: false,
121
+ });
122
+ }
123
+ }
124
+ }
125
+ }
126
+ if (templateName !== 'general') {
127
+ const templatePath = path.join(this.templatesDir, templateName);
128
+ const templateFiles = await fs.readdir(templatePath);
129
+ for (const file of templateFiles) {
130
+ if (file === 'template.json' || universalFiles.includes(file)) {
131
+ continue;
132
+ }
133
+ if (file.endsWith('.instructions.md')) {
134
+ files.push({
135
+ source: `${templateName}/${file}`,
136
+ destination: `.github/instructions/${file}`,
137
+ template: false,
138
+ });
139
+ }
140
+ }
141
+ }
142
+ return files;
143
+ }
63
144
  async processTemplate(template, config) {
64
145
  const processedFiles = [];
65
146
  for (const file of template.files) {
66
147
  let content;
148
+ let filePath;
149
+ if (file.source.includes('/')) {
150
+ filePath = path.join(this.templatesDir, file.source);
151
+ }
152
+ else {
153
+ filePath = path.join(this.templatesDir, template.name, file.source);
154
+ }
67
155
  if (file.template) {
68
- const templateContent = await fs.readFile(path.join(this.templatesDir, template.name, 'files', file.source), 'utf8');
156
+ const templateContent = await fs.readFile(filePath, 'utf8');
69
157
  content = this.processTemplateContent(templateContent, config);
70
158
  }
71
159
  else {
72
- content = await fs.readFile(path.join(this.templatesDir, template.name, 'files', file.source), 'utf8');
160
+ content = await fs.readFile(filePath, 'utf8');
73
161
  }
74
162
  processedFiles.push({
75
163
  path: file.destination,
@@ -84,10 +172,11 @@ class TemplateManager {
84
172
  }
85
173
  const items = await fs.readdir(this.templatesDir);
86
174
  const templates = [];
175
+ const excludedTemplates = ['typescript'];
87
176
  for (const item of items) {
88
177
  const itemPath = path.join(this.templatesDir, item);
89
178
  const stat = await fs.stat(itemPath);
90
- if (stat.isDirectory()) {
179
+ if (stat.isDirectory() && !excludedTemplates.includes(item)) {
91
180
  const configPath = path.join(itemPath, 'template.json');
92
181
  if (await fs.pathExists(configPath)) {
93
182
  templates.push(item);
@@ -110,11 +199,9 @@ class TemplateManager {
110
199
  if (isTemplate) {
111
200
  destination = item.name.replace('.template', '');
112
201
  }
113
- if (destination === 'copilot-instructions.md') {
114
- destination = '.github/copilot-instructions.md';
115
- }
116
- else if (destination.endsWith('.instructions.md')) {
117
- destination = `.github/instructions/${destination}`;
202
+ if (destination === 'copilot-instructions.md' ||
203
+ destination.endsWith('.instructions.md')) {
204
+ continue;
118
205
  }
119
206
  files.push({
120
207
  source,
@@ -136,6 +223,7 @@ class TemplateManager {
136
223
  TEST_FRAMEWORK: config.testFramework || 'Jest',
137
224
  BUILD_TOOL: config.buildTool || 'TypeScript Compiler',
138
225
  PROJECT_DOMAIN: this.getProjectDomain(config.projectType),
226
+ PROJECT_SPECIFIC_GUIDANCE: this.getProjectSpecificGuidance(config.projectType),
139
227
  };
140
228
  let processedContent = content;
141
229
  for (const [key, value] of Object.entries(variables)) {
@@ -162,6 +250,37 @@ class TemplateManager {
162
250
  return 'software';
163
251
  }
164
252
  }
253
+ getProjectSpecificGuidance(projectType) {
254
+ switch (projectType) {
255
+ case 'react':
256
+ return `
257
+ - **React Components:** Follow modern React patterns with hooks and functional components
258
+ - **JSX Best Practices:** Use semantic HTML elements and proper JSX syntax
259
+ - **State Management:** Implement efficient state management with React hooks
260
+ - **Component Architecture:** Build reusable, testable React components
261
+ - **Frontend Performance:** Optimize rendering and bundle size for better user experience`;
262
+ case 'node':
263
+ return `
264
+ - **Server Architecture:** Design scalable Node.js server applications
265
+ - **API Development:** Build robust REST APIs with proper error handling
266
+ - **Backend Services:** Implement efficient server-side business logic
267
+ - **Database Integration:** Use appropriate data persistence patterns
268
+ - **Performance:** Optimize server response times and resource usage`;
269
+ case 'python':
270
+ return `
271
+ - **Django Development:** Follow Django best practices for web applications
272
+ - **Flask Applications:** Build lightweight Flask applications when appropriate
273
+ - **Python Standards:** Adhere to PEP 8 and Python coding conventions
274
+ - **Backend Development:** Implement scalable Python backend solutions
275
+ - **Framework Integration:** Use appropriate Python frameworks for different use cases`;
276
+ default:
277
+ return `
278
+ - **Best Practices:** Follow language-specific coding standards and conventions
279
+ - **Architecture:** Implement modular and maintainable code structure
280
+ - **Testing:** Write comprehensive tests for all functionality
281
+ - **Documentation:** Maintain clear and up-to-date documentation`;
282
+ }
283
+ }
165
284
  }
166
285
  exports.TemplateManager = TemplateManager;
167
286
  //# sourceMappingURL=template-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../src/services/template-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../src/services/template-manager.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ class VSCodeService {
53
53
  const content = await fs.readFile(this.settingsFile, 'utf8');
54
54
  existingSettings = JSON.parse(content);
55
55
  }
56
- catch (error) {
56
+ catch {
57
57
  await this.backupSettings();
58
58
  existingSettings = {};
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../src/services/vscode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAK7B,MAAa,aAAa;IAA1B;QACmB,cAAS,GAAG,SAAS,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAsG7E,CAAC;IAjGC,KAAK,CAAC,cAAc,CAClB,qBAA0C,EAAE;QAE5C,MAAM,gBAAgB,GAAG;YACvB,wDAAwD,EAAE,IAAI;YAC9D,kBAAkB,EAAE,IAAI;YACxB,GAAG,kBAAkB;SACtB,CAAC;QAEF,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAG1B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC7D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAGD,MAAM,cAAc,GAAG;YACrB,GAAG,gBAAgB;YACnB,GAAG,gBAAgB;SACpB,CAAC;QAGF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAGnC,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,MAAM,CACP,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,OAAO,CACL,QAAQ,CAAC,wDAAwD,CAAC;gBAChE,IAAI,IAAI,QAAQ,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAChD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC;IACpB,CAAC;IAKD,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,sBAAsB;QAC1B,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF;AAxGD,sCAwGC"}
1
+ {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../src/services/vscode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAK7B,MAAa,aAAa;IAA1B;QACmB,cAAS,GAAG,SAAS,CAAC;QACtB,iBAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAsG7E,CAAC;IAjGC,KAAK,CAAC,cAAc,CAClB,qBAA0C,EAAE;QAE5C,MAAM,gBAAgB,GAAG;YACvB,wDAAwD,EAAE,IAAI;YAC9D,kBAAkB,EAAE,IAAI;YACxB,GAAG,kBAAkB;SACtB,CAAC;QAEF,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAG1B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC7D,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBAEP,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAGD,MAAM,cAAc,GAAG;YACrB,GAAG,gBAAgB;YACnB,GAAG,gBAAgB;SACpB,CAAC;QAGF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAGnC,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EACvC,MAAM,CACP,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,OAAO,CACL,QAAQ,CAAC,wDAAwD,CAAC;gBAChE,IAAI,IAAI,QAAQ,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAChD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC;IACpB,CAAC;IAKD,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,sBAAsB;QAC1B,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF;AAxGD,sCAwGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metacoding",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "description": "Guided Development Workflow for GitHub Copilot - Transform your coding experience with AI-guided standards, structured workflows, and quality practices",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -74,8 +74,8 @@
74
74
  "@types/inquirer": "^8.2.10",
75
75
  "@types/jest": "^29.5.8",
76
76
  "@types/node": "^20.10.0",
77
- "@typescript-eslint/eslint-plugin": "^6.13.1",
78
- "@typescript-eslint/parser": "^6.13.1",
77
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
78
+ "@typescript-eslint/parser": "^8.0.0",
79
79
  "eslint": "^8.54.0",
80
80
  "eslint-config-prettier": "^9.0.0",
81
81
  "eslint-plugin-prettier": "^5.0.1",
@@ -83,7 +83,7 @@
83
83
  "prettier": "^3.1.0",
84
84
  "ts-jest": "^29.1.1",
85
85
  "ts-node": "^10.9.1",
86
- "typescript": "^5.3.2"
86
+ "typescript": "^5.8.3"
87
87
  },
88
88
  "peerDependencies": {
89
89
  "vscode": "*"
@@ -96,6 +96,14 @@
96
96
  "jest": {
97
97
  "preset": "ts-jest",
98
98
  "testEnvironment": "node",
99
+ "transform": {
100
+ "^.+\\.ts$": [
101
+ "ts-jest",
102
+ {
103
+ "tsconfig": "test/tsconfig.json"
104
+ }
105
+ ]
106
+ },
99
107
  "roots": [
100
108
  "<rootDir>/src",
101
109
  "<rootDir>/test"