@minicor/mcp-server 3.1.5 → 3.2.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 (74) hide show
  1. package/README.md +296 -61
  2. package/dist/bootstrap.d.ts +12 -0
  3. package/dist/bootstrap.d.ts.map +1 -0
  4. package/dist/bootstrap.js +244 -0
  5. package/dist/bootstrap.js.map +1 -0
  6. package/dist/config.d.ts +6 -3
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +14 -10
  9. package/dist/config.js.map +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +38 -5
  12. package/dist/index.js.map +1 -1
  13. package/dist/laminar-client.d.ts +5 -0
  14. package/dist/laminar-client.d.ts.map +1 -1
  15. package/dist/laminar-client.js +6 -0
  16. package/dist/laminar-client.js.map +1 -1
  17. package/dist/lib.d.ts.map +1 -1
  18. package/dist/lib.js +22 -1
  19. package/dist/lib.js.map +1 -1
  20. package/dist/prompts/build-rpa.d.ts.map +1 -1
  21. package/dist/prompts/build-rpa.js +86 -272
  22. package/dist/prompts/build-rpa.js.map +1 -1
  23. package/dist/prompts/debug-execution.js +1 -1
  24. package/dist/prompts/workspace-session.d.ts +3 -0
  25. package/dist/prompts/workspace-session.d.ts.map +1 -0
  26. package/dist/prompts/workspace-session.js +58 -0
  27. package/dist/prompts/workspace-session.js.map +1 -0
  28. package/dist/seed-skills.d.ts +13 -0
  29. package/dist/seed-skills.d.ts.map +1 -0
  30. package/dist/seed-skills.js +82 -0
  31. package/dist/seed-skills.js.map +1 -0
  32. package/dist/skills-service-client.d.ts +54 -0
  33. package/dist/skills-service-client.d.ts.map +1 -0
  34. package/dist/skills-service-client.js +93 -0
  35. package/dist/skills-service-client.js.map +1 -0
  36. package/dist/skills.d.ts +34 -0
  37. package/dist/skills.d.ts.map +1 -0
  38. package/dist/skills.js +152 -0
  39. package/dist/skills.js.map +1 -0
  40. package/dist/state.d.ts +22 -0
  41. package/dist/state.d.ts.map +1 -1
  42. package/dist/state.js +12 -0
  43. package/dist/state.js.map +1 -1
  44. package/dist/sync.d.ts +18 -2
  45. package/dist/sync.d.ts.map +1 -1
  46. package/dist/sync.js +404 -104
  47. package/dist/sync.js.map +1 -1
  48. package/dist/tools/core.d.ts.map +1 -1
  49. package/dist/tools/core.js +12 -0
  50. package/dist/tools/core.js.map +1 -1
  51. package/dist/tools/session.d.ts +8 -0
  52. package/dist/tools/session.d.ts.map +1 -0
  53. package/dist/tools/session.js +392 -0
  54. package/dist/tools/session.js.map +1 -0
  55. package/dist/tools/skills.d.ts +3 -0
  56. package/dist/tools/skills.d.ts.map +1 -0
  57. package/dist/tools/skills.js +429 -0
  58. package/dist/tools/skills.js.map +1 -0
  59. package/dist/tools/sync-tools.d.ts.map +1 -1
  60. package/dist/tools/sync-tools.js +82 -12
  61. package/dist/tools/sync-tools.js.map +1 -1
  62. package/dist/tools/vm.js +1 -1
  63. package/dist/tools/workflow-ops.js +1 -1
  64. package/dist/tools/workflow-ops.js.map +1 -1
  65. package/package.json +5 -2
  66. package/skills/general/cdp-browser-automation.md +97 -0
  67. package/skills/general/data-extraction-strategies.md +64 -0
  68. package/skills/general/data-hydration-patterns.md +167 -0
  69. package/skills/general/data-passing-between-steps.md +46 -0
  70. package/skills/general/desktop-uiautomation.md +80 -0
  71. package/skills/general/rpa-testing-workflow.md +145 -0
  72. package/skills/general/session-keepalive.md +101 -0
  73. package/skills/general/smart-launch-patterns.md +213 -0
  74. package/skills/general/state-verification.md +56 -0
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Minicor MCP Server
2
2
 
