BettikDocsSign in

Reference · the tools

The tools

What Claude can do on your box, one page each. These are rendered from the servers themselves — the words below are the words Claude reads — so they cannot say one thing while the box does another.

You do not call these. You say what you want, and Claude picks the tool, fills in the arguments, and tells you what came back. The pages are here so you know what it is working with: what each one does on the box, what it needs to know, and which ones ask first.

Every tool takes an optional box. With one box, Claude never has to name it.

What the connector tells Claude

Sent to every session that connects, wherever it runs — a phone, a laptop, your box. What only a box knows, the box says itself.

Bettik runs <handle>'s environments on their own box. You install, save and look after them with these tools; the work itself -- editing, npm, git, psql -- happens in the box's workbench, over ssh or in a session running there. **Someone new, or unsure what is set up?** Call `get_started` first and follow the one next step it gives. Claude is signed in on a box from here: `sign_in_claude` gives a link, <handle> pastes back the code it shows, and `finish_claude_sign_in` hands it over. ## Ask first - **`destroy_environment` and `destroy_box`**: confirm with <handle> first, naming it, unless they just asked for that one. Nothing undoes them. - **Making an environment public** (`share_environment`): ask, then repeat the address. - **A saved environment holds its private data**; a version of a template is what can be shared. Without `go: true` both only say what would happen: tell <handle>, and go once they say yes. - **Never stop an environment on your own to make room**: ask. ## Environments An environment is a directory Docker runs -- usually an app and its database -- published at `https://<environment>.<box>.<handle>.bettik.dev` and reachable only by people given access. `compose.yaml` is what runs, `seed` fills it once, `update` brings it current, `start` runs it. Code lives under `projects/`, one directory per repository. It may be an app, a game, a kit or one change to a repository; its author says which. **Cloning is how you get an isolated copy.** `clone_environment` is copy-on-write: seconds, with `node_modules` and the live database. Not a git worktree. To try something risky, clone. **Claim an environment before you change anything in it** (`claim_environment`, a recognisable `holder`, `session_id` from `bettik-session-id` on a box). One writer or many readers; a claim never expires. Held by someone else? Clone, never steal unless <handle> says. `release_environment` when you finish. ## Templates and names An **environment template** is an environment packed for keeping. `list_templates` shows what <handle> can install (starter kits, theirs, their families' and organizations' as `org/name`); `install_environment` fetches one. Say which template and what it brings; ask when more than one fits. `empty` when the setup is the work. **A name becomes the address**, `<name>.<box>.<handle>.bettik.dev`, which <handle> will type and share for months. Ask them for it, saying why; do not invent one. If tidying changes it, tell them. ## Room on the box `environment_status` says how full a box is. Under 75% memory: install and start freely. Above, the call comes back as a question naming the idlest environment: put it to <handle>. Under 1 GB free it is a no. ## Renamed Bundle is now environment, package is template, snapshot is saved environment. Tools: install/clone/seed/update/bounce/build/stop/start/share/destroy/claim/release/transfer_bundle → *_environment; bundle_status → environment_status, bundle_logs → environment_logs, list_packages → list_templates, fetch_package → fetch_template, delete_package → delete_template, snapshot_bundle → save_environment, release_snapshot → publish_template, release_status → publish_status; bundle_id → environment_id, package → template, snapshot → saved; ~/bundles → ~/environments; _BETTIK_BUNDLE → _BETTIK_ENVIRONMENT. If one name is missing, try the other. ## More Each tool's description has the rest; on a box, `~/.bettik/docs/`. When Bettik itself gets in the way, offer `send_feedback`.

Boxes

The machine itself. These belong to your account, not to any one box.

Workspaces

More than one workbench on a box, each with its own container, limits and sign-in.

Your configuration

Your Claude settings on the box as a repository you own.

Environments

Installing, running and looking at the environments on a box.

install_environmentInstall a template onto this box as a new environment, and start it.clone_environmentCopy-on-write clone of an existing environment, INCLUDING its database contents and installed dependencies.environment_statusShow the user's environments: state, URLs, memory and CPU in use, and when each was last active, after the box's own memory and disk.Read-onlyenvironment_logsWhat an environment's containers printed: the dev server's output and the database's.Read-onlystart_environmentBring a stopped environment up: its containers come back over the same directory, at the same address, without rebuilding images.stop_environmentStop an environment: its stop script runs if it has one, then its containers come down.build_environmentBuild the environment from its directory as it is now: compose.yaml and bettik.json are re-read, images built or pulled, the containers that changed recreated, .env rewritten, newly declared secrets minted, and the environment is up.bounce_environmentBounce an environment's processes -- all of them, or one service -- without touching the environment.update_environmentRun the environment's own update script: pull each project, reinstall, migrate -- whatever the environment says an update is.seed_environmentRun the environment's seed script now, inside the app container, from blank.share_environmentSet who may open an environment's address.destroy_environmentPermanently delete an environment, its container and ALL of its data, including its database.Asks first

Sessions

Your Claude sessions on the box: what there is, starting one, waking one, talking to one, stopping or archiving one.

Gateway

Messages from outside into your sessions: topics, who is subscribed, posting and reading.

Timers

The box posting to a gateway topic at a time: every weekday at 7:30, or once at 3pm.

Cue

Calls with Claude on the box from your phone: taking the box off Cue.

Who is working on what

Claims: how sessions keep out of each other’s way.

Templates

What you can install, saving an environment, and publishing a version of a template.

Also

switch_boxMake one of your boxes your current box: the one every box tool acts on when a call does not name a box.get_startedWhere the user stands on Bettik and the one next step: whether they have a box, whether it is still being made, and whether Claude is signed in on it.Read-onlyaccept_inviteJoin a family or organization that invited the address the user signs in with, as get_started lists them.sign_in_claudeSign Claude in on a box, so Claude sessions can run there and the box shows in the Claude app.finish_claude_sign_inThe second half of sign_in_claude: hand the box the code the user was shown after opening the link.send_feedbackTell the Bettik team about Bettik itself: a tool that failed or said something wrong, a step that was confusing or took too many calls, something missing.time_zoneThe person's time zones: where they live (home), and where they are for now (current), until a date if they say.session_backupWhere an account's boxes copy their Claude sessions (D-session-backup): the account's own S3 bucket, set once for every box it owns, boxes made later included.set_session_backupSet where an account's boxes copy their Claude sessions: an S3 bucket, its region, the role boxes take on (made as session_backup describes), and each box's folder.test_session_backupCheck an account's session backup works, as a box will: Bettik signs as a pretend box "bettik-test" of the account, takes on the role, and adds one small file, bettik-test.txt, under the folder.clear_session_backupTurn off session backup for an account: its boxes stop copying.

How to read a tool page

Read-only tools change nothing. Asks first marks the ones that delete: a session on the box has every tool pre-approved except those, and Claude confirms with you before calling one, naming the thing it is about to remove. The rest create, start, stop or copy — reversible, or at least not losses.