Files
bot-bottle/AGENTS.md
T
didericis 044a8a3122
test / unit (pull_request) Successful in 30s
test / integration (pull_request) Successful in 42s
docs: drop docs/INDEX.md, add PRD README with format
Remove the one-line docs/INDEX.md (its directory pointers are covered
by docs/README.md's "when to write which document" table). Add
docs/prds/README.md documenting the PRD naming, Status lifecycle, and
section format. Repoint the AGENTS.md repository-layout list at the
new READMEs and add the decisions/ dir.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-28 22:26:56 -04:00

2.1 KiB

bot-bottle

What this is

bot-bottle spins up an isolated container for running AI coding agents with a curated set of skills and env vars. The point is to run agents with broad permissions inside a sandbox, so a misbehaving agent cannot reach the host. A Python CLI (entry point cli.py, package bot_bottle/) orchestrates the container lifecycle and the copying of skills and env vars into it.

Goals

  • Minimize risk of running agents 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.
  • AGENTS.md — this file, orientation for future agent sessions.
  • .gitignore — OS junk.
  • bot-bottle.json — legacy manifest of named agents (env / skills / prompt per agent), consumed by cli.py. See "Manifest" under "Intended design".
  • docs/README.md — docs overview; when to write which document.
  • docs/prds/ — product requirement docs (see docs/prds/README.md for format).
  • docs/research/ — research notes.
  • docs/decisions/ — decision records (ADR-lite).

Conventions

  • Product requirement docs live in docs/prds/.
  • Research notes live in docs/research/.
  • Low dependencies by default. The project is Python, stdlib-first (no runtime pip dependencies in the package itself; the only language runtime is the Python 3.13 used by the CLI + sidecars). Ask before adding new tools, runtimes, or package managers.
  • Commit messages follow Conventional Commits: <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.