3
- Build, deploy, and debug VM-based browser and desktop automations from **Cursor** or **Claude Code**. The AI agent connects to your Windows VM, writes Python automation scripts, tests them live, and saves them as Minicor workflows.
3
+ Build, deploy, and debug VM-based browser and desktop automations from **Cursor** or **Claude Code**. The AI agent connects to your Windows VM, writes Python automation scripts, tests them through the Minicor executor, and deploys production-ready workflows — with skills accumulated from every build.
4
4
 
5
5
  ## Quick Start
6
6
 
7
- ### Cursor
7
+ ### 1. Install
8
8
 
9
- Run the setup wizard, then add to your Cursor MCP config (`~/.cursor/mcp.json`):
9
+ **Cursor** — add to `~/.cursor/mcp.json`:
10
10
 
11
11
  ```json
12
12
  {
@@ -19,60 +19,214 @@ Run the setup wizard, then add to your Cursor MCP config (`~/.cursor/mcp.json`):
19
19
  }
20
20
  ```
21
21
 
22
- If you run `minicor-mcp-setup`, it writes this config automatically.
23
-
24
- ### Claude Code
22
+ **Claude Code:**
25
23
 
26
24
  ```bash
27
25
  npm install -g @minicor/mcp-server
28
- minicor-mcp-setup
29
26
  claude mcp add minicor -- minicor-mcp
30
27
  ```
31
28
 
32
- ### Authenticate
29
+ ### 2. Authenticate
33
30
 
34
31
  ```bash
35
32
  npx @minicor/mcp-server-setup
36
33
  ```
37
34
 
