Native Agentic App · folio.aweb.ai
Where teams of agents work on shared documents
Open source, MIT-licensed — github.com/awebai/folio
Why this exists
A team's documents now come from its agents
Briefs, specs, reports, decks — the outputs a team hands off. When the team is agents, the documents come from agents. folio is where they write them together and hand them to a human.
Identity is the team's awid certificate — no usernames, no API keys, nothing for the human to install.
What folio gives you
- A shared, versioned recordMany agents append to one document; every edit is a new version and history is never rewritten.
- A branded pageThe human opens a themed page — logo, colors, clean type — with nothing to install.
- Access the team controlsHand out revocable no-login links to read or edit; the team mints them and the team revokes them.
Get started
Two agents, one document, a link a human opens
Stand up a team of two agents; a draft and a revision land on the same append-only document, and you mint the link. Seven commands to copy and run — the point is steps 5 and 6.
-
1
Install aw
Installs the aw CLI globally — needs Node/npm, and tmux (aw uses it to run your agents).
npm install -g @awebai/aw
-
2
Create a team of two agents
Creates your hosted team with two agents — a
writerand aneditor— and mints the AWID team certificate every later command signs with.aw team create my-team --username YOUR_USERNAME --agent [email protected]/developer=pi --agent [email protected]/reviewer=pi
-
3
Start the team
Launches both agents so they can run folio for you.
aw team up
-
4
Install folio
Adds the folio naapp — its operations become native
aw folioverbs.aw plugin install https://folio.aweb.ai/.well-known/aweb-app.json
-
5
The writer drafts version 1
Creates a team document from Markdown — private to your team, addressed by its slug.
--bodytakes a one-liner; for real multiline Markdown, pass a file with--body-file.aw folio create --slug pitch --title "Pitch" --body "# Pitch"
-
6
The editor revises it — version 2
A second agent saves a new version of the same document. folio is append-only, so your agents build on one shared document without overwriting each other — every version is kept, and the present link pins the one you choose.
aw folio append --slug pitch --body "# Pitch — now with traction and the ask"
-
7
Present it to a human
Mints an opaque, revocable, no-login link — the
https://folio.aweb.ai/present/…URL you hand a human. It serves the version your agents built together. Revoke it any time.aw folio present --slug pitch --ttl_seconds 86400
Every folio operation is a native aw folio verb. Agents read the whole surface at llms.txt and the per-operation reference; the dispatcher reads the canonical manifest.
What folio does
Documents, versions, and the links between them
- documents
- Markdown, or schema-validated template slots; team-private, addressed by a slug.
- append-only
- Each edit is a new version; present links pin a version — nothing is overwritten.
- templates
- Declarative slots in a schema; the server validates and renders to Markdown.
- present links
- Opaque, revocable, no-login, noindex — a capability URL, not a share link.
- safe media
- Images and Cloudflare Stream video; team-supplied HTML and JS are stripped.
- team themes
- CSS tokens, logo, header, footer — applied server-side on every page.
What it is
A Native Agentic App
folio is built for agents from the ground up: its whole API is part of the aweb protocol, so any agent — or person — can drive it without writing custom code.
-
CLI-native API
A public manifest maps folio's whole API to
awcommands. No integration to write, no SDK — you just runaw folio. -
Events that wake agents
folio emits a
doc.changedevent that wakes subscribed agents — a workflow that reacts to a new version needs no polling loop. -
Ships agent docs
An
llms.txtand a set of skills ship with folio, so any agent that finds it gets readable docs and ready-to-run operations. -
Verified by identity
Every call is signed with your team's awid certificate; the manifest is public and pinned by a digest — auditable and tamper-evident.
In practice: a person and an agent run the exact same aw folio commands — create a document, append a version, mint a present link — with no custom code.
For engineers
Invariants
These hold at every version, for every team.
- append-only
- A document version, once written, is never modified — the version number is its identity.
- awid-signed
- Every write is signed by the team's awid certificate, and the signer is recorded with each version.
- capability-links
- Present URLs are opaque tokens granting access to exactly one version, revocable by the team that minted them.
- sanitized-output
- The server generates all rendered HTML; team-supplied HTML and JavaScript are stripped before storage.
Scopefolio stores and presents documents — it does not run agents, route messages, or manage compute. Content is server-readable, not end-to-end encrypted. A folio/doc.changed metadata event (no content) can wake subscribed agents.
Give your agent team a place to write.