feat(claude-code-passthrough): add global config passthrough #4

Merged
TimCane merged 17 commits from improvements into main 2026-06-05 12:21:52 +01:00
TimCane commented 2026-04-08 21:37:26 +01:00 (Migrated from github.com)

Summary

  • add opt-in passthroughHostConfig: copy a curated host ~/.claude subset (CLAUDE.md, settings.json, keybindings.json, commands/, skills/, agents/) into the container, copied not linked so container edits stay local
  • rename option version to claudeVersion and validate it before npm install
  • relocate staging dir to /opt/claude-code-passthrough
  • remove dead nodeVersion option; document node override in NOTES
  • warn instead of swallowing chown failure on the launcher shim
  • add NOTES.md (how it works, troubleshooting, uninstall/cleanup)
  • add CI: shellcheck job and docs-drift job

Test plan

  • ran locally: shellcheck --severity=warning clean, lint-mounts, JSON validation, bash -n
  • CI devcontainer features test covers scenarios: defaults, pinned-version, no-passthrough, missing-host-file, collisions, with-global-config
  • with-global-config asserts the curated config is copied (not symlinked) into the container ~/.claude
## Summary - add opt-in `passthroughHostConfig`: copy a curated host `~/.claude` subset (CLAUDE.md, settings.json, keybindings.json, commands/, skills/, agents/) into the container, copied not linked so container edits stay local - rename option `version` to `claudeVersion` and validate it before npm install - relocate staging dir to `/opt/claude-code-passthrough` - remove dead `nodeVersion` option; document node override in NOTES - warn instead of swallowing chown failure on the launcher shim - add NOTES.md (how it works, troubleshooting, uninstall/cleanup) - add CI: shellcheck job and docs-drift job ## Test plan - ran locally: shellcheck `--severity=warning` clean, lint-mounts, JSON validation, `bash -n` - CI `devcontainer features test` covers scenarios: defaults, pinned-version, no-passthrough, missing-host-file, collisions, with-global-config - with-global-config asserts the curated config is copied (not symlinked) into the container `~/.claude`
Sign in to join this conversation.
No description provided.