Skip to content

Commit 499e202

Browse files
chore: sync schema and version to workflow v0.3.24 (plugin v0.3.2400)
1 parent c7f96fa commit 499e202

4 files changed

Lines changed: 99 additions & 21 deletions

File tree

README.md

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
IDE support for [Workflow Engine](https://github.com/GoCodeAlone/workflow) configuration files: real-time validation, autocomplete, hover docs, snippets, and AI assistant integration via MCP.
44

5-
> This extension requires workflow engine v0.3.20 or later.
5+
> This extension requires workflow engine v0.3.24 or later.
66
77
[![VS Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/GoCodeAlone.workflow-engine)](https://marketplace.visualstudio.com/items?itemName=GoCodeAlone.workflow-engine)
88
[![VS Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/GoCodeAlone.workflow-engine)](https://marketplace.visualstudio.com/items?itemName=GoCodeAlone.workflow-engine)
@@ -77,7 +77,7 @@ All `wfctl` commands are available via the Command Palette (`Ctrl+Shift+P` / `Cm
7777

7878
### MCP Server Integration
7979

80-
On workspace open, the extension offers to register `workflow-mcp-server` in `.vscode/mcp.json`. This makes Workflow Engine context available to AI assistants that support the [Model Context Protocol](https://modelcontextprotocol.io/):
80+
On workspace open, the extension offers to register `wfctl mcp` in `.vscode/mcp.json`. This makes Workflow Engine context available to AI assistants that support the [Model Context Protocol](https://modelcontextprotocol.io/):
8181

8282
- **Claude** (VS Code extension or claude.ai/code)
8383
- **GitHub Copilot** (VS Code)
@@ -129,20 +129,22 @@ Press **F5** in VS Code to launch an Extension Development Host with the extensi
129129

130130
### wfctl
131131

132-
The `wfctl` CLI is required for the command palette commands (validate, inspect, run, etc.).
132+
The `wfctl` CLI powers command palette commands and MCP integration. It is downloaded automatically on first activation.
133+
134+
To install manually instead:
133135

134136
```sh
135-
go install github.com/GoCodeAlone/workflow/cmd/wfctl@v0.3.20
137+
go install github.com/GoCodeAlone/workflow/cmd/wfctl@v0.3.24
136138
```
137139

138-
Verify: `wfctl --version`
140+
If you install it manually, set `workflow.wfctl.path` to the binary path so the extension uses your local build instead of auto-downloading.
139141

140142
### workflow-lsp-server
141143

142144
The LSP server binary powers validation, autocomplete, and hover docs. It is downloaded automatically on first activation. You can also install it manually:
143145

144146
```sh
145-
go install github.com/GoCodeAlone/workflow/cmd/workflow-lsp-server@v0.3.20
147+
go install github.com/GoCodeAlone/workflow/cmd/workflow-lsp-server@v0.3.24
146148
```
147149

148150
If you install it manually, set `workflow.lspServer.path` to the binary path so the extension uses your local build instead of auto-downloading.
@@ -155,16 +157,16 @@ All settings are under the `workflow.*` namespace in VS Code settings.
155157

156158
| Setting | Type | Default | Description |
157159
|---|---|---|---|
158-
| `workflow.wfctl.path` | `string` | `"wfctl"` | Path to the `wfctl` binary. Defaults to `wfctl` (must be on `PATH`). |
160+
| `workflow.wfctl.path` | `string` | `""` | Path to the `wfctl` binary. Leave empty to auto-download from GitHub Releases. |
159161
| `workflow.lspServer.path` | `string` | `""` | Path to the `workflow-lsp-server` binary. Leave empty to auto-download from GitHub Releases. |
160162
| `workflow.lspServer.enabled` | `boolean` | `true` | Enable the Workflow LSP server for rich language features. |
161-
| `workflow.mcpServer.autoRegister` | `boolean` | `true` | Automatically register `workflow-mcp-server` in `.vscode/mcp.json` on workspace open. |
163+
| `workflow.mcpServer.autoRegister` | `boolean` | `true` | Automatically register `wfctl` as the MCP server in `.vscode/mcp.json` on workspace open. |
162164

163165
Example `settings.json`:
164166

165167
```json
166168
{
167-
"workflow.wfctl.path": "/usr/local/bin/wfctl",
169+
"workflow.wfctl.path": "",
168170
"workflow.lspServer.path": "/usr/local/bin/workflow-lsp-server",
169171
"workflow.lspServer.enabled": true,
170172
"workflow.mcpServer.autoRegister": true
@@ -192,14 +194,14 @@ When `workflow.mcpServer.autoRegister` is `true` (the default), the extension ch
192194

193195
> Add the Workflow MCP server to .vscode/mcp.json for AI assistant integration?
194196
195-
Choosing **Add** writes the following entry to `.vscode/mcp.json`:
197+
Choosing **Add** writes the following entry to `.vscode/mcp.json` (using the resolved `wfctl` binary path):
196198

197199
```json
198200
{
199201
"servers": {
200202
"workflow": {
201-
"command": "workflow-mcp-server",
202-
"args": []
203+
"command": "/path/to/wfctl",
204+
"args": ["mcp"]
203205
}
204206
}
205207
}
@@ -215,12 +217,6 @@ Any tool that reads `.vscode/mcp.json` and speaks the Model Context Protocol wil
215217
- **GitHub Copilot** in VS Code (agent mode)
216218
- **Cursor**
217219

218-
### Installing workflow-mcp-server
219-
220-
```sh
221-
go install github.com/GoCodeAlone/workflow/cmd/workflow-mcp-server@v0.3.20
222-
```
223-
224220
---
225221

226222
## Development

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "workflow-engine",
33
"displayName": "Workflow Engine",
44
"description": "IDE support for Workflow Engine configs — validation, autocomplete, snippets, and AI integration",
5-
"version": "0.3.2000",
5+
"version": "0.3.2400",
66
"publisher": "GoCodeAlone",
77
"license": "MIT",
88
"repository": {

schemas/workflow-config.schema.json

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
"step.jq",
140140
"step.json_response",
141141
"step.log",
142+
"step.parallel",
142143
"step.platform_apply",
143144
"step.platform_destroy",
144145
"step.platform_plan",
@@ -3749,6 +3750,46 @@
37493750
}
37503751
}
37513752
},
3753+
{
3754+
"if": {
3755+
"required": [
3756+
"type"
3757+
],
3758+
"properties": {
3759+
"type": {
3760+
"enum": [
3761+
"step.parallel"
3762+
]
3763+
}
3764+
}
3765+
},
3766+
"then": {
3767+
"properties": {
3768+
"config": {
3769+
"type": "object",
3770+
"required": [
3771+
"steps"
3772+
],
3773+
"properties": {
3774+
"error_strategy": {
3775+
"description": "fail_fast: cancel on first error. collect_errors: run all, collect partial results.",
3776+
"type": "string",
3777+
"enum": [
3778+
"fail_fast",
3779+
"collect_errors"
3780+
],
3781+
"default": "fail_fast"
3782+
},
3783+
"steps": {
3784+
"description": "List of sub-steps to run concurrently. Each must have a unique 'name'.",
3785+
"type": "object"
3786+
}
3787+
},
3788+
"additionalProperties": false
3789+
}
3790+
}
3791+
}
3792+
},
37523793
{
37533794
"if": {
37543795
"required": [
@@ -5263,6 +5304,7 @@
52635304
"step.jq",
52645305
"step.json_response",
52655306
"step.log",
5307+
"step.parallel",
52665308
"step.platform_apply",
52675309
"step.platform_destroy",
52685310
"step.platform_plan",
@@ -7049,6 +7091,46 @@
70497091
}
70507092
}
70517093
},
7094+
{
7095+
"if": {
7096+
"required": [
7097+
"type"
7098+
],
7099+
"properties": {
7100+
"type": {
7101+
"enum": [
7102+
"step.parallel"
7103+
]
7104+
}
7105+
}
7106+
},
7107+
"then": {
7108+
"properties": {
7109+
"config": {
7110+
"type": "object",
7111+
"required": [
7112+
"steps"
7113+
],
7114+
"properties": {
7115+
"error_strategy": {
7116+
"description": "fail_fast: cancel on first error. collect_errors: run all, collect partial results.",
7117+
"type": "string",
7118+
"enum": [
7119+
"fail_fast",
7120+
"collect_errors"
7121+
],
7122+
"default": "fail_fast"
7123+
},
7124+
"steps": {
7125+
"description": "List of sub-steps to run concurrently. Each must have a unique 'name'.",
7126+
"type": "object"
7127+
}
7128+
},
7129+
"additionalProperties": false
7130+
}
7131+
}
7132+
}
7133+
},
70527134
{
70537135
"if": {
70547136
"required": [

0 commit comments

Comments
 (0)