@waishnav/devspace 1.0.2 → 1.0.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.
Files changed (115) hide show
  1. package/README.md +43 -7
  2. package/dist/apply-patch.js +402 -0
  3. package/dist/cli.js +256 -4
  4. package/dist/config.js +17 -22
  5. package/dist/db/migrations.js +34 -0
  6. package/dist/db/schema.js +19 -0
  7. package/dist/local-agent-adapters.js +653 -0
  8. package/dist/local-agent-availability.js +119 -0
  9. package/dist/local-agent-path.js +24 -0
  10. package/dist/local-agent-profiles.js +135 -0
  11. package/dist/local-agent-runtime.js +48 -0
  12. package/dist/local-agent-store.js +145 -0
  13. package/dist/local-agent-targets.js +80 -0
  14. package/dist/process-platform.js +49 -0
  15. package/dist/process-sessions.js +337 -0
  16. package/dist/roots.js +5 -2
  17. package/dist/server.js +521 -243
  18. package/dist/skills.js +48 -4
  19. package/dist/ui/.vite/manifest.json +281 -281
  20. package/dist/ui/assets/{angular-html-Dj4LysSE.js → angular-html-CKeFzaPY.js} +1 -1
  21. package/dist/ui/assets/{angular-ts-CxuC_FFh.js → angular-ts-0wcM_Zxf.js} +1 -1
  22. package/dist/ui/assets/{apl-RwuvNFFo.js → apl-C7UdkNb2.js} +1 -1
  23. package/dist/ui/assets/{astro-ncoaUbsO.js → astro-DMqju4MJ.js} +1 -1
  24. package/dist/ui/assets/{blade-Dw8-Lzux.js → blade-DHanNgN5.js} +1 -1
  25. package/dist/ui/assets/{c-Dpbbo_f2.js → c-_iPKYPcx.js} +1 -1
  26. package/dist/ui/assets/{cobol-4ddX3THy.js → cobol-CagdLJsE.js} +1 -1
  27. package/dist/ui/assets/{coffee-Bn-a5KqK.js → coffee-CkNGriPi.js} +1 -1
  28. package/dist/ui/assets/{cpp-DoRrlM_T.js → cpp-CqmKOWIQ.js} +1 -1
  29. package/dist/ui/assets/{crystal-DiZfCxn-.js → crystal-DbAbDEO1.js} +1 -1
  30. package/dist/ui/assets/{css-DiQoSjDH.js → css-xwljL6Kw.js} +1 -1
  31. package/dist/ui/assets/{edge-wEhCUoEt.js → edge-CX3sYz15.js} +1 -1
  32. package/dist/ui/assets/{elixir-C3obhm0H.js → elixir-B3qL9hqd.js} +1 -1
  33. package/dist/ui/assets/{elm-DyTBfh1L.js → elm-CH4vrjBp.js} +1 -1
  34. package/dist/ui/assets/{erb-f4TnXRuY.js → erb-CupHqynN.js} +1 -1
  35. package/dist/ui/assets/{git-rebase-vhZbWNfp.js → git-rebase-CDxsU2LC.js} +1 -1
  36. package/dist/ui/assets/{glimmer-js-BG7puL6Y.js → glimmer-js-emkga3g1.js} +1 -1
  37. package/dist/ui/assets/{glimmer-ts-CNCfLLL1.js → glimmer-ts-D8kQDnUw.js} +1 -1
  38. package/dist/ui/assets/{glsl-DhT76AL5.js → glsl-BtfTaPhi.js} +1 -1
  39. package/dist/ui/assets/{graphql-CJX08w8y.js → graphql-DEus8iSO.js} +1 -1
  40. package/dist/ui/assets/{hack-DY4NGCCL.js → hack-DI8qpBqE.js} +1 -1
  41. package/dist/ui/assets/{haml-DwSkmVcG.js → haml-Br1i1gmi.js} +1 -1
  42. package/dist/ui/assets/{handlebars-CQ_1dEmi.js → handlebars-Ce23mu9x.js} +1 -1
  43. package/dist/ui/assets/{heavy-payload-2rGBiitA.js → heavy-payload-BcZ_nGfF.js} +1 -1
  44. package/dist/ui/assets/{html-B_e3Njif.js → html-RXVmfixf.js} +1 -1
  45. package/dist/ui/assets/{html-derivative-_nHZ_Bk-.js → html-derivative-D1aqeobb.js} +1 -1
  46. package/dist/ui/assets/{http-CfcvPIru.js → http-BebG00CE.js} +1 -1
  47. package/dist/ui/assets/{hurl-9vWDQIMO.js → hurl-kHMuvenL.js} +1 -1
  48. package/dist/ui/assets/{java-C4S5r6L5.js → java-DYc2V5RJ.js} +1 -1
  49. package/dist/ui/assets/{javascript-BRwqbMMC.js → javascript-BcfzTzr3.js} +1 -1
  50. package/dist/ui/assets/{jinja-DHxzMMc5.js → jinja-D2RhihUZ.js} +1 -1
  51. package/dist/ui/assets/{jison-B1DqeWXb.js → jison-BuoFEePN.js} +1 -1
  52. package/dist/ui/assets/{json-DcFTkEdd.js → json-BIDkCuJA.js} +1 -1
  53. package/dist/ui/assets/{jsx-DgfmYa9f.js → jsx-DHCL2HA0.js} +1 -1
  54. package/dist/ui/assets/{julia-3M8SJ8iF.js → julia-CvUQXscF.js} +1 -1
  55. package/dist/ui/assets/{just-UyH7_DNz.js → just-etc9R2qw.js} +1 -1
  56. package/dist/ui/assets/{latex-wUbha6EX.js → latex-BB3zRnxC.js} +1 -1
  57. package/dist/ui/assets/{liquid-DqNTB9kN.js → liquid-CIi5Mvpv.js} +1 -1
  58. package/dist/ui/assets/{lua-DrEQ1QTW.js → lua-Cox7XDiW.js} +1 -1
  59. package/dist/ui/assets/{marko-B3GJw9Md.js → marko-ruBIRV0n.js} +1 -1
  60. package/dist/ui/assets/{mdc-BnThk82m.js → mdc-CcbvB9U5.js} +1 -1
  61. package/dist/ui/assets/{nginx-B5IeSsOX.js → nginx-DtWz6ZYE.js} +1 -1
  62. package/dist/ui/assets/{nim-BJraatnS.js → nim-BV5BR4P7.js} +1 -1
  63. package/dist/ui/assets/{perl-BAhrR4gt.js → perl-BvzoSaJ4.js} +1 -1
  64. package/dist/ui/assets/{php-BKRCk_wX.js → php-C-clrAOy.js} +1 -1
  65. package/dist/ui/assets/{pug-B8gmSV7z.js → pug-E07_GXAr.js} +1 -1
  66. package/dist/ui/assets/{qml-DKrxIjHR.js → qml-dqt33dti.js} +1 -1
  67. package/dist/ui/assets/{r-YASBZvTH.js → r-BcVQxsAw.js} +1 -1
  68. package/dist/ui/assets/{razor-P-XFZqh6.js → razor-BW5T_UZ-.js} +1 -1
  69. package/dist/ui/assets/{regexp-CCpiH6nO.js → regexp-Ed_DEsuU.js} +1 -1
  70. package/dist/ui/assets/{review-payload-BLYwg6t8.js → review-payload-Dsmx33pY.js} +1 -1
  71. package/dist/ui/assets/{rst-CFAzckbn.js → rst-BkcGqLs8.js} +1 -1
  72. package/dist/ui/assets/{ruby-Dyp_Rx-S.js → ruby-Sf_X_YID.js} +1 -1
  73. package/dist/ui/assets/{sas-YkWZIXxT.js → sas-COsombsA.js} +1 -1
  74. package/dist/ui/assets/{scss-Cf89idGl.js → scss-K6Ylfa26.js} +1 -1
  75. package/dist/ui/assets/{shellscript-BFMb52q8.js → shellscript-D2EdqkgV.js} +1 -1
  76. package/dist/ui/assets/{shellsession-DuthW-5v.js → shellsession-jRXgXrnI.js} +1 -1
  77. package/dist/ui/assets/{soy-BohVVlJU.js → soy-BGspKQWW.js} +1 -1
  78. package/dist/ui/assets/{sql-CnK9R2Gt.js → sql-C4lAmYnM.js} +1 -1
  79. package/dist/ui/assets/{stata-D-sV4Vbr.js → stata-DQWvRqxp.js} +1 -1
  80. package/dist/ui/assets/{surrealql-ChAy0gHv.js → surrealql-OmKt9XJ_.js} +1 -1
  81. package/dist/ui/assets/{svelte-3HBVqG-H.js → svelte-D0rUmwDI.js} +1 -1
  82. package/dist/ui/assets/{templ-BixlV4Cp.js → templ-B-U0RMc0.js} +1 -1
  83. package/dist/ui/assets/{tex-DWoJKHvD.js → tex-BIHD-btS.js} +1 -1
  84. package/dist/ui/assets/{ts-tags-DLA8eH13.js → ts-tags-CGuDWfPC.js} +1 -1
  85. package/dist/ui/assets/{tsx-BYWa5JUz.js → tsx-B0-h_HlD.js} +1 -1
  86. package/dist/ui/assets/{twig-CnY65vAo.js → twig-BN2qDJWN.js} +1 -1
  87. package/dist/ui/assets/{typescript-ByInUsro.js → typescript-BRnwPzY3.js} +1 -1
  88. package/dist/ui/assets/{useFileDiffInstance-Dg0pWcJV.js → useFileDiffInstance-5ivdkUYO.js} +3 -3
  89. package/dist/ui/assets/{vue-Qngt2rkz.js → vue-DekNU1qt.js} +1 -1
  90. package/dist/ui/assets/{vue-html-DDue9upr.js → vue-html-Bjlv-uvH.js} +1 -1
  91. package/dist/ui/assets/{vue-vine-DBcAKsA6.js → vue-vine-C2Doytjq.js} +1 -1
  92. package/dist/ui/assets/{workspace-app-DGD9R89D.css → workspace-app-DASlX26z.css} +1 -1
  93. package/dist/ui/assets/{workspace-app-DuzpU4Hf.js → workspace-app-DYi7VJam.js} +5 -5
  94. package/dist/ui/assets/{xml-CRLR5jiL.js → xml-pXbxxgI3.js} +1 -1
  95. package/dist/ui/assets/{xsl-CmcwyXbm.js → xsl-BEAlgDI2.js} +1 -1
  96. package/dist/ui/assets/{yaml-Dpe6Eg-k.js → yaml-C1O-To71.js} +1 -1
  97. package/dist/ui/workspace-app.html +2 -2
  98. package/dist/user-config.js +21 -1
  99. package/dist/workspaces.js +3 -0
  100. package/docs/agent-profile-schema.md +165 -0
  101. package/docs/chatgpt-coding-workflow.md +46 -12
  102. package/docs/configuration.md +47 -12
  103. package/docs/gotchas.md +24 -5
  104. package/docs/setup.md +1 -1
  105. package/examples/agents/claude-implementer.md +30 -0
  106. package/examples/agents/codex-explorer.md +27 -0
  107. package/examples/agents/codex-qa-tester.md +29 -0
  108. package/examples/agents/codex-worker.md +25 -0
  109. package/examples/agents/copilot-reviewer.md +25 -0
  110. package/examples/agents/cursor-agent-worker.md +26 -0
  111. package/examples/agents/opencode-explorer.md +27 -0
  112. package/examples/agents/pi-reviewer.md +27 -0
  113. package/package.json +18 -5
  114. package/scripts/fix-node-pty-permissions.mjs +22 -0
  115. package/skills/subagent-delegation/SKILL.md +132 -0
