Skip to content

feat(claude-dev + pnpm-store): share host OAuth credentials + fix dotfiles-sync store-dir#36

Merged
baxyz merged 5 commits into
mainfrom
feat/claude-dev-credentials
Jun 13, 2026
Merged

feat(claude-dev + pnpm-store): share host OAuth credentials + fix dotfiles-sync store-dir#36
baxyz merged 5 commits into
mainfrom
feat/claude-dev-credentials

Conversation

@baxyz

@baxyz baxyz commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • claude-dev: share host ~/.claude/.credentials.json via live symlink so les tokens Claude survivent aux rebuilds sans re-auth (bind-mount → postStart symlink, même architecture que dotfiles-sync)
  • claude-dev v1.0.2: refactor de setup-credentials.sh — simplification du setup symlink, description mise à jour
  • pnpm-store v1.0.6: le guard script postCreate re-applique maintenant activement store-dir dans ~/.npmrc (au lieu de juste vérifier), ce qui le rend résistant à dotfiles-sync ou tout autre outil qui écrase ~/.npmrc entre le build et le start — résout le bug où pnpm résolvait le store à <cwd>/.pnpm-store au lieu de /workspaces/.pnpm-store

Test plan

  • Rebuild le devcontainer — vérifier que ~/.claude/.credentials.json est un symlink valide sans re-auth
  • Lancer dotfiles-sync puis vérifier que pnpm config get store-dir retourne /workspaces/.pnpm-store
  • Vérifier que l'auto-switch pnpm (via packageManager) télécharge dans /workspaces/.pnpm-store et non dans <cwd>/.pnpm-store

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown

✅ PR Validation Passed

All checks passed!


📋 Pipeline Status

Job Status
🧾 Conventional Commits passing
🧪 Feature Tests passing
🐚 ShellCheck passing

🤖 Generated by @helpers4 CI • 2026-06-13

@baxyz
baxyz force-pushed the feat/claude-dev-credentials branch from e95728b to 3be5fa6 Compare June 13, 2026 22:07
baxyz and others added 5 commits June 13, 2026 22:23
Mount host ~/.claude/.credentials.json to a staging path at container
start, then symlink it into the container user's home. This means no
re-authentication is needed after a devcontainer rebuild, and token
refreshes propagate automatically in both directions.

Architecture mirrors dotfiles-sync: bind-mount to /mnt/h4claude/ at
build time, postStartCommand creates the symlink at runtime so $HOME
resolves correctly regardless of the container username.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- bump version to 1.0.2
- update description for clarity
- simplify credential symlink setup
- bump version to 1.0.6
- ensure store-dir persists in ~/.npmrc
… mount

The bind mount source ~/.claude must exist on the host before docker run
or the container fails to start. Added mkdir -p step to both test.yml
(push to main) and pr-validation.yml (PR checks), same pattern as
dotfiles-sync.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace unconditional PASS with checks that install.sh actually
deployed setup-credentials.sh at the expected path, made it executable,
and baked in TARGET_HOME.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@baxyz
baxyz force-pushed the feat/claude-dev-credentials branch from 3be5fa6 to 1a9226f Compare June 13, 2026 22:24
@baxyz
baxyz merged commit 3d8d5b7 into main Jun 13, 2026
30 checks passed
@baxyz
baxyz deleted the feat/claude-dev-credentials branch June 13, 2026 22:30
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