magic-helix-vscode 4.0.0-beta.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.
- package/.vscodeignore +8 -0
- package/LICENSE +21 -0
- package/PUBLISHING_GUIDE.md +127 -0
- package/README.md +237 -0
- package/package.json +313 -0
- package/src/extension.ts +2063 -0
- package/tsconfig.json +12 -0
package/.vscodeignore
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 MagicAgentHelix Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# VS Code Marketplace Publishing Guide
|
|
2
|
+
|
|
3
|
+
## ✅ Extension Package Ready!
|
|
4
|
+
|
|
5
|
+
Your extension has been successfully packaged:
|
|
6
|
+
- **File**: `vscode-magic-helix-0.3.0.vsix`
|
|
7
|
+
- **Size**: 15.96 KB
|
|
8
|
+
- **Location**: `/Users/rex-fab-alt/Documents/code/playground/magic-agent-helix/packages/vscode-magic-helix/`
|
|
9
|
+
|
|
10
|
+
## 📝 Pre-Publishing Checklist
|
|
11
|
+
|
|
12
|
+
- ✅ Extension built successfully
|
|
13
|
+
- ✅ Package.json configured with publisher "el-j"
|
|
14
|
+
- ✅ README.md included (8.33 KB)
|
|
15
|
+
- ✅ LICENSE file added
|
|
16
|
+
- ✅ Version set to 0.3.0
|
|
17
|
+
- ✅ .vscodeignore configured correctly
|
|
18
|
+
|
|
19
|
+
## 🚀 Publishing Steps
|
|
20
|
+
|
|
21
|
+
### Step 1: Get a Personal Access Token (PAT)
|
|
22
|
+
|
|
23
|
+
If you don't already have one:
|
|
24
|
+
|
|
25
|
+
1. Go to https://dev.azure.com/
|
|
26
|
+
2. Sign in with your Microsoft account
|
|
27
|
+
3. Click on your profile icon → Security → Personal Access Tokens
|
|
28
|
+
4. Click "+ New Token"
|
|
29
|
+
5. Configure:
|
|
30
|
+
- **Name**: VS Code Marketplace Publishing
|
|
31
|
+
- **Organization**: All accessible organizations
|
|
32
|
+
- **Expiration**: Custom (1 year recommended)
|
|
33
|
+
- **Scopes**: Click "Show all scopes" → select **Marketplace** → check **Manage**
|
|
34
|
+
6. Click "Create" and **copy the token immediately** (you won't see it again!)
|
|
35
|
+
|
|
36
|
+
### Step 2: Create/Verify Publisher
|
|
37
|
+
|
|
38
|
+
If you haven't registered the publisher "el-j":
|
|
39
|
+
|
|
40
|
+
1. Go to https://marketplace.visualstudio.com/manage
|
|
41
|
+
2. Sign in with your Microsoft account
|
|
42
|
+
3. Click "Create publisher"
|
|
43
|
+
4. Enter:
|
|
44
|
+
- **ID**: el-j (must match package.json)
|
|
45
|
+
- **Name**: Your display name
|
|
46
|
+
- **Email**: Your email
|
|
47
|
+
|
|
48
|
+
### Step 3: Login to vsce
|
|
49
|
+
|
|
50
|
+
Run this command in terminal:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
cd /Users/rex-fab-alt/Documents/code/playground/magic-agent-helix/packages/vscode-magic-helix
|
|
54
|
+
npx @vscode/vsce login el-j
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
When prompted, paste your Personal Access Token.
|
|
58
|
+
|
|
59
|
+
### Step 4: Publish the Extension
|
|
60
|
+
|
|
61
|
+
Once logged in, publish with:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx @vscode/vsce publish --no-yarn
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This will:
|
|
68
|
+
- Upload your extension to the marketplace
|
|
69
|
+
- Make it available for users to install
|
|
70
|
+
- Update automatically in VS Code
|
|
71
|
+
|
|
72
|
+
### Alternative: Manual Upload
|
|
73
|
+
|
|
74
|
+
If you prefer not to use the CLI:
|
|
75
|
+
|
|
76
|
+
1. Go to https://marketplace.visualstudio.com/manage/publishers/el-j
|
|
77
|
+
2. Click "New extension" → "Visual Studio Code"
|
|
78
|
+
3. Upload the `vscode-magic-helix-0.3.0.vsix` file
|
|
79
|
+
4. Submit for publication
|
|
80
|
+
|
|
81
|
+
## 🔄 Updating the Extension
|
|
82
|
+
|
|
83
|
+
For future updates:
|
|
84
|
+
|
|
85
|
+
1. Update version in `package.json`
|
|
86
|
+
2. Rebuild: `npm run build`
|
|
87
|
+
3. Publish: `npx @vscode/vsce publish --no-yarn`
|
|
88
|
+
|
|
89
|
+
Or bump version automatically:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Patch version (0.3.0 → 0.3.1)
|
|
93
|
+
npx @vscode/vsce publish patch --no-yarn
|
|
94
|
+
|
|
95
|
+
# Minor version (0.3.0 → 0.4.0)
|
|
96
|
+
npx @vscode/vsce publish minor --no-yarn
|
|
97
|
+
|
|
98
|
+
# Major version (0.3.0 → 1.0.0)
|
|
99
|
+
npx @vscode/vsce publish major --no-yarn
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 📊 After Publishing
|
|
103
|
+
|
|
104
|
+
Your extension will be available at:
|
|
105
|
+
- **Marketplace URL**: https://marketplace.visualstudio.com/items?itemName=el-j.vscode-magic-helix
|
|
106
|
+
- **Install Command**: `code --install-extension el-j.vscode-magic-helix`
|
|
107
|
+
|
|
108
|
+
It may take a few minutes to appear in the marketplace search after publishing.
|
|
109
|
+
|
|
110
|
+
## 🔒 Security Notes
|
|
111
|
+
|
|
112
|
+
- Store your PAT securely (use a password manager)
|
|
113
|
+
- Never commit your PAT to git
|
|
114
|
+
- Set expiration dates on your tokens
|
|
115
|
+
- Use the minimum required scopes
|
|
116
|
+
|
|
117
|
+
## 📝 Next Steps
|
|
118
|
+
|
|
119
|
+
1. Get your PAT from Azure DevOps
|
|
120
|
+
2. Run the login command above
|
|
121
|
+
3. Run the publish command
|
|
122
|
+
4. Verify the extension appears in the marketplace
|
|
123
|
+
5. Test installation from marketplace
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
**Need help?** Check the official docs: https://code.visualstudio.com/api/working-with-extensions/publishing-extension
|
package/README.md
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# MagicAgentHelix VS Code Extension
|
|
2
|
+
|
|
3
|
+
A VS Code extension that runs MagicAgentHelix to align AI instructions across your monorepo projects.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
### 🪄 One-Click Execution
|
|
8
|
+
- Click the "Magic Helix" button in the status bar or use the Command Palette
|
|
9
|
+
- Use the quick access menu with **Ctrl+Shift+M** (or Cmd+Shift+M on Mac)
|
|
10
|
+
- Automatically detects and uses the local CLI in development mode
|
|
11
|
+
- Falls back to `npx @el-j/magic-agent-helix` in production mode
|
|
12
|
+
|
|
13
|
+
### 📊 Real-Time Status Panel
|
|
14
|
+
- Visual progress tracking with percentage completion
|
|
15
|
+
- Stage-by-stage status updates
|
|
16
|
+
- Activity log showing all operations
|
|
17
|
+
- Color-coded messages (info, success, error, warning)
|
|
18
|
+
|
|
19
|
+
### 📝 Output Channel
|
|
20
|
+
- Detailed logging of all operations
|
|
21
|
+
- Timestamps for debugging
|
|
22
|
+
- Shows CLI output, errors, and warnings
|
|
23
|
+
- Easy access via "Show Output" command
|
|
24
|
+
|
|
25
|
+
### 🎯 Enhanced Status Bar
|
|
26
|
+
- Persistent status bar item with magic wand icon (🪄)
|
|
27
|
+
- Shows current state with progress percentage:
|
|
28
|
+
- Idle: "$(wand) Magic Helix"
|
|
29
|
+
- Running: "$(loading~spin) Magic Helix Running... [45%]"
|
|
30
|
+
- Success: "$(check) Magic Helix Done"
|
|
31
|
+
- Error: "$(error) Magic Helix Failed"
|
|
32
|
+
- Auto-resets to idle state after completion
|
|
33
|
+
|
|
34
|
+
### ⚙️ Settings & Configuration
|
|
35
|
+
- **Global Settings**: Configure default commands and options in VS Code settings
|
|
36
|
+
- **Workspace-Specific Config**: Create `.magic-helix.json` for per-workspace customization
|
|
37
|
+
- **Command History**: Automatically tracks your last 10 command executions
|
|
38
|
+
- **Favorites**: Save frequently-used configurations for quick access
|
|
39
|
+
- **Persistent Storage**: Settings and history persist across VS Code sessions
|
|
40
|
+
|
|
41
|
+
### 🔧 Available Commands
|
|
42
|
+
|
|
43
|
+
The extension provides access to all MagicAgentHelix CLI commands with **full option support**:
|
|
44
|
+
|
|
45
|
+
- **Quick Access Menu** (`magic-helix.quickAccess`) - Fast command launcher (Ctrl+Shift+M)
|
|
46
|
+
- Access all commands from one menu
|
|
47
|
+
- View and run from command history
|
|
48
|
+
- Load saved favorite configurations
|
|
49
|
+
- Keyboard shortcut for instant access
|
|
50
|
+
- **Run MagicAgentHelix** (`magic-helix.run`) - Generate AI instruction files
|
|
51
|
+
- Interactive options selector for --dry-run, --force, --verbose, --quiet
|
|
52
|
+
- Custom project targeting
|
|
53
|
+
- Custom config file path
|
|
54
|
+
- Custom output directory
|
|
55
|
+
- **Initialize Config** (`magic-helix.init`) - Create the Magic Helix config file (`magic-helix.config.json`)
|
|
56
|
+
- **Refresh MagicAgentHelix** (`magic-helix.refresh`) - Update existing instruction files
|
|
57
|
+
- Interactive options selector for --verbose, --quiet
|
|
58
|
+
- Custom project targeting
|
|
59
|
+
- Custom config file path
|
|
60
|
+
- **List Projects & Tags** (`magic-helix.list`) - Show detected projects and tags
|
|
61
|
+
- **Validate Instruction Files** (`magic-helix.validate`) - Check instruction files integrity
|
|
62
|
+
- **Clean Generated Files** (`magic-helix.clean`) - Remove all generated files
|
|
63
|
+
- **Save as Favorite** (`magic-helix.saveFavorite`) - Save current configuration for reuse
|
|
64
|
+
- **Configure Workspace** (`magic-helix.configureWorkspace`) - Create/edit `.magic-helix.json`
|
|
65
|
+
- **Show Output** (`magic-helix.showOutput`) - Display the output channel
|
|
66
|
+
- **Show Status Panel** (`magic-helix.showStatus`) - Display the status panel
|
|
67
|
+
|
|
68
|
+
### ⚙️ Interactive Options
|
|
69
|
+
|
|
70
|
+
When running `Run` or `Refresh` commands, you'll be presented with an interactive options menu:
|
|
71
|
+
|
|
72
|
+
1. **Quick Options** - Choose from common presets:
|
|
73
|
+
- Run with defaults
|
|
74
|
+
- Dry run (preview only)
|
|
75
|
+
- Force (no prompts)
|
|
76
|
+
- Verbose output
|
|
77
|
+
- Quiet mode
|
|
78
|
+
- Custom options...
|
|
79
|
+
|
|
80
|
+
2. **Custom Options** - Configure everything:
|
|
81
|
+
- Multiple flag selection (dry-run, force, skip-pruning, verbose, quiet)
|
|
82
|
+
- Target specific project
|
|
83
|
+
- Use custom config file
|
|
84
|
+
- Set custom output directory
|
|
85
|
+
|
|
86
|
+
### 🔧 Available Commands
|
|
87
|
+
|
|
88
|
+
The extension provides access to all MagicAgentHelix CLI commands:
|
|
89
|
+
|
|
90
|
+
- **Run MagicAgentHelix** (`magic-helix.run`) - Generate AI instruction files
|
|
91
|
+
- **Refresh MagicAgentHelix** (`magic-helix.refresh`) - Update existing instruction files
|
|
92
|
+
- **List Projects & Tags** (`magic-helix.list`) - Show detected projects and tags
|
|
93
|
+
- **Validate Instruction Files** (`magic-helix.validate`) - Check instruction files integrity
|
|
94
|
+
- **Clean Generated Files** (`magic-helix.clean`) - Remove all generated files
|
|
95
|
+
- **Show Output** (`magic-helix.showOutput`) - Display the output channel
|
|
96
|
+
- **Show Status Panel** (`magic-helix.showStatus`) - Display the status panel
|
|
97
|
+
|
|
98
|
+
## Usage
|
|
99
|
+
|
|
100
|
+
### Running MagicAgentHelix
|
|
101
|
+
|
|
102
|
+
1. **Via Quick Access Menu**: Press `Ctrl+Shift+M` (or `Cmd+Shift+M` on Mac) for instant command launcher
|
|
103
|
+
2. **Via Status Bar**: Click the "Magic Helix" button in the bottom-left status bar
|
|
104
|
+
3. **Via Command Palette**:
|
|
105
|
+
- Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)
|
|
106
|
+
- Type "MagicAgentHelix" and select from the available commands:
|
|
107
|
+
- "Quick Access Menu" - Fast command launcher with history and favorites
|
|
108
|
+
- "Run MagicAgentHelix" - Generate new instruction files (with options)
|
|
109
|
+
- "Initialize Config" - Create the Magic Helix config file (`magic-helix.config.json`)
|
|
110
|
+
- "Refresh MagicAgentHelix" - Update existing instruction files (with options)
|
|
111
|
+
- "List Projects & Tags" - Show project information
|
|
112
|
+
- "Validate Instruction Files" - Check file integrity
|
|
113
|
+
- "Clean Generated Files" - Remove all generated files
|
|
114
|
+
- "Save as Favorite" - Save current configuration
|
|
115
|
+
- "Configure Workspace" - Create/edit .magic-helix.json
|
|
116
|
+
|
|
117
|
+
### Interactive Workflow
|
|
118
|
+
|
|
119
|
+
#### First Time Setup
|
|
120
|
+
1. Run **"Initialize Config"** to create the Magic Helix config file (`magic-helix.config.json`)
|
|
121
|
+
2. Optionally run **"Configure Workspace"** to create `.magic-helix.json` for workspace-specific settings
|
|
122
|
+
3. Edit the config files to customize your setup
|
|
123
|
+
4. Run **"Run MagicAgentHelix"** to generate instruction files
|
|
124
|
+
|
|
125
|
+
#### Regular Usage
|
|
126
|
+
1. Use **Quick Access Menu** (`Ctrl+Shift+M`) for fastest access
|
|
127
|
+
2. Select from command history or favorites
|
|
128
|
+
3. Or click the status bar / use Command Palette
|
|
129
|
+
4. Select your desired options from the interactive menu
|
|
130
|
+
5. Preview with `--dry-run` before committing changes
|
|
131
|
+
6. Use `--force` to skip confirmation prompts for automation
|
|
132
|
+
|
|
133
|
+
#### Working with Favorites
|
|
134
|
+
1. Run a command with your preferred options
|
|
135
|
+
2. Use **"Save as Favorite"** to save the configuration
|
|
136
|
+
3. Give it a descriptive name
|
|
137
|
+
4. Access it anytime from the Quick Access Menu
|
|
138
|
+
|
|
139
|
+
#### Quick Options
|
|
140
|
+
When running `Run` or `Refresh`, select from:
|
|
141
|
+
- **Run with defaults** - Standard behavior
|
|
142
|
+
- **Dry run** - Preview changes without writing files
|
|
143
|
+
- **Force** - Skip all prompts (great for CI/CD)
|
|
144
|
+
- **Verbose** - See detailed output
|
|
145
|
+
- **Quiet** - Minimal output only
|
|
146
|
+
- **Custom options...** - Full control over all settings
|
|
147
|
+
|
|
148
|
+
### Extension Settings
|
|
149
|
+
|
|
150
|
+
Configure the extension via VS Code settings (`Cmd+,` or `Ctrl+,`):
|
|
151
|
+
|
|
152
|
+
- `magicHelix.defaultCommand`: Default command to run (default: "run")
|
|
153
|
+
- `magicHelix.defaultOptions`: Default CLI options as object
|
|
154
|
+
- `magicHelix.historySize`: Number of commands to keep in history (default: 10)
|
|
155
|
+
- `magicHelix.notifications.enabled`: Show notifications (default: true)
|
|
156
|
+
- `magicHelix.notifications.showProgress`: Show progress notifications (default: true)
|
|
157
|
+
- `magicHelix.statusBar.show`: Show status bar item (default: true)
|
|
158
|
+
- `magicHelix.statusBar.autoReset`: Auto-reset to idle after completion (default: true)
|
|
159
|
+
- `magicHelix.statusBar.autoResetDelay`: Delay before resetting in ms (default: 3000)
|
|
160
|
+
|
|
161
|
+
### Workspace Configuration
|
|
162
|
+
|
|
163
|
+
Create a `.magic-helix.json` file in your workspace root for project-specific settings:
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"defaultCommand": "run",
|
|
168
|
+
"defaultOptions": {
|
|
169
|
+
"verbose": true,
|
|
170
|
+
"skipPruning": true
|
|
171
|
+
},
|
|
172
|
+
"autoRunOnSave": false,
|
|
173
|
+
"watchPatterns": ["package.json", "tsconfig.json"]
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Viewing Status
|
|
178
|
+
|
|
179
|
+
- The status panel opens automatically when you run MagicAgentHelix
|
|
180
|
+
- Or use Command Palette: "MagicAgentHelix: Show Status Panel"
|
|
181
|
+
|
|
182
|
+
### Viewing Output
|
|
183
|
+
|
|
184
|
+
- Use Command Palette: "MagicAgentHelix: Show Output"
|
|
185
|
+
- Or click "Show Output" in success/error notifications
|
|
186
|
+
|
|
187
|
+
## Requirements
|
|
188
|
+
|
|
189
|
+
- VS Code 1.85.0 or higher
|
|
190
|
+
- Node.js 20.11.1 or higher
|
|
191
|
+
- A workspace with a monorepo structure
|
|
192
|
+
|
|
193
|
+
## Development
|
|
194
|
+
|
|
195
|
+
This package is intended to be developed as part of the `magic-agent-helix` monorepo. See the [monorepo root README.md](../../README.md) for full usage and development instructions.
|
|
196
|
+
|
|
197
|
+
### Testing in Development Mode
|
|
198
|
+
|
|
199
|
+
1. Open this monorepo in VS Code
|
|
200
|
+
2. Press F5 to launch Extension Development Host
|
|
201
|
+
3. Open a test project in the new window
|
|
202
|
+
4. The extension will automatically use the local CLI from `../../magic-agent-helix/dist/cli.mjs`
|
|
203
|
+
|
|
204
|
+
### Building
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
npm run build:vscode
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Troubleshooting
|
|
211
|
+
|
|
212
|
+
### No Output or Errors
|
|
213
|
+
|
|
214
|
+
If the extension runs but you don't see output:
|
|
215
|
+
1. Check the Output panel: "MagicAgentHelix: Show Output"
|
|
216
|
+
2. Look for error messages in the VS Code Developer Tools (Help > Toggle Developer Tools)
|
|
217
|
+
3. Ensure you have a valid workspace open with a `package.json`
|
|
218
|
+
|
|
219
|
+
### CLI Not Found
|
|
220
|
+
|
|
221
|
+
In development mode, make sure you've built the CLI:
|
|
222
|
+
```bash
|
|
223
|
+
npm run build:cli
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
In production mode, the extension will use `npx @el-j/magic-agent-helix`.
|
|
227
|
+
|
|
228
|
+
### Extension Not Activating
|
|
229
|
+
|
|
230
|
+
The extension activates on workspace startup. If it's not showing:
|
|
231
|
+
1. Reload VS Code window (Command Palette > "Reload Window")
|
|
232
|
+
2. Check that you have a workspace folder open
|
|
233
|
+
3. Look for errors in Output > Log (Extension Host)
|
|
234
|
+
|
|
235
|
+
## License
|
|
236
|
+
|
|
237
|
+
MIT
|