Skip to content

Add OpenCode#118

Merged
j3soon merged 2 commits intomainfrom
feat/opencode
Apr 4, 2026
Merged

Add OpenCode#118
j3soon merged 2 commits intomainfrom
feat/opencode

Conversation

@j3soon
Copy link
Copy Markdown
Owner

@j3soon j3soon commented Apr 4, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added optional OpenCode CLI support across all workspace containers with configurable installation via build arguments.
    • Added documentation and setup instructions for OpenCode integration with llama.cpp backend support.
    • Implemented persistent storage for OpenCode credentials and configuration data across container runs.
    • Enabled hardware device access (GPU, audio, shared memory) for enhanced container functionality.
  • Documentation

    • New OpenCode module documentation with usage examples and prerequisites.
  • Chores

    • Updated environment setup scripts to provision OpenCode configuration directories.

@j3soon j3soon merged commit c0dfa58 into main Apr 4, 2026
1 of 2 checks passed
@j3soon j3soon deleted the feat/opencode branch April 4, 2026 09:08
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 4, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a9e41dfb-2ca0-48d2-a942-ab5645f4120a

📥 Commits

Reviewing files that changed from the base of the PR and between 6251e4f and f25d679.

📒 Files selected for processing (36)
  • README.md
  • aloha_ws/docker/Dockerfile
  • aloha_ws/docker/compose.yaml
  • delto_gripper_ws/docker/Dockerfile
  • delto_gripper_ws/docker/compose.yaml
  • docker_modules/install_opencode.sh
  • docs/docker-modules/opencode.md
  • docs/last-tested.md
  • docs/mkdocs.yml
  • gazebo_world_ws/docker/Dockerfile
  • gazebo_world_ws/docker/compose.yaml
  • go2_ws/docker/Dockerfile
  • go2_ws/docker/compose.yaml
  • h1_ws/docker/Dockerfile
  • h1_ws/docker/compose.yaml
  • husky_ws/docker/Dockerfile
  • husky_ws/docker/compose.yaml
  • kobuki_ws/docker/Dockerfile
  • kobuki_ws/docker/compose.yaml
  • orbslam3_ws/docker/Dockerfile
  • orbslam3_ws/docker/compose.yaml
  • scripts/setup_env_files.sh
  • scripts/setup_opencode_llamacpp.sh
  • stretch3_ws/docker/Dockerfile
  • stretch3_ws/docker/compose.yaml
  • template_ws/docker/Dockerfile
  • template_ws/docker/compose.yaml
  • tests/diff_base/docker/Dockerfile
  • tests/diff_base/docker/compose.yaml
  • tests/lint_diff_base.py
  • turtlebot3_ws/docker/Dockerfile
  • turtlebot3_ws/docker/compose.yaml
  • ur5_ws/docker/Dockerfile
  • ur5_ws/docker/compose.yaml
  • vlp_ws/docker/Dockerfile
  • vlp_ws/docker/compose.yaml

Walkthrough

This pull request adds comprehensive OpenCode CLI support across multiple Docker workspaces and development environments. It introduces an optional build-time installation script, documentation, and Docker configuration updates enabling users to opt-in to OpenCode CLI integration via build arguments and environment variable setup.

Changes

Cohort / File(s) Summary
Documentation and Navigation
README.md, docs/docker-modules/opencode.md, docs/last-tested.md, docs/mkdocs.yml
Added OpenCode module entry to README table, created comprehensive OpenCode documentation page covering setup/usage/authentication, updated navigation config and test tracking.
Installation Orchestration
docker_modules/install_opencode.sh, scripts/setup_env_files.sh, scripts/setup_opencode_llamacpp.sh
New OpenCode installer script with conditional OPENCODE flag check; extended environment setup to create OpenCode config directories; added llama.cpp configuration utility prompting for server details and generating opencode.json config.
Dockerfile OpenCode Support
*_ws/docker/Dockerfile, tests/diff_base/docker/Dockerfile
Added ARG OPENCODE="" build argument and installation steps copying/executing modules/install_opencode.sh to ~17 workspace Dockerfiles (aloha, delto_gripper, gazebo_world, go2, h1, husky, kobuki, orbslam3, stretch3, template, turtlebot3, ur5, vlp, and test base).
Docker Compose Build Arguments
*_ws/docker/compose.yaml, tests/diff_base/docker/compose.yaml
Updated build args across workspaces: disabled default feature flags for CARTOGRAPHER/RTABMAP/REALSENSE/CLAUDE_CODE/CODEX (switched from "YES" to commented-out), added new optional OPENCODE build arg entries (mostly commented by default, enabled only in template_ws).
Docker Compose Device and Volume Mounts
*_ws/docker/compose.yaml, tests/diff_base/docker/compose.yaml
Enabled hardware passthrough for /dev/dri, /dev/snd, /dev/shm (previously commented); added persistent volume mounts for OpenCode credentials/config at ${HOME}/docker/.config/opencode and ${HOME}/docker/.local/share/opencode across workspaces.
Test Infrastructure
tests/lint_diff_base.py
New Python test module validating presence of placeholder entries in diff_base compose configuration, ensuring template structure integrity.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Modifies same Dockerfile/compose patterns to add optional CLI installers with build-args and volume mounts, following the established pattern for CLAUDE_CODE/CODEX integration
  • Updates template_ws Dockerfile with new build ARG and module installer invocation pattern

Suggested labels

enhancement


🐇 Hops through Docker configs with glee,
OpenCode CLI joins the spree!
ARGs build, volumes mount with care,
Setup scripts guide users everywhere,
Configuration's complete, now compile and test with flair! 🚀

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/opencode

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant