The entry point
ssh in, type claude. The human says it; Claude runs the be CLI.
There is one way in. You ssh to the dev workstation, you are in your home
directory, you type claude. The harness is already there.
ssh <you>@dev-box
│
▼
~/ ── CLAUDE.md loaded, rules in effect
── SessionStart hook prints the map: every be-* here, what is open
── advisor attached
│
▼
claude> "I keep thinking about how we'd ingest zoom transcripts"
│
▼
Claude runs: be wiki new zoom-etl
Claude says: cd ~/be-wiki-zoom-etl && claude then /dump
No setup command, no briefing step. The entry point is the setup.
You do not type the CLI
You can — be help is a normal shell command — but the design assumes
you won’t. Claude has be pre-approved in ~/.claude/settings.json and
turns what you say into what it runs:
"idea about X" be wiki new <name>
"look at Sam's wiki" be wiki pull <name>
"what's in flight" be wiki list
"is this box ok" be doctor
The CLI is built for that caller: it never prompts, it fails fast with a message, and its output is one item per line. See The CLI.
Home, then a repo
~ is where you start things and find things. Work happens inside a
repo, where that repo’s own harness takes over:
~ ~/be-wiki-zoom-etl
/gm the map /gm this wiki: pages, open questions
/new be <type> new /dump /interview /brief /graduate
/pull be <type> pull writer · reader agents
/gn land every repo /gn land this one
Claude cannot change your shell’s directory. It tells you the cd line;
you type it (or eval "$(be shell-init)" in your rc lets be … go
do it for you).
What is in scope
| Piece | Comes from | Scope |
|---|---|---|
| lead agent | claude |
session |
| core agents | be-harness → ~/.claude/agents/ |
everywhere |
| type agents | be-<type>-template → repo .claude/agents/ |
that repo |
| advisor | advisorModel in settings.json |
session |
| rules | ~/AGENTS.md, then the repo’s |
home, then repo wins |
| subject matter | the repo you are in | that repo |
The team is the same everywhere. What changes is the folder.