@@ -0,0 +1,165 @@
1
+ # Subagent profile schema
2
+
3
+ DevSpace agent profiles are user-owned markdown files with YAML
4
+ frontmatter. They describe roles such as reviewer, explorer, or implementer.
5
+ DevSpace owns provider invocation.
6
+
7
+ Profiles are discovered from:
8
+
9
+ - `~/.devspace/agents/*.md`
10
+ - `.devspace/agents/*.md`
11
+
12
+ Packaged files under `examples/agents/` are starter templates only.
13
+
14
+ ## Minimal shape
15
+
16
+ ```md
17
+ ---
18
+ schema: devspace-agent/v1
19
+ name: reviewer
20
+ description: Read-only reviewer for bugs, security risks, and missing tests.
21
+ provider: codex
22
+ model: gpt-5.4
23
+ thinking: high
24
+ disabled: false
25
+ ---
26
+
27
+ You are a read-only reviewer. Do not edit files.
28
+ Focus on correctness, security, test gaps, and maintainability.
29
+ Cite files and return concise findings.
30
+ ```
31
+
32
+ ## Frontmatter fields
33
+
34
+ ### `schema`
35
+
36
+ Optional schema identifier:
37
+
38
+ ```yaml
39
+ schema: devspace-agent/v1
40
+ ```
41
+
42
+ ### `name`
43
+
44
+ Stable profile identifier shown to the model and accepted by:
45
+
46
+ ```bash
47
+ devspace agents run <name> "<prompt>"
48
+ ```
49
+
50
+ Use lowercase kebab-case names. If omitted, DevSpace uses the filename without
51
+ `.md`.
52
+
53
+ ### `description`
54
+
55
+ Required short purpose. This is exposed by `open_workspace` so the supervising
56
+ model can choose the right profile.
57
+
58
+ ### `provider`
59
+
60
+ Required built-in provider id:
61
+
62
+ ```yaml
63
+ provider: codex
64
+ provider: claude
65
+ provider: opencode
66
+ provider: pi
67
+ provider: cursor
68
+ provider: copilot
69
+ ```
70
+
71
+ Unsupported or custom providers are rejected. DevSpace maps providers to their
72
+ native integration:
73
+
74
+ - `codex`: Codex SDK
75
+ - `claude`: Claude Code SDK
76
+ - `opencode`: OpenCode SDK
77
+ - `pi`: Pi RPC mode
78
+ - `cursor`: ACP
79
+ - `copilot`: ACP
80
+
81
+ ### `model`
82
+
83
+ Optional provider model id or alias.
84
+
85
+ ```yaml
86
+ model: gpt-5.4
87
+ model: sonnet
88
+ ```
89
+
90
+ ### `thinking`
91
+
92
+ Optional provider reasoning effort, thinking level, or model variant. If omitted,
93
+ DevSpace lets the provider default apply. Values are provider-specific
94
+ passthrough strings; DevSpace does not translate names between harnesses.
95
+
96
+ ```yaml
97
+ thinking: low
98
+ thinking: high
99
+ thinking: xhigh
100
+ ```
101
+
102
+ DevSpace passes this through to providers that expose a matching control:
103
+
104
+ - `claude`: SDK effort with adaptive thinking.
105
+ - `codex`: SDK model reasoning effort.
106
+ - `pi`: `--thinking`.
107
+ - `opencode`: model variant.
108
+ - `cursor` and `copilot`: ACP thought-level config when supported.
109
+
110
+ ### `disabled`
111
+
112
+ Optional boolean. Disabled profiles are not exposed.
113
+
114
+ ```yaml
115
+ disabled: true
116
+ ```
117
+
118
+ ## Markdown body
119
+
120
+ The body is the profile prompt prefix DevSpace prepends when launching that
121
+ profile. It is not included in `open_workspace` by default.
122
+
123
+ Recommended body content:
124
+
125
+ - When to use this profile.
126
+ - Whether the worker should act read-only or may make changes.
127
+ - Output format.
128
+ - Review or testing expectations.
129
+
130
+ ## Model-facing workflow
131
+
132
+ The Subagent skill teaches only:
133
+
134
+ ```bash
135
+ devspace agents ls
136
+ devspace agents run <profile-or-id> "<prompt>"
137
+ devspace agents show <id>
138
+ ```
139
+
140
+ `open_workspace` exposes compact profile metadata:
141
+
142
+ ```json
143
+ {
144
+ "name": "reviewer",
145
+ "description": "Read-only reviewer for bugs, security risks, and missing tests.",
146
+ "provider": "codex",
147
+ "model": "gpt-5.4",
148
+ "thinking": "high"
149
+ }
150
+ ```
151
+
152
+ `devspace agents ls` lists existing subagent sessions for the current workspace;
153
+ it does not list profile definitions.
154
+
155
+ The full profile body stays out of the model context until DevSpace launches the
156
+ profile.
157
+
158
+ ## Current non-goals
159
+
160
+ - Custom or arbitrary CLI-backed agents.
161
+ - Inferring changed files, tests, or diffs from worker output.
162
+ - Exposing raw provider transcripts by default.
163
+ - Teaching the model provider-specific CLIs.
164
+ - First-class MCP agent tools. Future tools should wrap the same provider
165
+ adapter registry used by `devspace agents`.
@@ -79,11 +79,29 @@ new context during later tool calls.
79
79
 
