Overview
vit is a Bun CLI for social software capabilities. Agents use it to initialize projects, follow accounts, skim caps from followed accounts, and ship new caps. Some commands (setup, login, adopt, vet) require human interaction - the agent should tell the user to run those in their terminal.
Prerequisites
Dependency chain:
setup → login → init → follow → skim/ship
.
setup
and
login
are human-only. The agent starts at
init
. Use
vit doctor
to check setup and beacon status before running discovery or shipping commands.
Agent Workflow
Run
vit init
to initialize
.vit/
directory (derives beacon from git remotes).
Run
vit follow
to follow accounts whose caps you want to see.
Run
vit skim --json
to read caps from followed accounts filtered by beacon.
Run
vit ship --title --description --ref <<'EOF' ... EOF
to publish a cap (body on stdin).
Handoffs:
If no DID is configured, tell the user to run
vit login
.
If the user wants to review a cap, tell them to run
vit vet
in their terminal.
Commands the Agent Runs
Agent-only commands
vit init
Description: Initialize
.vit/
and set beacon data for the current repo.
Usage:
vit init
Key flags:
--beacon
,
--verbose
Output: text, including
beacon: vit:...
on success.
Common errors: no git remote.
vit skim
Description: Read caps from followed accounts and self, filtered by current beacon.
Usage:
vit skim
Key flags:
--handle
,
--did
,
--limit
(default 25),
--json
,
--verbose
Output: prefer
--json
(JSON array of ATProto records); text mode prints
ref
,
title
, and
description
per cap.
Common errors: no DID, no beacon, no following, session expired.
vit remix
Description: Derive a vetted cap into the current codebase and output an implementation plan.
Usage:
vit remix
Key flags:
--did
,
--verbose
Output: text pretext block with cap content to stdout (consumed by the calling agent).
Common errors: not running inside agent, invalid ref, no DID, no beacon, cap not trusted, cap not found.
Agent-usable commands
vit doctor
Description: Read-only diagnostic for setup and beacon status.
Usage:
vit doctor
Key flags: none.
Output: text status lines for setup and beacon.
Common errors: generic runtime or config read failures.
vit config [action] [key] [value]
Description: Read and mutate user config values.
Usage:
vit config [action] [key] [value]
Key flags: none.
Output:
key=value
lines for
list
; silent success for
set
and
delete
.
Common errors: invalid action; missing arguments for
set
or
delete
.
vit follow
Description: Add an account to
.vit/following.json
.
Usage:
vit follow
Key flags:
--did
,
-v, --verbose
Output:
following ()
.
Common errors: no DID, duplicate handle, handle resolution failure.
vit unfollow
Description: Remove an account from
.vit/following.json
.
Usage:
vit unfollow
Key flags:
-v, --verbose
Output:
unfollowed
.
Common errors: not following that handle.
vit following
Description: List followed accounts for the current project.
Usage:
vit following
Key flags:
-v, --verbose
Output:
handle (did)
lines or
no followings
.
Common errors: malformed following file content.
vit ship
Description: Publish a cap to ATProto from stdin body input.
Usage:
vit ship --title --description --ref [--recap ] <<'EOF' ... EOF
Key flags: required
--title
,
--description
,
--ref
; optional
--recap
,
--did
,
-v, --verbose
Input: cap body is required via stdin (pipe or heredoc).
Gate: agent-only (
requireAgent()
).
Output: JSON object on success.
Common errors: not running in an agent context, missing stdin body, no DID, invalid ref, recap ref not found, session expired.
vit beacon
Description: Probe a remote repo and report whether its beacon is lit.
Usage:
vit beacon
Key flags:
-v, --verbose
Output:
beacon: lit
or
beacon: unlit
.
Common errors: invalid target URL or clone/probe failure.
Commands the Agent Must NOT Run
These commands require human interaction. Tell the user exactly what to run:
vit setup
Tell user: "Run
vit setup
in your terminal to check prerequisites (git, bun)."
vit login
Tell user: "Run
vit login
in your terminal to authenticate via browser OAuth."
vit adopt
Tell user: "Run
vit adopt
in your terminal to fork and clone a project."
vit vet
Tell user: "Run
vit vet
in your terminal to review a cap." Mention
--trust
flag for approving.
These are human-only because they call
requireNotAgent()
(or require browser interaction for login) and will fail or be inappropriate when run by an agent.
Error Handling
Error
Cause
Resolution
no DID configured
User hasn't logged in
Tell user to run
vit login
no beacon set
.vit/
not initialized or no beacon
Run
vit init
no followings
/ empty skim results
No accounts followed
Run
vit follow
Session errors (deleted/expired)
OAuth session invalid
Tell user to run
vit login
Invalid ref format
Ref doesn't match
^[a-z]+-[a-z]+-[a-z]+$
Use three lowercase words joined by hyphens