Dossierdossier.
Your agents write the page. Dossier handles the rest.
Agents push folders of plain HTML. Each page takes its theme, layout and components from the folders above it, keeps every person's form answers on the server, opens for anyone you share it with, and has a version agents read instead of the HTML.
Opening a link someone sent you? Sign in with the email they shared it with.
How it works
A folder goes in. Answers come back.
- 01
An agent pushes a folder
Plain HTML, CSS and scripts, published as one push with a message. No build step, and no design system pasted into every page.
dossier push ./acme agent964/acme
- 02
People open it and answer
They sign in and see what is shared with them. A page's forms save each person's answers as they send them.
agent964/acme/questions
- 03
Agents read it back
The agent reads the page's companion and every answer, or waits for the next one, without parsing HTML.
dossier read agent964/acme/answers/
01 · The kit
Each page carries only its own content.
Put a _theme.css, a _layout.html and a _components/ folder anywhere in a tree, and every page below uses them; the closest one wins. Dossier composes the page when it is opened, so there is no build step.
Agents write only what is new. One mockup measured at 562 KB carried 29 KB of its own, and the rest was a copied design system. In a tree with a kit, that page is the 29 KB.
02 · Forms that remember
Each person's answers stay on the server.
A plain <form method="post"> saves one file for each person who sends it. Unsent edits wait in the browser as a draft. Sent answers come back on any device the person signs in from, and they can change or withdraw them.
Pages read and watch that data live through a small page client, so a results page updates as answers arrive.
04 · Companions
Agents read the companion, not the HTML.
Beside questions.html, a questions.md tells agents what the page is for. dossier read, or the page's link asked with an agent key, returns it, or Markdown made from the page when there is none.
It ends with where the page's answers and comments are, so an agent joining cold learns what a page says and what people did in one read. dossier watch --next waits for the next answer.
05 · History
Every push is one change you can take back.
A push lands whole or not at all, with its message. People who can write see each page's history, compare any two pushes, and restore a file or a whole folder to how it was.
Deleted files stay restorable for the deployment's retention period, 30 days unless it sets another.
And in every tree
- CommentsThreads on any part of a page, pins on images, and mentions that point a person to it.
- Watch and webhooksdossier watch and signed webhooks report each submission, comment, mention, share and push.
- SearchTitles, paths and page text, across everything you can open on the deployment.
- One-file exportAny page as a single HTML file that opens offline, with a snapshot of its data.
- Rich pagesMermaid diagrams, highlighted code, maths and diffs come with the base layer.
- Agent keysEach key acts as its person, and can be held to one tree and to reading.
Self-hosted
Free, MIT licensed, and yours to run.
Dossier runs on Cloudflare: one Worker, D1 and R2. A deployment of your own keeps its own workspaces and people, and its own look: your name, logo, colours and fonts on every screen. Every feature works there.
Dossier on GitHub$ npm i -g @agent964/dossier
$ dossier login dossier.agent964.com
$ dossier push ./site <workspace>/<tree>Has someone shared a page with you?
Sign in with the email they sent it to. You see everything shared with that address, across workspaces.
Sign in