80
80
  Skills are enabled by default for coding-agent workflows.
81
81
 
82
- DevSpace discovers skills from:
82
+ DevSpace discovers standard Agent Skills from:
83
83
 
84
- - `DEVSPACE_AGENT_DIR`, which defaults to `~/.codex`
85
- - project `.pi/skills`
86
- - optional paths from `DEVSPACE_SKILL_PATHS`
84
+ - `~/.agents/skills`
85
+ - project `.agents/skills`
86
+ - `~/.devspace/skills`
87
+
88
+ It also keeps compatibility with:
89
+
90
+ - the bundled `subagent-delegation` skill when `DEVSPACE_SUBAGENTS=1`, unless `~/.devspace/skills/subagent-delegation/SKILL.md` exists
91
+ - `DEVSPACE_AGENT_DIR/skills`, defaulting to `~/.codex/skills`
92
+ - additional paths from `DEVSPACE_SKILL_PATHS`
93
+
94
+ When Subagents are enabled, DevSpace discovers agent profiles
95
+ from `~/.devspace/agents/*.md` and project `.devspace/agents/*.md`.
96
+ `open_workspace` exposes a compact catalog with profile names, descriptions,
97
+ providers, and optional models/thinking levels so the model can choose a configured agent
98
+ without seeing provider-specific launch details.
99
+
100
+ Example profiles are packaged under `examples/agents/` for users who want
101
+ starter templates. Copy or adapt them into one of the active profile directories
102
+ before use.
103
+
104
+ Legacy project paths such as `.pi/skills` can be added through `DEVSPACE_SKILL_PATHS` when needed.
87
105
 
88
106
  When `open_workspace` returns matching skills, the model should read the
89
107
  advertised `SKILL.md` before following that skill.
@@ -93,11 +111,16 @@ Skill paths may be outside the workspace. DevSpace only permits reading:
93
111
  - advertised `SKILL.md` files
94
112
  - files under a skill directory after that skill's `SKILL.md` has been read
95
113
 
96
- Set `DEVSPACE_SKILLS=0` to hide skills from workspace output.
114
+ Set `DEVSPACE_SKILLS=0` to hide skills from workspace output. Set
115
+ `DEVSPACE_SUBAGENTS=1` to expose the experimental subagent catalog and
116
+ `subagent-delegation` skill. That skill teaches the minimal
117
+ `devspace agents ls`, `devspace agents run`, and `devspace agents show`
118
+ workflow. The catalog comes from `open_workspace`; `devspace agents ls` lists
119
+ existing subagent sessions for that workspace.
97
120
 
98
121
  ## Tool Names
99
122
 
100
- Short names are the default:
123
+ DevSpace exposes these tool names:
101
124
 
102
125
  - `open_workspace`
103
126
  - `read`
@@ -109,15 +132,21 @@ By default, DevSpace also runs in `DEVSPACE_TOOL_MODE=minimal`, so dedicated
109
132
  `grep`, `glob`, and `ls` tools are hidden. Use `bash` with command-line tools
