metacoding 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/README.md +162 -80
- package/lib/commands/init.d.ts +1 -0
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js +4 -0
- package/lib/commands/init.js.map +1 -1
- package/lib/services/gitignore-manager.d.ts +7 -0
- package/lib/services/gitignore-manager.d.ts.map +1 -0
- package/lib/services/gitignore-manager.js +146 -0
- package/lib/services/gitignore-manager.js.map +1 -0
- package/lib/services/template-manager.d.ts.map +1 -1
- package/lib/services/template-manager.js +2 -1
- package/lib/services/template-manager.js.map +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,38 @@ 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.1.4] - 2025-06-23
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Automatic .gitignore Management**: New GitIgnoreManager service ensures AI coding assistant files are excluded from version control
|
|
13
|
+
- **Append-Only Strategy**: Preserves existing user .gitignore configurations while adding essential exclusions
|
|
14
|
+
- **Minimal Pattern Focus**: Only excludes files that metacoding actually creates (not broad AI assistant patterns)
|
|
15
|
+
- **Template Integration**: Simplified to single general .gitignore template for all project types
|
|
16
|
+
- **Init Command Integration**: Automatically updates .gitignore during project setup
|
|
17
|
+
- **Essential Exclusions**:
|
|
18
|
+
- `.github/copilot-instructions.md`
|
|
19
|
+
- `.github/instructions/`
|
|
20
|
+
- `.vscode/copilot-instructions.md`
|
|
21
|
+
- `.idea/copilot-instructions.md`
|
|
22
|
+
- **Clear Section Marker**: Uses `# metacoding: AI coding assistant exclusions` for easy identification
|
|
23
|
+
- **Duplicate Detection**: Skips adding patterns that already exist in the file
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **Template System Simplification**: Removed redundant template-specific .gitignore files in favor of unified approach
|
|
28
|
+
- **Architecture Documentation**: Added ADR-007 documenting .gitignore handling strategy and design decisions
|
|
29
|
+
|
|
30
|
+
## [1.1.3] - 2025-06-23
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **README.md Synchronization**: Updated README.md to match current CLI implementation
|
|
35
|
+
- Removed references to deprecated `validate` command (functionality now integrated into `update --dry-run`)
|
|
36
|
+
- Updated CLI examples to reflect actual available commands (`init` and `update`)
|
|
37
|
+
- Enhanced troubleshooting section with correct command usage
|
|
38
|
+
- Synchronized npm package documentation with GitHub repository version
|
|
39
|
+
|
|
8
40
|
## [1.1.2] - 2024-12-19
|
|
9
41
|
|
|
10
42
|
### Added
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# metacoding
|
|
1
|
+
# `metacoding`: Guided Development Workflow for GitHub Copilot
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/metacoding)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -8,28 +8,160 @@ Transform your development experience with AI-guided coding standards, structure
|
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
11
|
-
- [🎯 What is metacoding
|
|
11
|
+
- [🎯 What is `metacoding`?](#-what-is-metacoding)
|
|
12
|
+
- [💬 How to Use `metacoding` with GitHub Copilot](#-how-to-use-metacoding-with-github-copilot)
|
|
12
13
|
- [🛠 Installation Guide](#-installation-guide)
|
|
13
|
-
- [📦 Using the metacoding CLI](#-using-the-metacoding-cli)
|
|
14
|
-
- [💬 How to Use metacoding with GitHub Copilot](#-how-to-use-metacoding-with-github-copilot)
|
|
14
|
+
- [📦 Using the `metacoding` CLI](#-using-the-metacoding-cli)
|
|
15
15
|
- [🆘 Getting Help](#-getting-help)
|
|
16
16
|
- [🤝 Contributing](#-contributing)
|
|
17
17
|
- [📄 License](#-license)
|
|
18
18
|
|
|
19
|
-
## 🎯 What is metacoding
|
|
19
|
+
## 🎯 What is `metacoding`?
|
|
20
20
|
|
|
21
|
-
metacoding is a **guided development methodology** that uses GitHub Copilot's custom instruction capabilities to help developers at any level follow established best practices. Instead of just getting code suggestions, you get:
|
|
21
|
+
`metacoding` is a **guided development methodology** that uses GitHub Copilot's custom instruction capabilities to help developers at any level follow established best practices. Instead of just getting code suggestions, you get:
|
|
22
22
|
|
|
23
23
|
- **Structured workflows** that guide you through proven development practices
|
|
24
24
|
- **Quality standards** that help you avoid common mistakes
|
|
25
25
|
- **Test-driven development** that's encouraged and guided step-by-step
|
|
26
26
|
- **Documentation guidance** that keeps your projects maintainable
|
|
27
27
|
|
|
28
|
+
## 💬 How to Use `metacoding` with GitHub Copilot
|
|
29
|
+
|
|
30
|
+
`metacoding` transforms GitHub Copilot into an autonomous development partner that executes structured workflows. You specify what you want built, and Copilot independently follows a disciplined 7-step process that ensures quality, maintainability, and thorough testing. Your role is to provide clear requirements, validate results, and approve each stage before proceeding.
|
|
31
|
+
|
|
32
|
+
### The `metacoding` 7-Step Development Workflow
|
|
33
|
+
|
|
34
|
+
Every development task follows this mandatory workflow to ensure quality and consistency:
|
|
35
|
+
|
|
36
|
+
#### Step 1: Describe Your Feature or Task
|
|
37
|
+
|
|
38
|
+
Be specific about what you want to build. Copilot will automatically follow the workflow and create a comprehensive plan for your approval.
|
|
39
|
+
|
|
40
|
+
- **Be specific about requirements**: Clearly describe the feature, functionality, or problem to solve
|
|
41
|
+
- **Provide context**: Include relevant constraints, user needs, or business requirements
|
|
42
|
+
- **Review Copilot's plan**: Copilot will automatically create an implementation outline following workflow standards
|
|
43
|
+
- **Approve or refine**: Confirm the plan meets your needs or request adjustments
|
|
44
|
+
- **Example prompt**: _"I want to add user authentication to my web app. Users should be able to register with email/password, login securely, logout, and have password reset functionality. The system should handle validation errors gracefully."_
|
|
45
|
+
|
|
46
|
+
#### Step 2: Verify Task Documentation
|
|
47
|
+
|
|
48
|
+
Copilot will automatically document tasks following the workflow. Your role is to review and approve the breakdown.
|
|
49
|
+
|
|
50
|
+
- **Review task breakdown**: Copilot will add tasks to your project list and create subtasks
|
|
51
|
+
- **Verify scope boundaries**: Ensure what's included and excluded is clear and appropriate
|
|
52
|
+
- **Approve documentation**: Confirm the task structure before Copilot proceeds to testing
|
|
53
|
+
- **Example verification**: _"Review the authentication tasks you've added. Does this scope make sense for our current iteration?"_
|
|
54
|
+
|
|
55
|
+
#### Step 3: Validate Test Strategy
|
|
56
|
+
|
|
57
|
+
Copilot will automatically document test cases before implementation. You verify the testing approach meets your quality standards.
|
|
58
|
+
|
|
59
|
+
- **Review test documentation**: Copilot will document all test scenarios following TDD principles
|
|
60
|
+
- **Verify coverage**: Ensure happy paths, error scenarios, and edge cases are included
|
|
61
|
+
- **Approve test approach**: Confirm the testing strategy before Copilot implements failing tests
|
|
62
|
+
- **Example verification**: _"Check the test cases you've documented for authentication. Are we covering all the important scenarios?"_
|
|
63
|
+
|
|
64
|
+
#### Step 4: Monitor Implementation Progress
|
|
65
|
+
|
|
66
|
+
Copilot will implement functionality to make tests pass. You track progress and validate the working solution.
|
|
67
|
+
|
|
68
|
+
- **Track implementation**: Copilot will write minimal code following TDD red-green-refactor cycle
|
|
69
|
+
- **Verify test results**: Copilot will run tests and report results - you confirm they're passing
|
|
70
|
+
- **Test functionality yourself**: Validate that the implementation works as expected in practice
|
|
71
|
+
- **Example check**: _"Show me the test results and let me verify the authentication is working correctly."_
|
|
72
|
+
|
|
73
|
+
#### Step 5: Review Documentation Updates
|
|
74
|
+
|
|
75
|
+
Copilot will automatically update all documentation. You verify completeness and accuracy of updates.
|
|
76
|
+
|
|
77
|
+
- **Review documentation changes**: Copilot will update README, API docs, and code comments
|
|
78
|
+
- **Verify task status updates**: Confirm completed work is properly marked in project management docs
|
|
79
|
+
- **Approve changelog entries**: Review user-facing changes recorded in changelog
|
|
80
|
+
- **Example review**: _"Show me what documentation you've updated for the authentication feature. Let me verify it's accurate and complete."_
|
|
81
|
+
|
|
82
|
+
#### Step 6: Approve Version Control
|
|
83
|
+
|
|
84
|
+
Copilot will create proper commits following conventional standards. You approve the commit structure and messages.
|
|
85
|
+
|
|
86
|
+
- **Review commit structure**: Copilot will prepare atomic commits with conventional messages
|
|
87
|
+
- **Verify file inclusion**: Ensure all related files (code, tests, docs) are included together
|
|
88
|
+
- **Approve commits**: Confirm the commit represents complete, working functionality
|
|
89
|
+
- **Example approval**: _"Show me the commit you've prepared for the authentication feature. Does it include everything we've built?"_
|
|
90
|
+
|
|
91
|
+
#### Step 7: Confirm Workflow Completion
|
|
92
|
+
|
|
93
|
+
Copilot will verify workflow completion automatically. You perform final validation before moving to new work.
|
|
94
|
+
|
|
95
|
+
- **Review completion checklist**: Copilot will verify all tests pass, documentation is updated, and changes are committed
|
|
96
|
+
- **Confirm clean repository state**: Verify temporary files are cleaned up and repository is organized
|
|
97
|
+
- **Approve workflow completion**: Give explicit approval before starting any new tasks
|
|
98
|
+
- **Example confirmation**: _"Confirm our authentication workflow is complete and we're ready for the next feature."_
|
|
99
|
+
|
|
100
|
+
### Workflow Enforcement and Quality Assurance
|
|
101
|
+
|
|
102
|
+
`metacoding` enforces strict quality practices:
|
|
103
|
+
|
|
104
|
+
- **Documentation-First Principle**: No coding begins until documentation is complete
|
|
105
|
+
- **Single-Task Focus**: One change at a time - never mix unrelated tasks
|
|
106
|
+
- **Confirmation Gates**: User approval required before proceeding with implementation
|
|
107
|
+
- **Test Coverage**: Comprehensive testing mandatory for all functionality
|
|
108
|
+
- **Repository Hygiene**: Clean up temporary files and maintain organization
|
|
109
|
+
|
|
110
|
+
### Effective Workflow Prompts
|
|
111
|
+
|
|
112
|
+
**Starting a new feature:**
|
|
113
|
+
_"Let's implement feature X following the 7-step workflow. First, help me understand requirements and create an implementation plan."_
|
|
114
|
+
|
|
115
|
+
**During development:**
|
|
116
|
+
_"We're on step 3 of our workflow. Document the test cases for this component before implementing tests."_
|
|
117
|
+
|
|
118
|
+
**Scope management:**
|
|
119
|
+
_"I want to add feature Y, but we're working on feature X. Add Y to the task list and let's complete X first."_
|
|
120
|
+
|
|
121
|
+
**Quality check:**
|
|
122
|
+
_"Review our current workflow step. Are we ready to proceed, or do we need to complete documentation first?"_
|
|
123
|
+
|
|
124
|
+
### Automatic Context Application
|
|
125
|
+
|
|
126
|
+
GitHub Copilot automatically applies relevant instruction files based on your work:
|
|
127
|
+
|
|
128
|
+
- **Test files** → Applies test-driven development and quality standards
|
|
129
|
+
- **Documentation** → Enforces documentation architecture and maintenance guidelines
|
|
130
|
+
- **Code files** → Provides code review criteria and quality standards
|
|
131
|
+
- **Release files** → Guides version management and release procedures
|
|
132
|
+
|
|
133
|
+
### Manual Instruction Reference
|
|
134
|
+
|
|
135
|
+
For specific guidance, explicitly reference instruction files:
|
|
136
|
+
|
|
137
|
+
- _"Use the 7-step workflow to implement user registration"_
|
|
138
|
+
- _"Apply code review guidelines to check this function"_
|
|
139
|
+
- _"Follow test documentation standards to update our test cases"_
|
|
140
|
+
- _"Use release instructions to prepare version 2.1.0"_
|
|
141
|
+
|
|
142
|
+
### Workflow Violations and Corrections
|
|
143
|
+
|
|
144
|
+
If you try to skip steps or mix tasks, Copilot will redirect you:
|
|
145
|
+
|
|
146
|
+
- **Skipping documentation**: _"Let's document this task first before implementing"_
|
|
147
|
+
- **Task switching**: _"I've added that to the task list. Let's complete our current workflow first"_
|
|
148
|
+
- **Missing tests**: _"We need to document and implement tests before the production code"_
|
|
149
|
+
|
|
150
|
+
### Best Practices for Workflow Success
|
|
151
|
+
|
|
152
|
+
1. **Start small**: Begin with simple features to practice the workflow
|
|
153
|
+
2. **Stay focused**: Complete one task fully before starting another
|
|
154
|
+
3. **Trust the process**: The workflow prevents technical debt and quality issues
|
|
155
|
+
4. **Attach context**: Include task lists, documentation, and related files in prompts
|
|
156
|
+
5. **Confirm understanding**: Always confirm plans before implementation begins
|
|
157
|
+
|
|
158
|
+
The `metacoding` workflow transforms chaotic development into a structured, quality-driven process that scales from personal projects to enterprise teams.
|
|
159
|
+
|
|
28
160
|
## 🛠 Installation Guide
|
|
29
161
|
|
|
30
162
|
### Prerequisites
|
|
31
163
|
|
|
32
|
-
Before installing metacoding
|
|
164
|
+
Before installing `metacoding`, make sure you have:
|
|
33
165
|
|
|
34
166
|
1. **Visual Studio Code** installed ([download here](https://code.visualstudio.com/))
|
|
35
167
|
2. **GitHub Copilot extension** installed and configured in VS Code
|
|
@@ -38,17 +170,18 @@ Before installing metacoding, make sure you have:
|
|
|
38
170
|
|
|
39
171
|
### Quick Setup (Recommended)
|
|
40
172
|
|
|
41
|
-
The easiest way to get started with metacoding is using our npm package:
|
|
173
|
+
The easiest way to get started with `metacoding` is using our npm package:
|
|
42
174
|
|
|
43
175
|
1. **Install globally:** `npm install -g metacoding`
|
|
44
176
|
2. **Navigate to your project:** `cd your-project`
|
|
45
|
-
3. **Initialize metacoding
|
|
177
|
+
3. **Initialize `metacoding`:** `metacoding init`
|
|
46
178
|
4. **Follow the interactive prompts and you're done!**
|
|
47
179
|
|
|
48
|
-
|
|
180
|
+
#### Init options
|
|
49
181
|
|
|
182
|
+
- `metacoding init` - Interactive setup with template selection
|
|
50
183
|
- `metacoding init --template react` - Use React template
|
|
51
|
-
- `metacoding init --template node` - Use Node.js
|
|
184
|
+
- `metacoding init --template node` - Use Node.js template
|
|
52
185
|
- `metacoding init --template python` - Use Python template
|
|
53
186
|
- `metacoding init --force` - Overwrite existing files
|
|
54
187
|
|
|
@@ -88,100 +221,49 @@ my-awesome-project/
|
|
|
88
221
|
|
|
89
222
|
## ✅ You're Ready to Go!
|
|
90
223
|
|
|
91
|
-
## 📦 Using the metacoding CLI
|
|
224
|
+
## 📦 Using the `metacoding` CLI
|
|
92
225
|
|
|
93
226
|
Once installed, you can use these commands:
|
|
94
227
|
|
|
95
|
-
### `metacoding
|
|
228
|
+
### `metacoding init`
|
|
96
229
|
|
|
97
|
-
|
|
230
|
+
Initialize metacoding in your current project:
|
|
98
231
|
|
|
99
|
-
- `metacoding
|
|
100
|
-
- `metacoding
|
|
101
|
-
- `metacoding
|
|
232
|
+
- `metacoding init` - Interactive setup with template selection
|
|
233
|
+
- `metacoding init --template react` - Initialize with React template
|
|
234
|
+
- `metacoding init --template node` - Initialize with Node.js template
|
|
235
|
+
- `metacoding init --template python` - Initialize with Python template
|
|
236
|
+
- `metacoding init --force` - Overwrite existing files without confirmation
|
|
102
237
|
|
|
103
238
|
### `metacoding update`
|
|
104
239
|
|
|
105
|
-
Update your metacoding setup to the latest version:
|
|
240
|
+
Update your `metacoding` setup to the latest version:
|
|
106
241
|
|
|
107
242
|
- `metacoding update` - Update to latest version
|
|
243
|
+
- `metacoding update --dry-run` - Validate current setup without making changes
|
|
244
|
+
- `metacoding update --dry-run --strict` - Strict validation rules
|
|
108
245
|
- `metacoding update --backup` - Create backup before updating
|
|
109
246
|
|
|
110
247
|
### Help and Version
|
|
111
248
|
|
|
112
|
-
- `metacoding --help` - Show all commands
|
|
249
|
+
- `metacoding --help` - Show all commands and examples
|
|
113
250
|
- `metacoding --version` - Show version number
|
|
114
251
|
|
|
115
|
-
## 💬 How to Use metacoding with GitHub Copilot
|
|
116
|
-
|
|
117
|
-
Once you have metacoding set up, you can leverage its power in several ways:
|
|
118
|
-
|
|
119
|
-
### Automatic Context Application
|
|
120
|
-
|
|
121
|
-
GitHub Copilot automatically applies relevant instruction files based on the files you're editing:
|
|
122
|
-
|
|
123
|
-
- **Editing test files** → `test-runner.instructions.md` automatically applies
|
|
124
|
-
- **Editing Markdown files** → `docs-update.instructions.md` automatically applies
|
|
125
|
-
- **Editing any code file** → `code-review.instructions.md` is available for manual use
|
|
126
|
-
- **Editing package.json** → `release.instructions.md` automatically applies
|
|
127
|
-
|
|
128
|
-
### Attaching Instruction Files
|
|
129
|
-
|
|
130
|
-
1. **Open GitHub Copilot Chat** (`Ctrl+Shift+P` → "GitHub Copilot: Open Chat")
|
|
131
|
-
2. **Click the paperclip icon** (attach button) in the Copilot input
|
|
132
|
-
3. **Select "Instructions..."** from the menu
|
|
133
|
-
4. **Choose the instruction file** you want to reference
|
|
134
|
-
5. **Type your prompt** and Copilot will use that instruction context
|
|
135
|
-
|
|
136
|
-
Examples of effective prompts:
|
|
137
|
-
|
|
138
|
-
- "Run tests and prepare for publishing changes"
|
|
139
|
-
- "Bump version and commit following release workflow"
|
|
140
|
-
- "Review this code for security vulnerabilities"
|
|
141
|
-
|
|
142
|
-
### Manual Instruction Reference
|
|
143
|
-
|
|
144
|
-
You can explicitly reference specific instruction files in GitHub Copilot:
|
|
145
|
-
|
|
146
|
-
- "Use release.instructions.md to help me bump the version to 2.1.0"
|
|
147
|
-
|
|
148
|
-
- "Apply code-review.instructions.md guidelines to review this function"
|
|
149
|
-
|
|
150
|
-
- "Following test-runner.instructions.md, help me write tests for this component"
|
|
151
|
-
|
|
152
|
-
## Best Practices for Using GitHub Copilot
|
|
153
|
-
|
|
154
|
-
### Choose the Right Mode for Your Task
|
|
155
|
-
|
|
156
|
-
- **Agent Mode (Default)**: Use for complex workflows, multi-step tasks, and when you want Copilot to handle the entire process
|
|
157
|
-
- Examples: "Implement user authentication with tests and documentation" or "Prepare release with version bump and changelog"
|
|
158
|
-
- **Ask Mode**: Use for questions, explanations, and when you need information without taking action
|
|
159
|
-
- Examples: "Explain how this algorithm works" or "What are the best practices for error handling?"
|
|
160
|
-
- **Edit Mode**: Use for focused code modifications when you want direct file editing
|
|
161
|
-
- Examples: "Refactor this function to use async/await" or "Add error handling to this method"
|
|
162
|
-
|
|
163
|
-
### Effective Prompting Strategies
|
|
164
|
-
|
|
165
|
-
- **Start with simple prompts** like "Let's plan feature X" to test your setup
|
|
166
|
-
- **Be specific about context** when manually referencing instructions
|
|
167
|
-
- **Reference multiple instructions** when needed for complex tasks
|
|
168
|
-
- **Provide necessary context**: include documentation, task list, test cases and related files and folders in your prompt (use the "Attach" menu)
|
|
169
|
-
|
|
170
252
|
## 🆘 Getting Help
|
|
171
253
|
|
|
172
254
|
### Common Questions
|
|
173
255
|
|
|
174
256
|
**Q: Do I need to be an experienced developer?**
|
|
175
|
-
A: No! metacoding provides guidance and structure to help developers at any level adopt proven practices and improve their skills.
|
|
257
|
+
A: No! `metacoding` provides guidance and structure to help developers at any level adopt proven practices and improve their skills.
|
|
176
258
|
|
|
177
259
|
**Q: What if I don't have GitHub Copilot?**
|
|
178
|
-
A: You'll need an active GitHub Copilot subscription to use metacoding
|
|
260
|
+
A: You'll need an active GitHub Copilot subscription to use `metacoding`. Students can get it free through GitHub Education.
|
|
179
261
|
|
|
180
262
|
**Q: Can I use this without the CLI tool?**
|
|
181
263
|
A: The CLI tool provides the easiest setup experience. For manual setup, you can download instruction files from our GitHub repository.
|
|
182
264
|
|
|
183
265
|
**Q: Will this work with my preferred programming language?**
|
|
184
|
-
A: Yes! The general metacoding template (set of instructions) works with any language supported by GitHub Copilot.
|
|
266
|
+
A: Yes! The general `metacoding` template (set of instructions) works with any language supported by GitHub Copilot.
|
|
185
267
|
|
|
186
268
|
**Q: Can I customize the workflow for my team's needs?**
|
|
187
269
|
A: Absolutely! All instruction files can be modified to match your team's specific requirements.
|
|
@@ -212,11 +294,11 @@ A: The CLI automatically configures required settings, but you need `github.copi
|
|
|
212
294
|
- Ensure file names match exactly (including the `.instructions.md` extension)
|
|
213
295
|
- Verify the folder structure is correct
|
|
214
296
|
- Try manually referencing instructions in GitHub Copilot
|
|
215
|
-
- Run `metacoding
|
|
297
|
+
- Run `metacoding update --dry-run` to validate your setup
|
|
216
298
|
|
|
217
299
|
**CLI Command Issues:**
|
|
218
300
|
|
|
219
|
-
- Ensure metacoding is installed globally: `npm list -g metacoding`
|
|
301
|
+
- Ensure `metacoding` is installed globally: `npm list -g metacoding`
|
|
220
302
|
- Try reinstalling: `npm uninstall -g metacoding && npm install -g metacoding`
|
|
221
303
|
- Check PATH configuration if command not found
|
|
222
304
|
|
|
@@ -230,7 +312,7 @@ Learn more about GitHub Copilot custom instructions:
|
|
|
230
312
|
|
|
231
313
|
## 🤝 Contributing
|
|
232
314
|
|
|
233
|
-
We welcome contributions to make metacoding even better! Whether you have:
|
|
315
|
+
We welcome contributions to make `metacoding` even better! Whether you have:
|
|
234
316
|
|
|
235
317
|
- Improvements to existing workflows
|
|
236
318
|
- New instruction patterns for specific technologies
|
package/lib/commands/init.d.ts
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAUtD,qBAAa,WAAW;IACtB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;;IAarC,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAqCpC,uBAAuB;YAgGvB,YAAY;IA8C1B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,gBAAgB;CAezB"}
|
package/lib/commands/init.js
CHANGED
|
@@ -11,12 +11,14 @@ const template_manager_1 = require("../services/template-manager");
|
|
|
11
11
|
const filesystem_1 = require("../services/filesystem");
|
|
12
12
|
const vscode_1 = require("../services/vscode");
|
|
13
13
|
const project_detector_1 = require("../services/project-detector");
|
|
14
|
+
const gitignore_manager_1 = require("../services/gitignore-manager");
|
|
14
15
|
class InitCommand {
|
|
15
16
|
constructor() {
|
|
16
17
|
this.templateManager = new template_manager_1.TemplateManager();
|
|
17
18
|
this.fileSystem = new filesystem_1.FileSystemService();
|
|
18
19
|
this.vscodeService = new vscode_1.VSCodeService();
|
|
19
20
|
this.projectDetector = new project_detector_1.ProjectDetector();
|
|
21
|
+
this.gitIgnoreManager = new gitignore_manager_1.GitIgnoreManager();
|
|
20
22
|
}
|
|
21
23
|
async execute(options) {
|
|
22
24
|
console.log(chalk_1.default.cyan.bold('🚀 Welcome to metacoding Setup!\n'));
|
|
@@ -136,6 +138,8 @@ class InitCommand {
|
|
|
136
138
|
await this.fileSystem.writeFile(file.path, file.content);
|
|
137
139
|
spinner.text = `Created ${file.path}`;
|
|
138
140
|
}
|
|
141
|
+
spinner.text = 'Updating .gitignore with AI assistant exclusions...';
|
|
142
|
+
await this.gitIgnoreManager.updateGitIgnore(process.cwd());
|
|
139
143
|
if (!options.skipVscode) {
|
|
140
144
|
spinner.text = 'Configuring VS Code settings...';
|
|
141
145
|
await this.vscodeService.updateSettings(template.vscodeSettings || {});
|
package/lib/commands/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAAgC;AAChC,8CAAsB;AAEtB,mEAA+D;AAC/D,uDAA2D;AAC3D,+CAAmD;AACnD,mEAA+D;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class GitIgnoreManager {
|
|
2
|
+
static getAIAssistantPatterns(): string[];
|
|
3
|
+
updateGitIgnore(projectPath: string): Promise<void>;
|
|
4
|
+
hasMetacodingPatterns(projectPath: string): Promise<boolean>;
|
|
5
|
+
static createTemplateContent(): string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=gitignore-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore-manager.d.ts","sourceRoot":"","sources":["../../src/services/gitignore-manager.ts"],"names":[],"mappings":"AAMA,qBAAa,gBAAgB;IAI3B,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAcnC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDnD,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBlE,MAAM,CAAC,qBAAqB,IAAI,MAAM;CAgDvC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.GitIgnoreManager = void 0;
|
|
37
|
+
const fs = __importStar(require("fs-extra"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
class GitIgnoreManager {
|
|
40
|
+
static getAIAssistantPatterns() {
|
|
41
|
+
return [
|
|
42
|
+
'# metacoding: AI coding assistant exclusions',
|
|
43
|
+
'.github/copilot-instructions.md',
|
|
44
|
+
'.github/instructions/',
|
|
45
|
+
'.vscode/copilot-instructions.md',
|
|
46
|
+
'.idea/copilot-instructions.md',
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
async updateGitIgnore(projectPath) {
|
|
50
|
+
const gitignorePath = path.join(projectPath, '.gitignore');
|
|
51
|
+
const patterns = GitIgnoreManager.getAIAssistantPatterns();
|
|
52
|
+
try {
|
|
53
|
+
let existingContent = '';
|
|
54
|
+
let hasExistingFile = false;
|
|
55
|
+
if (await fs.pathExists(gitignorePath)) {
|
|
56
|
+
existingContent = await fs.readFile(gitignorePath, 'utf8');
|
|
57
|
+
hasExistingFile = true;
|
|
58
|
+
}
|
|
59
|
+
const hasMetacodingSection = existingContent.includes('# metacoding:');
|
|
60
|
+
if (hasMetacodingSection) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
let contentToAppend = '';
|
|
64
|
+
if (hasExistingFile &&
|
|
65
|
+
existingContent.length > 0 &&
|
|
66
|
+
!existingContent.endsWith('\n')) {
|
|
67
|
+
contentToAppend = '\n\n';
|
|
68
|
+
}
|
|
69
|
+
else if (hasExistingFile && existingContent.length > 0) {
|
|
70
|
+
contentToAppend = '\n';
|
|
71
|
+
}
|
|
72
|
+
contentToAppend += patterns.join('\n') + '\n';
|
|
73
|
+
if (hasExistingFile) {
|
|
74
|
+
await fs.appendFile(gitignorePath, contentToAppend);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
await fs.writeFile(gitignorePath, contentToAppend);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
throw new Error(`Failed to update .gitignore: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async hasMetacodingPatterns(projectPath) {
|
|
85
|
+
const gitignorePath = path.join(projectPath, '.gitignore');
|
|
86
|
+
try {
|
|
87
|
+
if (!(await fs.pathExists(gitignorePath))) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
const content = await fs.readFile(gitignorePath, 'utf8');
|
|
91
|
+
return content.includes('# metacoding:');
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
static createTemplateContent() {
|
|
98
|
+
const patterns = GitIgnoreManager.getAIAssistantPatterns();
|
|
99
|
+
return `# Dependencies
|
|
100
|
+
node_modules/
|
|
101
|
+
*.tgz
|
|
102
|
+
|
|
103
|
+
# Build outputs
|
|
104
|
+
lib/
|
|
105
|
+
dist/
|
|
106
|
+
build/
|
|
107
|
+
coverage/
|
|
108
|
+
|
|
109
|
+
# Environment files
|
|
110
|
+
.env
|
|
111
|
+
.env.local
|
|
112
|
+
.env.*.local
|
|
113
|
+
|
|
114
|
+
# IDE and Editor files
|
|
115
|
+
.vscode/
|
|
116
|
+
.idea/
|
|
117
|
+
*.swp
|
|
118
|
+
*.swo
|
|
119
|
+
*~
|
|
120
|
+
|
|
121
|
+
# OS generated files
|
|
122
|
+
.DS_Store
|
|
123
|
+
.DS_Store?
|
|
124
|
+
._*
|
|
125
|
+
.Spotlight-V100
|
|
126
|
+
.Trashes
|
|
127
|
+
ehthumbs.db
|
|
128
|
+
Thumbs.db
|
|
129
|
+
|
|
130
|
+
# Logs
|
|
131
|
+
*.log
|
|
132
|
+
npm-debug.log*
|
|
133
|
+
yarn-debug.log*
|
|
134
|
+
yarn-error.log*
|
|
135
|
+
|
|
136
|
+
# Temporary files
|
|
137
|
+
tmp/
|
|
138
|
+
temp/
|
|
139
|
+
tmp-*
|
|
140
|
+
|
|
141
|
+
${patterns.join('\n')}
|
|
142
|
+
`;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.GitIgnoreManager = GitIgnoreManager;
|
|
146
|
+
//# sourceMappingURL=gitignore-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore-manager.js","sourceRoot":"","sources":["../../src/services/gitignore-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAK7B,MAAa,gBAAgB;IAI3B,MAAM,CAAC,sBAAsB;QAC3B,OAAO;YACL,8CAA8C;YAC9C,iCAAiC;YACjC,uBAAuB;YACvB,iCAAiC;YACjC,+BAA+B;SAChC,CAAC;IACJ,CAAC;IAMD,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;QAE3D,IAAI,CAAC;YACH,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,eAAe,GAAG,KAAK,CAAC;YAG5B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC3D,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAGD,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAEvE,IAAI,oBAAoB,EAAE,CAAC;gBAEzB,OAAO;YACT,CAAC;YAGD,IAAI,eAAe,GAAG,EAAE,CAAC;YAGzB,IACE,eAAe;gBACf,eAAe,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC/B,CAAC;gBACD,eAAe,GAAG,MAAM,CAAC;YAC3B,CAAC;iBAAM,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAGD,eAAe,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAG9C,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKD,MAAM,CAAC,qBAAqB;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;QAE3D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;CACpB,CAAC;IACA,CAAC;CACF;AA5ID,4CA4IC"}
|
|
@@ -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;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;
|
|
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;IAsD/B,OAAO,CAAC,sBAAsB;IA8D9B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,0BAA0B;CA+BnC"}
|
|
@@ -190,11 +190,12 @@ class TemplateManager {
|
|
|
190
190
|
if (!(await fs.pathExists(filesDir))) {
|
|
191
191
|
return files;
|
|
192
192
|
}
|
|
193
|
+
const templateName = path.basename(path.dirname(filesDir));
|
|
193
194
|
const items = await fs.readdir(filesDir, { withFileTypes: true });
|
|
194
195
|
for (const item of items) {
|
|
195
196
|
if (item.isFile()) {
|
|
196
197
|
const isTemplate = item.name.endsWith('.template');
|
|
197
|
-
const source = item.name
|
|
198
|
+
const source = `${templateName}/files/${item.name}`;
|
|
198
199
|
let destination = item.name;
|
|
199
200
|
if (isTemplate) {
|
|
200
201
|
destination = item.name.replace('.template', '');
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "metacoding",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
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",
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
"lint": "eslint src/**/*.ts",
|
|
18
18
|
"lint:fix": "eslint src/**/*.ts --fix",
|
|
19
19
|
"format": "prettier --write src/**/*.ts",
|
|
20
|
+
"validate-readme": "echo 'Validating README.md for npm publishing...' && test -f README.md && echo 'README.md exists and will be included in npm package'",
|
|
20
21
|
"prepare": "npm run build",
|
|
21
|
-
"prepublishOnly": "npm run lint && npm run test && npm run build",
|
|
22
|
+
"prepublishOnly": "npm run lint && npm run test && npm run build && npm run validate-readme",
|
|
22
23
|
"start": "node bin/metacoding.js"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|