feat(features): add devcontainer feature for AI coding agents#57
Merged
feat(features): add devcontainer feature for AI coding agents#57
Conversation
Current behavior: N/A - new feature New behavior: Adds a devcontainer feature that installs Claude Code, Gemini CLI, and Codex CLI via npm. The feature supports: - Enable/disable each agent independently - Pin specific versions or use "latest" - Soft dependency on Node.js feature via installsAfter The feature is published to ghcr.io/gilmanlab/features/agents and is dogfooded in the project's own devcontainer configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
headjack | 4f8b2aa | Commit Preview URL Branch Preview URL |
Jan 05 2026, 07:40 PM |
Current behavior: The koalaman/shellcheck-action reference was not resolvable, causing the lint job to fail. New behavior: Use shellcheck directly via find command. Ubuntu runners have shellcheck pre-installed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Current behavior: The devcontainer features test command failed because it expected src/ and test/ directories at the project root. New behavior: Restructured to use the expected layout: - images/features/src/agents/ - feature source files - images/features/test/agents/ - test scenarios and scripts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Current behavior: The --features path was incorrectly appended to --project-folder, resulting in a non-existent path. New behavior: Use just the feature name since --project-folder handles the base path. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Current behavior: Feature failed on base images without Node.js, and test-default scenario was missing a test script. New behavior: - install.sh now auto-installs Node.js via apt/apk/dnf/yum if npm is not available, making the feature self-contained - Added test-default.sh script for the test-default scenario 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ghcr.io/gilmanlab/features/agents) that installs Claude Code, Gemini CLI, and Codex CLIChanges
images/features/agents/devcontainer-feature.jsonimages/features/agents/install.shimages/features/agents/README.mdimages/features/agents/test/.github/workflows/features.yml.devcontainer/devcontainer.jsonTest plan
devcontainer features testghcr.io/gilmanlab/features/agents:1🤖 Generated with Claude Code