110
133
  such as `rg`, `find`, and `ls` for search and directory inspection.
111
134
 
112
- Legacy names are available with `DEVSPACE_TOOL_NAMING=legacy`:
135
+ Use `DEVSPACE_TOOL_MODE=full` to restore dedicated search and directory tools.
136
+
137
+ The experimental Codex-style surface is enabled with
138
+ `DEVSPACE_TOOL_MODE=codex`. It exposes:
113
139
 
114
140
  - `open_workspace`
115
- - `read_file`
116
- - `write_file`
117
- - `edit_file`
118
- - `run_shell`
141
+ - `read`
142
+ - `apply_patch`
143
+ - `exec_command`
144
+ - `write_stdin`
119
145
 
120
- Use `DEVSPACE_TOOL_MODE=full` to restore dedicated search and directory tools.
146
+ In this mode, `write`, `edit`, `bash`, `grep`, `glob`, and `ls` are not
147
+ registered. `exec_command` returns a process session ID when a command is still
148
+ running after its yield window. Use `write_stdin` to poll it, send input, resize
149
+ a PTY, or send Ctrl-C. Set `tty: true` only for commands that need a terminal.
121
150
 
122
151
  ## Show Changes
123
152
 
@@ -129,6 +158,11 @@ and shell tools. The aggregate `show_changes` tool is not exposed by default.
129
158
  Use `DEVSPACE_WIDGETS=off` to disable widget UI, or `DEVSPACE_WIDGETS=changes`
130
159
  to expose the aggregate show-changes flow.
131
160
 
161
+ When `show_changes` is exposed, models should call it exactly once after the
162
+ final file modification in any turn that changes files. The tool only requires
163
+ the `workspaceId`; DevSpace automatically compares against the last shown
164
+ checkpoint and advances that checkpoint after rendering the aggregate diff.
165
+
132
166
  ## Shell Use
133
167
 
134
168
  The shell tool is for commands that belong in a terminal:
@@ -59,19 +59,23 @@ MCP clients discover metadata from:
59
59
 
60
60
  ## Tool Modes
61
61
 
62
- `DEVSPACE_TOOL_NAMING` controls tool names.
62
+ `DEVSPACE_TOOL_MODE` controls the tool surface.
63
63
 
64
64
  | Value | Behavior |
65
65
  | --- | --- |
66
- | `short` | Default. Uses `read`, `edit`, `bash`, and related names. |
67
- | `legacy` | Uses `read_file`, `edit_file`, `run_shell`, and related names. |
66
+ | `minimal` | Default. Exposes `open_workspace`, `read`, `write`, `edit`, and `bash`. Clients use `bash` with tools such as `rg`, `find`, and `ls` for inspection. |
67
+ | `full` | Exposes the minimal tools plus dedicated `grep`, `glob`, and `ls` tools. |
68
+ | `codex` | Experimental. Exposes `open_workspace`, `read`, `apply_patch`, `exec_command`, and `write_stdin`. Existing mutation and shell tools are hidden. |
68
69
 
69
- `DEVSPACE_TOOL_MODE` controls the tool surface.
70
+ `DEVSPACE_MINIMAL_TOOLS` remains a backward-compatible alias when
71
+ `DEVSPACE_TOOL_MODE` is unset: `1` selects `minimal` and `0` selects `full`.
72
+ The `codex` mode must be selected through `DEVSPACE_TOOL_MODE` and always uses
73
+ its fixed short tool names regardless of `DEVSPACE_TOOL_NAMING`.
70
74
 