38
- Opens a browser to sign in or create an account. Tokens are stored at `~/.minicor/tokens.json` and auto-refresh. For headless environments: `npx @minicor/mcp-server-setup --cli`.
35
+ Opens a browser to sign in. Tokens stored at `~/.minicor/tokens.json` with auto-refresh. For headless: `npx @minicor/mcp-server-setup --cli`.
36
+
37
+ ### 3. Bootstrap Workspace (optional)
38
+
39
+ After cloning a workspace, generate harness-specific config files:
40
+
41
+ ```bash
42
+ # For Claude Code — creates CLAUDE.md + .claude/settings.local.json
43
+ npx @minicor/mcp-server minicor-bootstrap claude-code --dir ./my-workspace
44
+
45
+ # For Cursor — creates .cursor/rules/workspace.mdc
46
+ npx @minicor/mcp-server minicor-bootstrap cursor --dir ./my-workspace
47
+
48
+ # All harnesses at once
49
+ npx @minicor/mcp-server minicor-bootstrap all --dir ./my-workspace
50
+ ```
51
+
52
+ ### 4. Update
53
+
54
+ `npx` users: restart your editor (auto-fetches latest). Global: `npm update -g @minicor/mcp-server`.
55
+
56
+ ## Session Lifecycle
57
+
58
+ The MCP server sends **instructions** to every client on connect, telling agents to call `session_start` first when in a workspace clone. This works across all harnesses — Claude Code, Cursor, Bedrock, etc.
59
+
60
+ ### Session Tools
61
+
62
+ | Tool | What it does |
63
+ | --- | --- |
64
+ | `session_start` | Load workspace context (AGENTS.md, VMs, skills, issues, prior session). Call FIRST in a workspace clone. |
65
+ | `session_checkpoint` | Save progress mid-session. Writes `.minicor/session.json` + syncs `[Workspace:Session]` issue. |
66
+ | `session_end` | Persist final state, sync to platform, optionally update context.md. Call before ending work. |
67
+ | `set_workspaces_root` | Set default root directory for cloning workspaces (saved to `~/.minicor/config.json`). |
68
+
69
+ ### Auto-Save on Disconnect
70
+
71
+ If the agent crashes or the user closes the IDE, the server auto-checkpoints with `status: "interrupted"` so no session state is lost. The next agent resumes from that checkpoint.
72
+
73
+ ### Multi-Agent Handoff
74
+
75
+ Sessions are synced to `[Workspace:Session]` issues on the platform, so agents on other machines (or scheduled Bedrock agents) can resume where the last agent left off.
76
+
77
+ ## The RPA Lifecycle
78
+
79
+ This is the complete flow from zero to production automation. The agent handles each phase using MCP tools and skills.
80
+
81
+ ### Phase 1: Workspace Setup
82
+
83
+ ```
84
+ "Create a workspace for Acme Corp and set up a VM"
85
+ ```
86
+
87
+ - `create_workspace` / `list_workspaces` / `get_workspace` — create or find a workspace
88
+ - `vm_list` — discover available VMs
89
+ - `deploy_vm` — provision a new Windows VM if needed
90
+ - `install_mds_on_vm` / `start_mds_on_vm` — install the Minicor Desktop Service
91
+ - `vm_connect` — connect to the VM via Cloudflare tunnel
92
+
93
+ ### Phase 2: Clone Workspace
94
+
95
+ ```
96
+ "Clone workspace 257 to my local folder"
97
+ ```
98
+
99
+ - `clone_workspace` — pulls everything to a local folder:
100
+ - `minicor.json` — workspace manifest
101
+ - `workflows/` — all workflow steps as files (git-native)
102
+ - `.minicor/skills/general/` — bundled RPA skills
103
+ - `.minicor/skills/workspace/` — workspace-specific learned skills
104
+ - `.minicor/issues/` — agent-persisted context from previous runs
105
+ - `.minicor/skill-index.json` — compact skill summary
106
+ - `.minicor/workspace.json` — workspace metadata
107
+
108
+ The folder is git-ready. Push to GitHub for version control, diffs, and CI/CD.
109
+
110
+ ### Phase 3: Scope & Research
111
+
112
+ ```
113
+ "I want to automate patient lookup in Centricity"
114
+ ```
115
+
116
+ The agent:
117
+
118
+ - Takes screenshots, inspects UI elements, identifies the app framework
119
+ - Loads relevant skills: `get_skill("cdp-browser-automation")` or `get_skill("desktop-uiautomation")`
120
+ - Checks `list_skills()` for customer-specific skills (e.g., "centricity-quirks")
121
+ - Studies existing workflows via `get_workflow_overview`
122
+ - Determines strategy: CDP browser, desktop uiautomation, or hybrid
123
+
124
+ ### Phase 4: Build (Iterative)
125
+
126
+ For each automation step:
127
+
128
+ 1. **Observe** — `vm_screenshot` + `vm_inspect_ui` to map the UI
129
+ 2. **Write** — Python script using patterns from loaded skills
130
+ 3. **Prototype** — `vm_execute_script` to test on the VM directly
131
+ 4. **Save** — `create_rpa_flow` to persist as a Minicor workflow step
132
+ 5. **Test through Minicor** — `execute_workflow_async` with `start_from_step`/`end_at_step` to verify the step works through the real executor (config variables, data passing, JS wrapper)
133
+
134
+ The testing step is critical — `vm_execute_script` doesn't resolve `{{config.*}}` variables or `data.input` interpolation. The agent loads `get_skill("rpa-testing-workflow")` for exact tool call sequences.
135
+
136
+ ### Phase 5: Test End-to-End
137
+
138
+ After all steps pass individually:
139
+
140
+ - `execute_workflow_async` with real inputs + `configurationId` — full workflow, no step isolation
141
+ - Poll `get_execution_status` + `vm_screenshot` to monitor
142
+ - `diagnose_execution` on failure, fix with `update_flow`, re-run
143
+ - Workflow is NOT done until it passes end-to-end through the Minicor executor
144
+
145
+ ### Phase 6: Production Hardening
146
+
147
+ For production workflows (not POCs):
148
+
149
+ - Load `get_skill("state-verification")` — add `expectedPreState`/`expectedPostState` to each step
150
+ - Run the workflow twice to verify idempotency
151
+ - `create_agent` with `mode: "monitor"` + `watchWorkflowId` for failure monitoring
152
+ - `create_agent` with `mode: "scheduled"` + cron for recurring runs
153
+ - Persist context: `create_issue` with `[Agent:<name>] Rules` for cross-run learning
154
+
155
+ ### Phase 7: Extract & Share Knowledge
156
+
157
+ After a successful build:
158
+
159
+ - `generate_skill` — gathers workflow code, execution history, and agent issues
160
+ - The agent analyzes patterns and calls `save_skill` to persist them
161
+ - Skills are stored per-workspace and available to future builds
162
+ - Customer-specific quirks become reusable knowledge
163
+
164
+ ## Skills System
165
+
166
+ Skills are reusable RPA patterns that accumulate as you build automations. The MCP ships with 6 bundled general skills:
167
+
168
+
169
+ | Skill | Purpose |
170
+ | ---------------------------- | --------------------------------------------------------------------------------- |
171
+ | `rpa-testing-workflow` | **Mandatory.** Exact tool call sequences for testing through the Minicor executor |
172
+ | `cdp-browser-automation` | CDP starter template, React-safe setters, parallel execution |
173
+ | `desktop-uiautomation` | Framework selection, element selectors, wait/retry patterns |
174
+ | `data-extraction-strategies` | Priority-ordered methods for reading data from screen |
175
+ | `data-passing-between-steps` | JS-layer interpolation, config variables, step outputs |
176
+ | `state-verification` | LLM-based UI verification for production workflows |
177
+
178
+
179
+ ### Using Skills
180
+
181
+ ```
182
+ list_skills() → see all available skills
183
+ get_skill("cdp-browser-automation") → load full patterns + code templates
184
+ save_skill(...) → persist a new skill from a successful build
185
+ generate_skill(workflowId) → extract patterns from an existing workflow
186
+ ```
187
+
188
+ ### Skills Service
39
189
 
