Skip to content

Conversation

@jmgilman
Copy link
Collaborator

@jmgilman jmgilman commented Jan 5, 2026

Summary

  • Adds a devcontainer feature (ghcr.io/gilmanlab/features/agents) that installs Claude Code, Gemini CLI, and Codex CLI
  • Each agent can be enabled/disabled independently with version pinning support
  • Includes CI workflow for linting, testing, and auto-publishing to GHCR
  • Dogfoods the feature in the project's own devcontainer

Changes

File Description
images/features/agents/devcontainer-feature.json Feature metadata with 6 options
images/features/agents/install.sh npm-based installation script
images/features/agents/README.md Documentation with usage examples
images/features/agents/test/ Test scenarios and scripts
.github/workflows/features.yml CI for lint, test, and publish
.devcontainer/devcontainer.json Dogfood the feature

Test plan

  • CI lint job validates JSON and runs shellcheck
  • CI test job runs devcontainer features test
  • After merge, feature publishes to ghcr.io/gilmanlab/features/agents:1

🤖 Generated with Claude Code

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>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 5, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

jmgilman and others added 4 commits January 5, 2026 11:29
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>
@jmgilman jmgilman merged commit e5b0c88 into master Jan 5, 2026
8 checks passed
@jmgilman jmgilman deleted the feat/devcontainer-agents-feature branch January 5, 2026 19:45
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.

2 participants