71
- | Value | Behavior |
72
- | --- | --- |
73
- | `minimal` | Default. Disables dedicated search and list tools. Clients use the shell tool with `rg`, `grep`, `find`, `ls`, or `tree` for inspection. |
74
- | `full` | Enables dedicated `grep`, `glob`, and `ls` tools. |
75
+ Codex-mode commands run without a PTY by default. Set `tty: true` on
76
+ `exec_command` for interactive terminal programs. PTY support uses the optional
77
+ `node-pty` dependency; `write_stdin` can send input, poll output, and resize PTY
78
+ sessions.
75
79
 
76
80
  ## Widgets
77
81
 
@@ -88,13 +92,45 @@ MCP clients discover metadata from:
88
92
  | Variable | Purpose |
89
93
  | --- | --- |
90
94
  | `DEVSPACE_SKILLS` | Set to `0` to hide skills. Enabled by default. |
91
- | `DEVSPACE_AGENT_DIR` | Defaults to `~/.codex`. |
92
- | `DEVSPACE_SKILL_PATHS` | Optional comma-separated skill directories. |
95
+ | `DEVSPACE_SUBAGENTS` | Set to `1` to expose configured agent profiles as Subagents. Experimental and disabled by default. |
96
+ | `DEVSPACE_AGENT_DIR` | Defaults to `~/.codex`; its `skills` child is loaded for compatibility. |
97
+ | `DEVSPACE_SKILL_PATHS` | Optional comma-separated additional skill directories. |
98
+
99
+ DevSpace discovers standard Agent Skills from:
100
+
101
+ - `~/.agents/skills`
102
+ - project `.agents/skills`
103
+ - `~/.devspace/skills`
104
+
105
+ It also keeps compatibility with:
106
+
107
+ - the bundled `subagent-delegation` skill when `DEVSPACE_SUBAGENTS=1`, unless `~/.devspace/skills/subagent-delegation/SKILL.md` exists
108
+ - `DEVSPACE_AGENT_DIR/skills`, defaulting to `~/.codex/skills`
109
+ - additional paths from `DEVSPACE_SKILL_PATHS`
110
+
111
+ When Subagents are enabled, DevSpace discovers agent profiles
112
+ from:
113
+
114
+ - `~/.devspace/agents/*.md`
115
+ - project `.devspace/agents/*.md`
116
+
117
+ `open_workspace` returns a compact catalog containing profile names,
118
+ descriptions, providers, and optional models/thinking levels so the host model can choose an
119
+ agent without reading provider-specific launch details. `devspace agents ls`
120
+ lists existing subagent sessions for the current workspace, scoped by the
121
+ workspace environment injected into shell commands. The `subagent-delegation`
122
+ skill teaches the model to use only the minimal `devspace agents ls`,
123
+ `devspace agents run`, and `devspace agents show` workflow.
124
+
125
+ Starter profile templates are available under `examples/agents/`. Copy or adapt
126
+ them into one of the active profile directories before use.
127
+
128
+ Legacy project paths such as `.pi/skills` can be added through `DEVSPACE_SKILL_PATHS` when needed.
93
129
 
94
130
  Example:
95
131
 
96
132
  ```bash
97
- DEVSPACE_SKILL_PATHS="$HOME/.codex/skills,$HOME/.claude/skills" \
133
+ DEVSPACE_SKILL_PATHS="$HOME/.claude/skills,$HOME/company/skills" \
98
134
  npx @waishnav/devspace serve
99
135
  ```
100
136
 
@@ -123,7 +159,6 @@ DEVSPACE_ALLOWED_ROOTS="$HOME/personal,$HOME/work" \
123
159
  DEVSPACE_PUBLIC_BASE_URL="https://devspace.example.com" \
124
160
  DEVSPACE_WORKTREE_ROOT="$HOME/.devspace/worktrees" \
125
161
  DEVSPACE_TOOL_MODE="minimal" \
126
- DEVSPACE_TOOL_NAMING="short" \
127
162
  DEVSPACE_WIDGETS="full" \
128
163
  npx @waishnav/devspace serve
129
164
  ```
package/docs/gotchas.md CHANGED
@@ -15,7 +15,7 @@ If you installed globally, confirm npm's global bin directory is on `PATH`.
15
15
 
16
16
  ## Unsupported Node Version
17
17
 
18
- DevSpace requires Node `>=20.12 <27`.
18
+ DevSpace requires Node `>=22.19 <27`.
19
19
 
20
20
  Check:
21
21
 
@@ -193,11 +193,30 @@ Skills are enabled by default. Check:
193
193
  DEVSPACE_SKILLS=1 npx @waishnav/devspace serve
194
194
  ```