40
- ### Update
190
+ Skills are automatically persisted through the Minicor platform API. When authenticated, `save_skill` and `generate_skill` store skills server-side so they persist across sessions and are available to other agents in the same workspace.
41
191
 
42
- `npx` users: just restart your editor (fetches latest automatically). Global install: `npm update -g @minicor/mcp-server`.
192
+ Skill tiers:
43
193
 
44
- ## How It Works
194
+ - **Global** — general RPA knowledge (read-only, bundled with the MCP)
195
+ - **Per-workspace** — learned from agent sessions, persisted across runs
196
+ - **Customer-specific** — app quirks, environment patterns
45
197
 
46
- 1. **Connect to a VM** — The agent connects to your Windows VM running the Laminar Desktop Service (LDS) via a Cloudflare tunnel
47
- 2. **Build automations** — The agent takes screenshots, inspects UI elements, writes Python scripts, and tests them on the VM in real time
48
- 3. **Deploy as workflows** — Validated scripts are saved as step-based Minicor workflows with credentials stored in config stores
49
- 4. **Debug failures** — Before/after screenshots, video recordings of each step, execution diagnosis, and replay on live VMs
198
+ Without authentication, skills fall back to the bundled `.md` files in the package.
50
199
 
51
200
  ## What You Can Automate
52
201
 
