feat(init): onboard CLI agent tooling - #144
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📝 WalkthroughWalkthroughThis change adds provider-aware agent tooling setup, managed skill installation, a workspace dashboard, and updated documentation. It also removes older Dynamic Workflow documentation and replaces workflow-specific dashboard presentation with summarized workspace data. ChangesAgent tooling configuration
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThe PR streamlines DevSpace onboarding, adds provider selection and managed installation of bundled agent skills, applies provider allowlists across direct agents and workflow workers, simplifies workflow documentation, and reduces the workspace UI to a compact workflow summary.
Confidence Score: 4/5The provider persistence issue should be fixed before merging because the documented environment flag can enable agent tooling in a state where every installed provider remains unusable. Opting out during initialization stores an explicit empty provider allowlist, and later feature-only environment overrides do not restore defaults, leaving direct agents and workflow agent calls unable to resolve any provider. Files Needing Attention: src/cli.ts, src/config.ts
|
| Filename | Overview |
|---|---|
| src/cli.ts | Adds the onboarding branches, provider selection, and skill installation, but persists an empty provider allowlist when tooling is disabled. |
| src/config.ts | Adds provider allowlist parsing and feature configuration; an explicitly empty persisted list overrides provider defaults after environment-based re-enablement. |
| src/skill-install.ts | Installs and safely updates managed bundled skills while preserving user-owned directories. |
| src/local-agent-availability.ts | Filters provider availability checks through the configured allowlist and rejects explicitly disabled providers. |
| src/workflow-providers.ts | Applies the same configured provider allowlist to workflow agent resolution. |
| src/ui/workspace-dashboard.ts | Replaces detailed workflow rendering with a compact workspace and active-workflow overview. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[devspace init] --> B{Enable agent tooling?}
B -- Yes --> C[Detect available providers]
C --> D[Select provider allowlist]
D --> E[Persist config]
E --> F[Install bundled agent skills]
B -- No --> G[Persist subagents false and empty providers]
G --> H[Later set DEVSPACE_SUBAGENTS=1]
H --> I[Feature enabled but provider allowlist remains empty]
I --> J[Agent and workflow resolution fails]
Reviews (1): Last reviewed commit: "docs: document CLI-only agent tooling" | Re-trigger Greptile
77b4973 to
37b2da9
Compare
37b2da9 to
a433fc7
Compare
a433fc7 to
a5fb6ad
Compare
a5fb6ad to
b0c0ff1
Compare
[gpt-5.4] RESPONDING ON BEHALF OF WAISHNAVFixed in |
|
|
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/cli.ts`:
- Around line 221-230: Update the DevspaceUserConfig construction to synchronize
the workflows capability with the subagents setting, preventing
files.config.workflows from remaining enabled when Agent Tooling is disabled.
Use the same explicit capability state as subagents while preserving the
existing workflow behavior when Agent Tooling is enabled, and verify the
resulting config is honored by the workflow reaper startup in server.ts.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fa822ece-aad1-4436-97fa-8f2cf72849df
📒 Files selected for processing (42)
README.mddocs/chatgpt-coding-workflow.mddocs/claude-code-dynamic-workflows.htmldocs/configuration.mddocs/dynamic-workflow/claude/README.mddocs/dynamic-workflow/claude/agent.mddocs/dynamic-workflow/claude/architecture.mddocs/dynamic-workflow/claude/cheatsheet.mddocs/dynamic-workflow/claude/concurrency.mddocs/dynamic-workflow/claude/control-and-io.mddocs/dynamic-workflow/claude/lifecycle.mddocs/dynamic-workflow/claude/limits.mddocs/dynamic-workflow/claude/opt-in.mddocs/dynamic-workflow/claude/orchestration.mddocs/dynamic-workflow/claude/patterns.mddocs/dynamic-workflow/claude/primitives.mddocs/dynamic-workflow/claude/resume.mddocs/dynamic-workflow/claude/script-contract.mddocs/dynamic-workflow/claude/usecases.mddocs/dynamic-workflow/claude/workflow-tool.mddocs/dynamic-workflow/devspace/plan.mddocs/dynamic-workflow/devspace/primitives-spec.mddocs/dynamic-workflows.mddocs/gotchas.mddocs/setup.mdpackage.jsonsrc/cli.test.tssrc/cli.tssrc/config.test.tssrc/config.tssrc/local-agent-availability.test.tssrc/local-agent-availability.tssrc/server.tssrc/skill-install.test.tssrc/skill-install.tssrc/ui/workspace-app.csssrc/ui/workspace-app.tsxsrc/ui/workspace-dashboard.tssrc/user-config.tssrc/workflow-cli.tssrc/workflow-providers.tssrc/workflow-worker.ts
💤 Files with no reviewable changes (19)
- docs/dynamic-workflow/claude/lifecycle.md
- docs/dynamic-workflow/claude/orchestration.md
- docs/dynamic-workflow/claude/resume.md
- docs/dynamic-workflow/claude/architecture.md
- docs/dynamic-workflow/claude/README.md
- docs/dynamic-workflow/claude/cheatsheet.md
- docs/dynamic-workflow/claude/opt-in.md
- docs/dynamic-workflow/claude/agent.md
- docs/claude-code-dynamic-workflows.html
- docs/dynamic-workflow/devspace/plan.md
- docs/dynamic-workflow/claude/limits.md
- docs/dynamic-workflow/claude/patterns.md
- docs/dynamic-workflow/claude/usecases.md
- docs/dynamic-workflow/claude/primitives.md
- docs/dynamic-workflow/claude/control-and-io.md
- docs/dynamic-workflow/claude/script-contract.md
- docs/dynamic-workflow/claude/workflow-tool.md
- docs/dynamic-workflow/devspace/primitives-spec.md
- docs/dynamic-workflow/claude/concurrency.md
| const config: DevspaceUserConfig = { | ||
| ...files.config, | ||
| host: files.config.host ?? "127.0.0.1", | ||
| port, | ||
| allowedRoots, | ||
| publicBaseUrl, | ||
| subagents: resolveSubagentsFlag(files.config), | ||
| subagents, | ||
| // Disabling the capability should not turn provider defaults into an | ||
| // explicit deny-all list if it is later enabled through the environment. | ||
| agentProviders: subagents ? agentProviders : files.config.agentProviders, |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Synchronize workflow state with Agent Tooling.
Line 227 updates only subagents. The spread at Line 222 preserves an existing workflows: true value. src/server.ts starts the workflow reaper when config.workflows is true.
If the user disables Agent Tooling, workflows can remain enabled and execute with the prior workflow setting. Persist the same explicit capability state for workflows, or provide a separate workflow setup option.
Proposed fix
publicBaseUrl,
subagents,
+ workflows: subagents,
// Disabling the capability should not turn provider defaults into anAs per coding guidelines, trace lifecycle and tool-surface contracts when changing a cross-cutting concept.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| const config: DevspaceUserConfig = { | |
| ...files.config, | |
| host: files.config.host ?? "127.0.0.1", | |
| port, | |
| allowedRoots, | |
| publicBaseUrl, | |
| subagents: resolveSubagentsFlag(files.config), | |
| subagents, | |
| // Disabling the capability should not turn provider defaults into an | |
| // explicit deny-all list if it is later enabled through the environment. | |
| agentProviders: subagents ? agentProviders : files.config.agentProviders, | |
| const config: DevspaceUserConfig = { | |
| ...files.config, | |
| host: files.config.host ?? "127.0.0.1", | |
| port, | |
| allowedRoots, | |
| publicBaseUrl, | |
| subagents, | |
| workflows: subagents, | |
| // Disabling the capability should not turn provider defaults into an | |
| // explicit deny-all list if it is later enabled through the environment. | |
| agentProviders: subagents ? agentProviders : files.config.agentProviders, |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/cli.ts` around lines 221 - 230, Update the DevspaceUserConfig
construction to synchronize the workflows capability with the subagents setting,
preventing files.config.workflows from remaining enabled when Agent Tooling is
disabled. Use the same explicit capability state as subagents while preserving
the existing workflow behavior when Agent Tooling is enabled, and verify the
resulting config is honored by the workflow reaper startup in server.ts.
Source: Coding guidelines
Setup now treats direct subagents and Dynamic Workflows as one Agent Tooling choice. It probes locally available providers, lets the user select the allowed set, persists that allowlist, and ensures disabled or unavailable providers and profiles never appear in model-facing results.
When enabled, setup installs DevSpace-managed copies of both skills under
~/.devspace/skills. Later setup runs update only marked copies and preserve user-owned directories with the same names. Remote MCP configuration is optional, so CLI-only harness users do not need a tunnel or server.The public docs now describe this single CLI architecture and the minimal
open_workspaceresponse, and remove the obsolete Claude and MCP workflow implementation bundle. Verified withnpm run typecheck, the full test suite, the production app build, andnpm pack --dry-run.Summary by CodeRabbit
New Features
Improvements
Documentation