Support Crush as an IDE option #50

Open
opened 2026-02-24 04:16:28 +00:00 by cpfarhood · 2 comments
cpfarhood commented 2026-02-24 04:16:28 +00:00 (Migrated from github.com)

Summary

Add crush as a valid ide.type option alongside vscode, antigravity, and none. Crush is already installed in the Docker image but can only be used by manually launching it from a terminal. It should be a first-class IDE choice that launches automatically on container start.

Current Behavior

  • ide.type: vscode → launches VSCode via VNC
  • ide.type: antigravity → launches Google Antigravity via VNC
  • ide.type: none → no IDE, sleep infinity
  • Crush is installed at /usr/local/bin/crush but has no IDE integration

Proposed Behavior

  • ide.type: crush → launches Crush as the primary interface

Implementation Notes

Crush is a terminal-based AI coding agent (successor to OpenCode), not a GUI IDE. This means:

  1. No VNC needed — Crush runs in a terminal, similar to ide.type: none but with an active process
  2. Access via SSH or kubectl exec — users would connect via SSH (ssh.enabled: true) or kubectl exec rather than port 5800
  3. Liveness probe adjustment — with no VNC on port 5800, the probe should fall back to the SSH/TCP check (already handled by the none path)

Changes Required

  • scripts/startapp.sh: Add crush) case to the IDE switch:
    crush)
        echo "Launching Crush in: $WORKSPACE_DIR"
        cd "$WORKSPACE_DIR"
        exec crush
        ;;
    
  • chart/values.schema.json: Add "crush" to the ide.type enum
  • chart/values.yaml: Update comment to list crush as an option
  • Documentation: Update README.md and CLAUDE.md IDE references

Open Questions

  • Should ssh.enabled automatically be set to true when ide.type: crush? Terminal-only mode is most useful with SSH access.
  • Should we also add claude as an IDE type for the same pattern? (Claude Code is also a terminal agent installed in the image)
## Summary Add `crush` as a valid `ide.type` option alongside `vscode`, `antigravity`, and `none`. Crush is already installed in the Docker image but can only be used by manually launching it from a terminal. It should be a first-class IDE choice that launches automatically on container start. ## Current Behavior - `ide.type: vscode` → launches VSCode via VNC - `ide.type: antigravity` → launches Google Antigravity via VNC - `ide.type: none` → no IDE, `sleep infinity` - Crush is installed at `/usr/local/bin/crush` but has no IDE integration ## Proposed Behavior - `ide.type: crush` → launches Crush as the primary interface ### Implementation Notes Crush is a terminal-based AI coding agent (successor to OpenCode), not a GUI IDE. This means: 1. **No VNC needed** — Crush runs in a terminal, similar to `ide.type: none` but with an active process 2. **Access via SSH or `kubectl exec`** — users would connect via SSH (`ssh.enabled: true`) or `kubectl exec` rather than port 5800 3. **Liveness probe adjustment** — with no VNC on port 5800, the probe should fall back to the SSH/TCP check (already handled by the `none` path) ### Changes Required - **`scripts/startapp.sh`**: Add `crush)` case to the IDE switch: ```bash crush) echo "Launching Crush in: $WORKSPACE_DIR" cd "$WORKSPACE_DIR" exec crush ;; ``` - **`chart/values.schema.json`**: Add `"crush"` to the `ide.type` enum - **`chart/values.yaml`**: Update comment to list `crush` as an option - **Documentation**: Update README.md and CLAUDE.md IDE references ### Open Questions - Should `ssh.enabled` automatically be set to `true` when `ide.type: crush`? Terminal-only mode is most useful with SSH access. - Should we also add `claude` as an IDE type for the same pattern? (Claude Code is also a terminal agent installed in the image)
cpfarhood commented 2026-02-24 11:16:46 +00:00 (Migrated from github.com)

You may still need to restart the crush app during usage, might be smarter to have a terminal with ssh instead. Covers all the CLI based options.

You may still need to restart the crush app during usage, might be smarter to have a terminal with ssh instead. Covers all the CLI based options.
cpfarhood commented 2026-02-24 13:25:57 +00:00 (Migrated from github.com)

Let's use the WEB_TERMINAL option here for terminal based clients.
https://github.com/jlesage/docker-baseimage-gui?tab=readme-ov-file#environment-variables

Let's use the WEB_TERMINAL option here for terminal based clients. https://github.com/jlesage/docker-baseimage-gui?tab=readme-ov-file#environment-variables
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: farhoodlabs/devcontainer#50