Commit graph

10 commits

Author SHA1 Message Date
6aa4c22d9e Fix race condition: wait for container ready before launching CS Core
podman run -d returns before the container process is running.
CS Core's claude-code check immediately calls our wrapper, which
found the container not yet running and exited 1 — causing the
"claude-code not found" error.

Add a poll loop (10 x 0.5s) that waits for State.Running=true
before setting PATH and launching CS Core.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:42:59 +01:00
120fc913f4 Warn user that first start.sh run builds the image and takes time
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:34:08 +01:00
dcc7a2aed7 Implement Option B: CS Core on host, agents inside container
- New lib/container.sh generates three files per project:
  - bin/claude: wrapper that routes every claude call into the
    agents container via `podman/docker exec --workdir $PWD`
  - start.sh: builds image if missing, starts detached container
    with project mounted at same absolute path as host, prepends
    bin/ to PATH, then launches CS Core on the host
  - stop.sh: stops and removes the agents container

- Container mounts project at identical host path so CS Core's
  working directory paths resolve correctly inside the container
- TTY detection in wrapper: uses -it when stdin is a terminal,
  -i otherwise (node-pty compatibility)
- Container stopped automatically when CS Core exits

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:29:38 +01:00
48011dd915 Show prominent cd command after wizard completes
- Print green "Enter your project now: cd <path>" at the top of next steps
- Add "(must be inside the project folder)" note to CLI option

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:18:30 +01:00
af065f0def Auto-detect existing projects directory, default to ~/Projects
Checks ~/Projects, ~/projects, ~/Dev, ~/Workspace, ~/Code, ~/src etc.
Uses the first one that exists; falls back to ~/Projects if none found.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:13:37 +01:00
431e5493fc Fix set -e bug causing silent exit after valid input
- Replace all `[[ condition ]] && die` with `if/fi` — the && pattern
  exits silently when the condition is false under set -e
- Removed -e from set flags (kept -uo pipefail), all error paths are
  now explicit
- Declare `input` as local in ask/ask_yn/ask_choice to prevent leakage
- Use `read -r input || true` to handle EOF safely
- Fix ask_choice arithmetic to avoid (()) triggering exit on false

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:11:31 +01:00
452a603cdf Add auto-install for missing prerequisites
- New lib/prereqs.sh: detects distro (Arch, Debian/Ubuntu, RHEL/Fedora,
  openSUSE) and installs git + podman/docker if missing
- Podman preferred over docker; user chooses if neither present
- Docker install also enables systemd service and adds user to docker group
- README updated: prereqs table now shows auto-install support

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:05:08 +01:00
8d089c05a2 Polish README with icons and symbols
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 11:56:13 +01:00
09ff27be92 Add Context Studio Wizard — project scaffolding CLI
- wizard.sh: interactive bash wizard that scaffolds new CS projects
- lib/: utils, core install, project structure, workflow generation
- templates/: Dockerfile, devcontainer.json, agent presets (minimal/standard), system.json, roles, hook rules
- README: setup, usage, mobility workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 11:49:04 +01:00
cd5b28919c Initial commit 2026-03-02 10:46:56 +01:00