195
195
 
196
- DevSpace looks in:
196
+ DevSpace looks in standard Agent Skills locations:
197
197
 
198
- - `DEVSPACE_AGENT_DIR`, defaulting to `~/.codex`
199
- - project `.pi/skills`
200
- - `DEVSPACE_SKILL_PATHS`
198
+ - `~/.agents/skills`
199
+ - project `.agents/skills`
200
+ - `~/.devspace/skills`
201
+
202
+ It also checks compatibility and custom paths:
203
+
204
+ - the bundled `subagent-delegation` skill when `DEVSPACE_SUBAGENTS=1`, unless `~/.devspace/skills/subagent-delegation/SKILL.md` exists
205
+ - `DEVSPACE_AGENT_DIR/skills`, defaulting to `~/.codex/skills`
206
+ - additional paths from `DEVSPACE_SKILL_PATHS`
207
+
208
+ When `DEVSPACE_SUBAGENTS=1`, DevSpace loads agent profiles from
209
+ `~/.devspace/agents/*.md` and project `.devspace/agents/*.md`, then exposes a
210
+ compact profile catalog through `open_workspace`. The bundled
211
+ `subagent-delegation` skill keeps the model-facing workflow to
212
+ `devspace agents ls`, `devspace agents run`, and `devspace agents show`.
213
+ `devspace agents ls` lists existing subagent sessions, not profile
214
+ definitions.
215
+
216
+ Packaged agent profile examples under `examples/agents/` are starter templates.
217
+ Copy or adapt them into one of the active profile directories before use.
218
+
219
+ Legacy project paths such as `.pi/skills` can be added through `DEVSPACE_SKILL_PATHS` when needed.
201
220
 
202
221
  If a skill appears in `open_workspace`, the model must read that skill's
203
222
  `SKILL.md` before reading other files inside the skill directory.
package/docs/setup.md CHANGED
@@ -5,7 +5,7 @@ projects through DevSpace.
5
5
 
6
6
  ## Requirements
7
7
 
8
- - Node `>=20.12 <27`; Node 22 LTS is recommended
8
+ - Node `>=22.19 <27`
9
9
  - npm
10
10
  - Git
11
11
  - Bash, including Git Bash or WSL on Windows
