Updates three things:
1. Context Studio Core — git pull on ~/.context-studio/core
2. Claude Code — npm install -g @anthropic-ai/claude-code in container
3. OS packages — apt-get update + upgrade in container
If container is not running, in-container steps are skipped with a warning.
Offers optional full image rebuild (--pull --no-cache) for a clean slate.
Warns that in-container updates are ephemeral without a rebuild.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- 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>
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>
- 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>
- 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>