create-claude-workspace 1.1.106 → 1.1.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -188,6 +188,10 @@ Git Platform (optional — for push, MR/PR, issues):
188
188
  GitHub: set GH_TOKEN=ghp_XXXXX before running
189
189
  GitLab: set GITLAB_TOKEN=glpat-XXXXX before running
190
190
 
191
+ Package Manager Configs (automatic):
192
+ ~/.npmrc and ~/.bunfig.toml are mounted into the container automatically.
193
+ Scoped registries (e.g., FontAwesome Pro) just work.
194
+
191
195
  Examples:
192
196
  npx create-claude-workspace docker
193
197
  npx create-claude-workspace docker --max-iterations 20
@@ -315,8 +319,19 @@ async function main() {
315
319
  if (existsSync(credentialsJson)) {
316
320
  info('Mounting host Claude auth credentials into container.');
317
321
  // NOT :ro — Claude CLI needs to write refreshed OAuth tokens back to this file
318
- const vol = ` - ${toDockerPath(credentialsJson)}:/home/claude/.claude/.credentials.json`;
319
- writeFileSync(AUTH_COMPOSE, `services:\n claude:\n volumes:\n${vol}\n`);
322
+ const vols = [` - ${toDockerPath(credentialsJson)}:/home/claude/.claude/.credentials.json`];
323
+ // Mount package manager configs from host home (scoped registries, auth tokens)
324
+ const hostNpmrc = join(home, '.npmrc');
325
+ const hostBunfig = join(home, '.bunfig.toml');
326
+ if (existsSync(hostNpmrc)) {
327
+ info('Mounting host ~/.npmrc into container.');
328
+ vols.push(` - ${toDockerPath(hostNpmrc)}:/home/claude/.npmrc:ro`);
329
+ }
330
+ if (existsSync(hostBunfig)) {
331
+ info('Mounting host ~/.bunfig.toml into container.');
332
+ vols.push(` - ${toDockerPath(hostBunfig)}:/home/claude/.bunfig.toml:ro`);
333
+ }
334
+ writeFileSync(AUTH_COMPOSE, `services:\n claude:\n volumes:\n${vols.join('\n')}\n`);
320
335
  }
321
336
  else {
322
337
  error('No Claude authentication found. Options:');
@@ -14,7 +14,6 @@ services:
14
14
  - NPM_REGISTRY
15
15
  - GH_TOKEN
16
16
  - GITLAB_TOKEN
17
- - FONTAWESOME_TOKEN
18
17
  - CLAUDE_DOCKER=1
19
18
 
20
19
  volumes:
@@ -41,20 +41,12 @@ if [[ -n "${GITLAB_TOKEN:-}" ]]; then
41
41
  gosu claude glab auth login --hostname gitlab.com --token "$GITLAB_TOKEN" 2>/dev/null || true
42
42
  fi
43
43
 
44
- # Bun scoped registriespropagate project .bunfig.toml or create from env var
45
- # Bun reads ~/.bunfig.toml (global) and $PWD/bunfig.toml (project). Docker volume
46
- # mounts can break project-level discovery, so we always copy to home as fallback.
47
- if [[ -f /project/.bunfig.toml ]]; then
44
+ # Package manager configsdocker-run.mts mounts host ~/.npmrc and ~/.bunfig.toml
45
+ # automatically. As fallback, copy project-level configs if host ones weren't mounted.
46
+ if [[ ! -f /home/claude/.bunfig.toml ]] && [[ -f /project/.bunfig.toml ]]; then
48
47
  cp /project/.bunfig.toml /home/claude/.bunfig.toml
49
48
  chown claude:claude /home/claude/.bunfig.toml
50
49
  echo "Copied project .bunfig.toml to claude home."
51
- elif [[ -n "${FONTAWESOME_TOKEN:-}" ]]; then
52
- cat > /home/claude/.bunfig.toml <<BUNEOF
53
- [install.scopes]
54
- "@fortawesome" = { token = "${FONTAWESOME_TOKEN}", url = "https://npm.fontawesome.com/" }
55
- BUNEOF
56
- chown claude:claude /home/claude/.bunfig.toml
57
- echo "Created .bunfig.toml from FONTAWESOME_TOKEN."
58
50
  fi
59
51
 
60
52
  # Auth pre-check — fail fast if no credentials available
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-workspace",
3
- "version": "1.1.106",
3
+ "version": "1.1.107",
4
4
  "description": "Scaffold a project with Claude Code agents for autonomous AI-driven development",
5
5
  "type": "module",
6
6
  "bin": {