53
- - **Web portals** — Chrome on the VM controlled via CDP (Chrome DevTools Protocol). Works on React/Angular SPAs, anti-bot protected sites, payor portals, EHR web apps.
54
- - **Desktop applications** — Native Windows apps driven via uiautomation, pywinauto, or pyautogui. EMR clients, billing software, legacy systems.
55
- - **APIs** — Direct HTTP calls when the agent discovers usable REST endpoints behind a web portal.
56
- - **Hybrid workflows** — Mix browser, desktop, and API steps in a single workflow.
202
+ - **Web portals** — Chrome via CDP. React/Angular SPAs, anti-bot sites, payor portals, EHR web apps.
203
+ - **Desktop applications** — Windows apps via uiautomation, pywinauto, pyautogui. EMR clients, billing software, legacy systems.
204
+ - **APIs** — Direct HTTP when the agent discovers usable endpoints behind a portal.
205
+ - **Hybrid workflows** — Mix browser, desktop, and API steps in one workflow.
57
206
 
58
207
  ## VM Setup
59
208
 
60
- 1. Install LDS on a Windows 10/11 or Server VM with Python 3.11+
61
- 2. Start LDS on port 1016
62
- 3. Expose via Cloudflare Tunnel: `cloudflared tunnel --url http://localhost:1016`
63
- 4. For browser automation: start Chrome with `--remote-debugging-port=9222`
64
- 5. In your editor, tell the agent: "Connect to my VM at https://your-tunnel-url.com"
209
+ The easiest path is to let the agent handle everything:
210
+
211
+ ```
212
+ "Deploy a VM and set it up for automation"
213
+ ```
214
+
215
+ The agent runs: `deploy_vm` → `install_mds_on_vm` → `start_mds_on_vm` → `vm_connect`
65
216
 
66
- Use the `get_lds_setup_guide` tool for detailed step-by-step instructions.
217
+ Once the VM is provisioned, a secure tunnel is automatically created. The agent connects via the tunnel URL and is ready to build automations. Chrome instances for browser automation are managed automatically by the MDS — no manual setup needed.
218
+
219
+ For manual setup, use `get_lds_setup_guide` for step-by-step instructions.
67
220
 
68
221
  ## Tools
69
222
 
70
223
  ### VM Tools
71
224
 
225
+
72
226
  | Tool | What it does |
73
227
  | ---------------------- | ------------------------------------------------------------------------------------------ |
74
228
  | `vm_list` | Discover available VMs (returns ID, name, status, tunnel URL) |
75
- | `vm_connect` | Connect to VM via LDS Cloudflare tunnel URL or VM ID |
229
+ | `vm_connect` | Connect to VM via LDS Cloudflare tunnel URL or VM ID |
76
230
  | `vm_disconnect` | Disconnect from VM |
77
231
  | `vm_status` | Health check for the connected VM |
78
232
  | `vm_screenshot` | Full-screen capture of the VM desktop |
@@ -83,8 +237,10 @@ Use the `get_lds_setup_guide` tool for detailed step-by-step instructions.
83
237
  | `vm_inspect_ui` | Inspect Windows UI elements (window list, element tree, element at point, focused element) |
84
238
  | `vm_read_clipboard` | Read VM clipboard contents |
85
239
 
240
+
86
241
  ### Automation Building
87
242
 
243
+
88
244
  | Tool | What it does |
89
245
  | ----------------------- | --------------------------------------------------------- |
90
246
  | `create_rpa_flow` | Save a validated Python script as a Minicor workflow step |
@@ -94,8 +250,10 @@ Use the `get_lds_setup_guide` tool for detailed step-by-step instructions.
94
250
  | `replay_execution_step` | Re-run a step from a failed execution on the VM |
95
251
  | `get_lds_setup_guide` | LDS installation walkthrough |
96
252
 
253
+
97
254
  ### Workflows and Executions
98
255
 
256
+
99
257
  | Tool | What it does |
100
258
  | ---------------------------------------------------------- | --------------------------------------------------- |
101
259
  | `create_workflow` / `update_workflow` / `delete_workflow` | Workflow CRUD |
@@ -107,40 +265,46 @@ Use the `get_lds_setup_guide` tool for detailed step-by-step instructions.
107
265
  | `test_workflow_step` | Run a single step in isolation |