@@ -0,0 +1,30 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: claude-implementer
4
+ description: Implementation profile for multi-file changes, careful refactors, and failing test repair.
5
+ provider: claude
6
+ model: sonnet
7
+ thinking: high
8
+ ---
9
+
10
+ Take ownership of the requested implementation while keeping the change narrow.
11
+ Start by locating the smallest set of files that define the behavior, then make
12
+ the change in the existing style.
13
+
14
+ Working rules:
15
+
16
+ - Preserve existing public behavior unless the prompt explicitly asks to change it.
17
+ - Avoid broad rewrites, dependency churn, formatting-only edits, and speculative cleanup.
18
+ - Update or add focused tests when behavior changes.
19
+ - Run the most relevant checks available for the touched area, or explain why they could not run.
20
+ - If the task is ambiguous or blocked by missing context, stop with a clear blocker instead of guessing.
21
+
22
+ Report:
23
+
24
+ ```text
25
+ summary:
26
+ tests_run:
27
+ blockers:
28
+ risks:
29
+ follow_up_needed:
30
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: codex-explorer
4
+ description: Read-only profile for bounded codebase questions, architecture tracing, and risk discovery.
5
+ provider: codex
6
+ model: gpt-5.4-mini
7
+ thinking: high
8
+ ---
9
+
10
+ Investigate without editing. Use this profile to answer bounded questions such
11
+ as how a feature works, where a behavior is implemented, what depends on a
12
+ module, or which files are relevant before a change.
13
+
14
+ - Do not modify files.
15
+ - Prefer direct evidence from code over broad repository summaries.
16
+ - Cite file paths, symbols, and commands that support the conclusion.
17
+ - Separate confirmed facts from inferences.
18
+ - Call out unknowns that would require running the app, inspecting external state, or asking the user.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ answer:
24
+ evidence:
25
+ relevant_files:
26
+ unknowns:
27
+ ```
@@ -0,0 +1,29 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: codex-qa-tester
4
+ description: Manual QA profile for browser testing, workflow verification, and regression checks.
5
+ provider: codex
6
+ model: gpt-5.4-mini
7
+ thinking: high
8
+ ---
9
+
10
+ Verify the requested user workflow from the outside, like a QA pass before
11
+ release. Prefer running the app and using browser tools when the task involves
12
+ UI, navigation, forms, visual states, or end-to-end behavior.
13
+
14
+ - Do not modify files.
15
+ - Start from the acceptance criteria in the prompt; turn vague requests into a small checklist.
16
+ - Use the browser to exercise real interactions when a local preview or dev server is available.
17
+ - Cover the main happy path plus at least one realistic edge or failure state.
18
+ - Capture exact reproduction steps for every issue found.
19
+ - Distinguish confirmed failures from untested risks.
20
+
21
+ Report:
22
+
23
+ ```text
24
+ qa_summary:
25
+ checks_run:
26
+ issues_found:
27
+ reproduction_steps:
28
+ untested_risks:
29
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: codex-worker
4
+ description: Implementation profile for focused coding tasks with clear acceptance criteria.
5
+ provider: codex
6
+ model: gpt-5.4
7
+ ---
8
+
9
+ Implement the requested change with minimal surface area. Use this profile when
10
+ the prompt already defines the desired behavior or acceptance criteria.
11
+
12
+ - Read nearby code before editing.
13
+ - Match existing project patterns instead of introducing new abstractions.
14
+ - Keep unrelated files, formatting, and dependency metadata untouched.
15
+ - Prefer targeted tests for the changed behavior.
16
+ - Surface build, test, or environment failures exactly; do not summarize them as success.
17
+
18
+ Report:
19
+
20
+ ```text
21
+ summary:
22
+ tests_run:
23
+ blockers:
24
+ notes:
25
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: copilot-reviewer
4
+ description: Read-only review profile for bug risk, regressions, and missing test coverage.
5
+ provider: copilot
6
+ ---
7
+
8
+ Review the requested code path or diff without editing. Prioritize concrete
9
+ bugs, behavior regressions, security issues, and missing tests over style
10
+ preferences.
11
+
12
+ - Do not modify files.
13
+ - Lead with findings ordered by severity.
14
+ - Tie each finding to a specific file, symbol, or behavior.
15
+ - Ignore purely subjective style feedback unless it creates a maintenance risk.
16
+ - If no issue is found, say that clearly and mention any residual test or runtime risk.
17
+
18
+ Report:
19
+
20
+ ```text
21
+ findings:
22
+ evidence:
23
+ test_gaps:
24
+ residual_risk:
25
+ ```
@@ -0,0 +1,26 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: cursor-agent-worker
4
+ description: Implementation profile for UI-heavy changes, small refactors, and alternative solution passes.
5
+ provider: cursor
6
+ model: composer-2.5-fast
7
+ ---
8
+
9
+ Work on the requested change with a bias toward practical, shippable edits. This
10
+ profile is useful for UI polish, small refactors, and trying an alternate
11
+ implementation path.
12
+
13
+ - Keep edits scoped to the requested workflow or component.
14
+ - Preserve existing visual language and interaction patterns.
15
+ - Avoid changing data contracts or public APIs unless the prompt asks for it.
16
+ - Check responsive and empty/error states when touching UI.
17
+ - Report what was verified and what still needs a human look.
18
+
19
+ Report:
20
+
21
+ ```text
22
+ summary:
23
+ verification:
24
+ blockers:
25
+ open_questions:
26
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: opencode-explorer
4
+ description: Read-only profile for fast relevant-file discovery and small architecture questions.
5
+ provider: opencode
6
+ model: opencode/deepseek-v4-flash-free
7
+ thinking: high
8
+ ---
9
+
10
+ Find the answer quickly without editing. Use this profile when the main need is
11
+ to identify relevant files, understand a small code path, or gather enough
12
+ context before implementation.
13
+
14
+ - Do not modify files.
15
+ - Search first, then read only the files needed to answer the prompt.
16
+ - Prefer precise file paths and symbols over broad summaries.
17
+ - Keep the response short unless the code path is genuinely complex.
18
+ - State uncertainty when evidence is incomplete.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ answer:
24
+ evidence:
25
+ relevant_files:
26
+ unknowns:
27
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema: devspace-agent/v1
3
+ name: pi-reviewer
4
+ description: Read-only review profile for quick risk checks and targeted implementation questions.
5
+ provider: pi
6
+ model: openai-codex/gpt-5.5
7
+ thinking: high
8
+ ---
9
+
10
+ Review or investigate only the area requested. This profile is best for quick
11
+ risk checks, small diffs, and targeted questions where a concise answer is more
12
+ valuable than a broad audit.
13
+
14
+ - Do not modify files.
15
+ - Focus on actionable issues that could affect correctness, safety, or tests.
16
+ - Cite the specific code evidence for each point.
17
+ - Avoid broad rewrite suggestions unless the current design blocks the requested behavior.
18
+ - Keep low-confidence observations under `unknowns`.
19
+
20
+ Report:
21
+
22
+ ```text
23
+ findings:
24
+ evidence:
25
+ risk_level:
26
+ unknowns:
27
+ ```