97aabd3d75
Drop the Intended design section and PRD references; keep only What this is, Goals, Non-goals, Repository layout, Conventions, and When you're unsure. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
55 lines
2.4 KiB
Markdown
55 lines
2.4 KiB
Markdown
# claude-bottle
|
|
|
|
## What this is
|
|
|
|
claude-bottle spins up an isolated container for running Claude Code with a
|
|
curated set of skills and env vars. The point is to run Claude with broad
|
|
permissions inside a sandbox, so a misbehaving agent cannot reach the host.
|
|
Bash scripts orchestrate the container lifecycle and the copying of skills
|
|
and env vars into it.
|
|
|
|
## Goals
|
|
|
|
- Minimize risk of running claude with full permissions
|
|
- Allow me to easily spin up agent tasks in parallel
|
|
- Create isolated, well defined, easily updated, shareable agents
|
|
|
|
## Non-goals
|
|
|
|
- Communicating between agents directly
|
|
- Self hosted VMs (v1 uses local Docker containers, not VMs)
|
|
- Advanced agent auditing (lean on git history for auditing)
|
|
|
|
## Repository layout
|
|
|
|
- `README.md` — short public-facing description.
|
|
- `CLAUDE.md` — this file, orientation for future Claude sessions.
|
|
- `.gitignore` — OS junk.
|
|
- `claude-bottle.json` — manifest of named agents (env / skills / prompt
|
|
per agent), consumed by `cli.sh`. See "Manifest" under
|
|
"Intended design".
|
|
- `docs/INDEX.md` — pointer to the journal and research notes.
|
|
- `docs/JOURNAL.md` — append-only log of decisions and state changes.
|
|
- `docs/prds/` — product requirement docs.
|
|
- `docs/research/` — research notes (empty for now, kept tracked via `.gitkeep`).
|
|
- `.claude/skills/init-entry/` — project-local Claude Code skill providing `/init-entry` for adding journal entries. Snapshotted from `~/.claude/skills/init-entry/` at scaffold time; refresh deliberately if it drifts.
|
|
|
|
## Conventions
|
|
|
|
- Text-driven content. `docs/JOURNAL.md` is an append-only stream of thought,
|
|
newest first. Entries are timestamps followed by freeform prose — no
|
|
templates, no required sections. Add entries with `/init-entry`.
|
|
- Product requirement docs live in `docs/prds/`.
|
|
- Research notes live in `docs/research/`.
|
|
- Low dependencies by default. The project is bash-first; ask before adding new
|
|
tools, runtimes, or package managers.
|
|
- Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
|
|
`<type>[(scope)][!]: <description>`, where `<type>` is one of `feat`, `fix`,
|
|
`docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`.
|
|
A `commit-msg` hook in `.githooks/` enforces this. Activate it once per clone
|
|
with `git config core.hooksPath .githooks`.
|
|
|
|
## When you're unsure
|
|
|
|
Ask. Default to drafting in chat over editing files when the request is ambiguous.
|