108
266
  | `preview_flow_changes` / `compare_flow_versions` | Diff code before deploying |
109
267
 
268
+
110
269
  ### 2FA / OTP
111
270
 
112
- | Tool | What it does |
113
- | --------------------- | -------------------------------------------------------------------- |
114
- | `tfa_provision_phone` | Buy a Twilio phone number for the workspace (SMS webhook auto-configured) |
115
- | `tfa_provision_email` | Generate a Mailgun email address for OTP capture |
116
- | `tfa_list_channels` | List all provisioned phone numbers and email addresses |
117
- | `tfa_delete_channel` | Remove a channel (releases Twilio number if phone) |
118
- | `tfa_register_secret` | Store a TOTP secret (base32 or otpauth:// URI), encrypted at rest |
119
- | `tfa_list_secrets` | List stored TOTP secrets for the workspace |
120
- | `tfa_delete_secret` | Remove a stored TOTP secret |
121
- | `tfa_generate_totp` | Get the current 6-digit TOTP code + seconds until expiry |
122
- | `tfa_verify_totp` | Verify a TOTP code against a stored secret |
123
- | `tfa_parse_qr` | Parse a QR code image to extract TOTP parameters |
124
- | `tfa_request_sms_otp` | Wait for an SMS OTP (blocks until SMS arrives or timeout) |
125
- | `tfa_request_email_otp` | Wait for an email OTP (blocks until email arrives or timeout) |
126
- | `tfa_get_challenge` | Check the status of a pending challenge |
127
- | `tfa_resolve_challenge` | Manually resolve a challenge (for captchas or Slack-provided codes)|
128
- | `tfa_cancel_challenge`| Cancel a pending challenge |
271
+
272
+ | Tool | What it does |
273
+ | ----------------------- | ------------------------------------------------------------------------- |
274
+ | `tfa_provision_phone` | Buy a Twilio phone number for the workspace (SMS webhook auto-configured) |
275
+ | `tfa_provision_email` | Generate a Mailgun email address for OTP capture |
276
+ | `tfa_list_channels` | List all provisioned phone numbers and email addresses |
277
+ | `tfa_delete_channel` | Remove a channel (releases Twilio number if phone) |
278
+ | `tfa_register_secret` | Store a TOTP secret (base32 or otpauth:// URI), encrypted at rest |
279
+ | `tfa_list_secrets` | List stored TOTP secrets for the workspace |
280
+ | `tfa_delete_secret` | Remove a stored TOTP secret |
281
+ | `tfa_generate_totp` | Get the current 6-digit TOTP code + seconds until expiry |
282
+ | `tfa_verify_totp` | Verify a TOTP code against a stored secret |
283
+ | `tfa_parse_qr` | Parse a QR code image to extract TOTP parameters |
284
+ | `tfa_request_sms_otp` | Wait for an SMS OTP (blocks until SMS arrives or timeout) |
285
+ | `tfa_request_email_otp` | Wait for an email OTP (blocks until email arrives or timeout) |
286
+ | `tfa_get_challenge` | Check the status of a pending challenge |
287
+ | `tfa_resolve_challenge` | Manually resolve a challenge (for captchas or Slack-provided codes) |
288
+ | `tfa_cancel_challenge` | Cancel a pending challenge |
289
+
129
290
 
130
291
  Workflows that encounter 2FA prompts use these tools to auto-resolve OTP challenges. Provision channels once per workspace, store the IDs in config stores, and reference them with `{{config.sms_channel_id}}` or `{{config.totp_secret_id}}` at runtime.
131
292
 
132
293
  ### Config Stores
133
294
 
295
+
134
296
  | Tool | What it does |
135
297
  | --------------------------------------------------- | --------------------------------------------------- |
136
298
  | `create_config_store` | Create a credential store with key-value properties |
137
299
  | `list_config_stores` / `get_config_store` | Browse stores |
138
300
  | `update_config_property` / `remove_config_property` | Manage individual properties |
139
301
 
302
+
140
303
  Scripts reference credentials as `{{config.propertyKey}}` — resolved at runtime by the workflow engine.
141
304
 
142
305
  ### Issues
143
306
 
307
+
144
308
  | Tool | What it does |
145
309
  | -------------- | ---------------------------------------------- |
146
310
  | `list_issues` | List all issues in a workspace |
@@ -149,6 +313,7 @@ Scripts reference credentials as `{{config.propertyKey}}` — resolved at runtim
149
313
  | `update_issue` | Update title, description, status, or assignee |
150
314
  | `delete_issue` | Delete an issue |
151
315
 
316
+
152
317
  Agents use Issues to persist context across runs with the `[Agent:<name>]` title convention:
153
318
 
154
319
  - `[Agent:my-bot] Rules` — learned behaviors (e.g., "login page takes 15s to load")
@@ -157,31 +322,75 @@ Agents use Issues to persist context across runs with the `[Agent:<name>]` title
157
322
 
158
323
  ### Agents
159
324
 
160
- | Tool | What it does |
161
- | -------------- | --------------------------------------------------------------- |
162
- | `list_agents` | List agents in a workspace |
163
- | `get_agent` | Get agent details (task, mode, VM, run stats) |
325
+
326
+ | Tool | What it does |
327
+ | -------------- | ---------------------------------------------------------------- |
328
+ | `list_agents` | List agents in a workspace |
329
+ | `get_agent` | Get agent details (task, mode, VM, run stats) |
164
330
  | `create_agent` | Create an agent (on-demand, scheduled, or workflow monitor mode) |
165
331
 
332
+
166
333
  Agents are autonomous runners that execute tasks on VMs using MCP tools. After building a workflow, the `build-rpa-workflow` prompt offers to create a monitoring agent that watches for failures and auto-recovers.
167
334
 
168
- ### Workflow Sync
335
+ ### Skills
336
+
337
+
338
+ | Tool | What it does |
339
+ | ---------------- | --------------------------------------------------------------------- |
340
+ | `list_skills` | List available skills (filterable by category, tags, workspace) |
341
+ | `get_skill` | Load full skill content by name |
342
+ | `save_skill` | Save a skill to the skills service and/or local workspace clone |
343
+ | `generate_skill` | Gather workflow context for skill extraction (agent writes the skill) |
344
+
345
+
346
+ ### Workspace Sync
347
+
348
+
349
+ | Tool | What it does |
350
+ | --------------------------------- | ------------------------------------------------------------------------------ |
351
+ | `clone_workspace` | Full workspace clone: workflows + skills + issues + metadata. Defaults to configured workspaces root if outputDir omitted. |
352
+ | `init_project` | Scaffold a git-ready project from a workspace (workflows only) |
353
+ | `pull_workflow` / `push_workflow` | Sync individual workflows |
354
+ | `pull_all` / `push_changed` | Bulk sync |
355
+ | `sync_status` | Diff local vs deployed |
356
+ | `set_workspaces_root` | Set default root directory for cloning workspaces (`~/.minicor/config.json`) |
357
+
358
+
359
+ ### Session Lifecycle
360
+
361
+
362
+ | Tool | What it does |
363
+ | --------------------- | --------------------------------------------------------------------------------------------- |
364
+ | `session_start` | Load full workspace context + begin session tracking. Call FIRST in a workspace clone. |
365
+ | `session_checkpoint` | Save progress: writes `.minicor/session.json` + syncs `[Workspace:Session]` issue. |
366
+ | `session_end` | End session: persist final state, sync to platform, optionally update context.md. |
169
367
 
170
- | Tool | What it does |
171
- | --------------------------------- | --------------------------------------------- |
172
- | `init_project` | Scaffold a git-ready project from a workspace |
173
- | `pull_workflow` / `push_workflow` | Sync individual workflows |
174
- | `pull_all` / `push_changed` | Bulk sync |
175
- | `sync_status` | Diff local vs deployed |
176
368
 
177
369
  ## Prompts
178
370
 
179
- | Prompt | What it does |
180
- | -------------------------- | ------------------------------------------------------------------------------------------------- |
181
- | `build-rpa-workflow` | Guided automation building: strategy selection, iterative build loop, per-step Minicor testing, idempotency, context persistence, and agent setup |
182
- | `debug-workflow-execution` | Analyze a failed execution with VM-aware debugging and replay |
183
- | `minicor-workflow-guide` | Full workflow specification: step types, data access, keywords, libraries |
184
- | `2fa-workflow-guide` | Handling 2FA in workflows: provisioning channels, TOTP secrets, auto-resolving OTP codes |
371
+
372
+ | Prompt | What it does |
373
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
374
+ | `build-rpa-workflow` | Guided automation building with POC/production mode. Loads skills, iterative build loop, per-step Minicor testing, optional hardening. |
375
+ | `debug-workflow-execution` | Analyze a failed execution with VM-aware debugging and replay |
376
+ | `minicor-workflow-guide` | Full workflow specification: step types, data access, keywords, libraries |
377
+ | `2fa-workflow-guide` | Handling 2FA in workflows: provisioning channels, TOTP secrets, auto-resolving OTP codes |
378
+ | `workspace-session-guide` | Returns AGENTS.md rules and session state for any workspace clone |
379
+
380
+
381
+ The `build-rpa-workflow` prompt accepts a `mode` parameter:
382
+
383
+ - `**poc**` — Quick prototype. Streamlined testing, no state verification or monitoring.
384
+ - `**production**` — Full hardening. State verification, idempotency testing, monitoring agent, context persistence.
385
+ - **Omitted** — The agent asks the user which mode to use.
386
+
387
+ ## Environment Variables
388
+
389
+
390
+ | Variable | Purpose | Default |
391
+ | -------------------- | ---------------------- | ------------------ |
392
+ | `VM_MANAGER_API_URL` | VM Manager service URL | Cloud Run instance |
393
+
185
394
 
186
395
  ## Auth
187
396
 
@@ -197,3 +406,29 @@ npm install
197
406
  npm run build
198
407
  npm test
199
408
  ```
409
+
410
+ ### Project Structure
411
+
412
+ ```
413
+ src/
414
+ index.ts — CLI MCP entry (stdio transport, token management, disconnect hooks)
415
+ lib.ts — Embeddable server factory (in-process, no side effects)
416
+ bootstrap.ts — CLI to generate harness configs (CLAUDE.md, .cursor/rules, etc.)
417
+ config.ts — User config (~/.minicor/config.json) — workspacesRoot, etc.
418
+ state.ts — Shared mutable state (VM connections, active session tracking)
419
+ skills.ts — Skill loader, parser, index builder
420
+ tools/
421
+ session.ts — session_start, session_checkpoint, session_end, auto-checkpoint
422
+ skills.ts — list_skills, get_skill, save_skill, generate_skill
423
+ sync-tools.ts — clone_workspace, init_project, pull/push, set_workspaces_root
424
+ vm.ts, vm-rpa.ts — VM and RPA tools
425
+ core.ts — Workflows, flows, executions
426
+ ...
427
+ prompts/
428
+ workspace-session.ts — Workspace session guide prompt
429
+ build-rpa.ts — Guided RPA building (POC/production modes)
430
+ ...
431
+ skills/
432
+ general/ — Bundled skill files (shipped with npm package)
433
+ ```
434
+
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Bootstrap CLI — generates harness-specific config files for a Minicor workspace clone.
4
+ *
5
+ * Usage:
6
+ * minicor-bootstrap claude-code [--dir <workspace-dir>]
7
+ * minicor-bootstrap cursor [--dir <workspace-dir>]
8
+ * minicor-bootstrap generic [--dir <workspace-dir>]
9
+ * minicor-bootstrap all [--dir <workspace-dir>]
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}