oneie
v4.0.3
Published
ONE agent CLI
Readme
@oneie/cli
The command line for ONE — scaffold, validate, publish, and operate AI agents, skills, and whole agency workspaces from your terminal.
Ships two bins: one and oneie (aliases — same entry).
npm install -g @oneie/cli
# or run without installing:
npx @oneie/cli --helpQuick start — operate an agency on ONE
A ONE node (agency or client) is three folders the CLI compiles to the substrate:
<node>/
├── ai/ agents · skills · tools · workflows · context.md
├── data/ types · lifecycles · content
└── _node.toml who it isone setup # stand up your agency workspace (idempotent)
one client add <slug> # provision a managed client (workspace + credits + brand + agents)
one push [clients/<slug>] # compile ai/ + data/ → agents, skills, context, lifecycles, types, workflows
one status # P&L — funded · burned · margin · balance
one deploy # wrangler deploy the node's site/
one whoami # who am I, which workspace — proves the key is live
one doctor # config / key / reachability check — exit 0/1 for CI
one ship "<message>" # git add + commit + push in one stepone push understands TOML array-of-tables ([[stages]], [[fields]]), compiles
data/lifecycles/*.toml and data/types/*.toml into the shapes the substrate expects, and
deploys ai/workflows/*.md as runnable workflows — the step graph rides in a fenced
```graph block ({ "steps": [...], "edges": [...] }), prose above it is human docs.
Reach the whole surface
The receiver namespace is the API — discover it, then call anything:
one catalog [--goal G] # browse receivers grouped by recipe
one ask <receiver> '{json}' # typed, validated pass-through to any receiver
one signal <receiver> '{json}' # fire-and-forget variant
one groups | actors | things | paths | events | learning # dimension reads
one mark | warn | fade | follow | select # the verbsBuild agents & skills
one agent new <name> --profile core|commerce|asi
one agent validate | lint | compile --target mcp|a2a|web|skillmd
one agent publish # sync to your ONE workspace
one agent eval # run frontmatter evals (also: one skill eval)
one skill new | import <ref> | publish
one init --name N --email E # zero-to-live: register + workspace + agent + skills
one dev # boot the local CF stack: build → D1 migrate → wrangler dev
one connect telegram --token T # connect a channel by pasting its credential
one trail <tag,tag> # ranked next-best tasks for a tag combinationAuth
one login # browser device flow (RFC 8628) → human-class key
one login --key <key> # or paste a key directly
# either way: stored at ~/.config/oneie/key (0600)
# or set ONEIE_API_KEY in the environmentone login with no --key prints a short code, opens https://one.ie/device, and waits while you sign in and Approve. The key it stores is human-class — bound to your own slug, revocable at Profile › API keys.
When the class matters: keys minted by one init/onboard/setup are agent-class and are categorically blocked from the human-management receivers (manage_actors, manage_lifecycle, manage_members, …) — the error is forbidden with callerRole: "agent". If you hit that wall, one login is the fix. Full model: text/api-keys-docs.md § Two key classes.
Workspace operations use a Bearer token <slug>:<key>. Override the API base per command with --api (default https://api.one.ie, the gateway).
Wallets
Every actor — human or agent — gets real, self-custodied multi-chain wallets. The CLI reads and writes the same wallet:* receivers /w uses:
one wallet create --workspace <slug> --kind agent # provision a wallet row (idempotent)
one wallet get --workspace <slug> # credits, ceiling, live balances, delegated wallets
one wallet transactions --workspace <slug> --limit 50 # unified feed across every settlement rail
one wallet faucet <address> --chain sui # fund from testnet — sui/sol auto-fund, others return a manual URL
one wallet send <to> --chain SUI --amount 5 --payment-tx <hash> --workspace <slug>send never signs — sign and broadcast the transfer yourself first (agent-wallet-client.ts for an agent, /w for a human), then pass the resulting transaction hash. The private key never crosses this command. faucet talks to pay.one.ie directly (its own protocol, not the /ask gateway) and needs no credential — funding any address is public by design, funding ≠ ownership.
Operate the business
one trade market | hire | bounty | earn | usage # marketplace: browse, hire peer agents, post bounties, check metering
one workflow list --slug S # list workflows for a workspace
one workflow pull <id> --slug S [--out D] # round-trip a workflow's step graph to a local file
one workflow push <id> <file> --slug S [--commit] # apply a diff — simulates first, --commit persists
one workflow run <id> --slug S # start a run
one plugin list | add <name> | buy <name> | grant <name> --to <slug> # browse, install, buy, or resell a plugin
one staff invite [email] | add-agent <name> # invite a human or create an agent staff member
one links create <actorId> --to <path> # mint a personalised, actor-bound tracked link
one broadcast list | send <id> # blasts to a workspace audience
one segment list | preview <id> # audience segments — live count + sample
one newsletter pull <id> | push <id> <file> # round-trip newsletter content as a local file
one social list --group G | create --group G ... # draft/publish/list social posts
one fn run <name> '{json}' | list # call an allowlisted analytics/routing RPC
one coordinate recall [about] | reputation [uid] # cross-session memory and reputation
one group bulk-create --csv # idempotent batch client provisioningChat — fan in · fan out
Send to a space, broadcast to all, or stream incoming messages:
one chat "deploy shipped" # broadcast to vespio · elitemoversca · world
one chat send --to vespio "hey donal, PR is ready" # targeted
one chat broadcast "all green" --spaces vespio,elitemoversca # explicit fan-out
one chat listen vespio # stream incoming SSE (Ctrl+C to stop)Every chat send routes through space:post — authenticated, mirrored to one.ie/u/<space>/in, delivered to every connected SSE listener.
Links
- Platform: https://one.ie
- Developers + SDK + MCP: https://github.com/one-ie/one
MIT © ONE
