Skip to content

feat(agents): bundle GitHub CLI and persist gh login (v1.1.0)#2

Merged
arv merged 1 commit into
mainfrom
feat/bundle-gh-persist-login
Jun 11, 2026
Merged

feat(agents): bundle GitHub CLI and persist gh login (v1.1.0)#2
arv merged 1 commit into
mainfrom
feat/bundle-gh-persist-login

Conversation

@arv

@arv arv commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

What

Bumps the agents feature to v1.1.0:

  • Bundles the GitHub CLI — adds ghcr.io/devcontainers/features/github-cli to dependsOn, so gh ships with the single feature line (alongside Codex + Claude Code).
  • Persists the gh login across rebuilds — mounts a named volume devcontainer-gh-config at /home/node/.config/gh, with a postCreateCommand that chowns it for the node user. Log in once instead of after every rebuild.
  • Test asserts gh --version; README documents the bundling + persistence.

Notes

  • The gh-config volume is shared across all repos using the feature (gh auth is account-level, not repo-level) — intentional, documented.
  • Mount path hardcodes /home/node (the node base image we standardize on), consistent with existing .claude volume usage.

Follow-up (consumer side)

After this publishes, consumer repos can drop their explicit github-cli feature line — it comes via dependsOn.

🤖 Generated with Claude Code

- dependsOn github-cli so `gh` ships with the feature
- mount a named volume at ~/.config/gh so `gh auth login` survives rebuilds
- postCreateCommand chowns the volume for the node user

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot requested a review from cesara June 11, 2026 10:13
@arv arv merged commit c2042d7 into main Jun 11, 2026
3 checks passed
"description": "Installs the OpenAI Codex CLI and Claude Code so every dev container ships with both agents pre-installed.",
"version": "1.1.0",
"name": "AI Coding Agents (Codex + Claude Code + GitHub CLI)",
"description": "Installs the OpenAI Codex CLI, Claude Code, and the GitHub CLI so every dev container ships with the agents pre-installed. Persists the `gh` login across rebuilds via a named volume.",

@0xcadams 0xcadams Jun 11, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would mean that we're storing persistent GH credentials on the host machine and by default the gh credentials last ~indefinitely.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @grgbkr was mentioning using 1password for this?

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