Five minutes, no meeting
Adopt intent/1
Nothing here requires talking to us. The CLI writes your config and workflow, the library enforces the rules, and the vendored checker runs before anything is installed.
The five commands
npx intentmesh adopt # writes .intent/config.json and a CI workflow
npx intentmesh file --id settlement-rails --kind initiative --title "..."
npx intentmesh promote intent/you/settlement-rails --by person/you --to public
npx intentmesh emit # writes intent.fragment.json and the public projection
npx intentmesh merge ./fragments --tier public
When https://yourdomain/.well-known/intent.json answers, you are publishing.
Filing is always private; promote is the one step that needs a named human, and that
is the design, not a hoop. Then check yourself the way a stranger would:
npx intentmesh verify yourdomain.com
✓ published — https://yourdomain.com/.well-known/intent.json
3 public item(s), 2 naming wants the network can match
As a library
import { file, promote, merge, view, validateFragment } from 'intentmesh'
const item = file({ id: 'intent/you/thing', kind: 'task', title: 'A thing' /* … */ })
// item.visibility === 'private' — there is no argument that changes this
const { intents, problems } = merge([yours, theirs])
const publicOnly = view(intents, 'public')
npm i intentmesh — zero runtime dependencies, and
governance commits to keeping it that way.
Without a toolchain
vendor-intentmesh.mjs is the whole format as one dependency-free file: copy it into your repository, run it with bare node, get a valid fragment. It exists because the organisations most likely to adopt a publication format are often the ones least interested in installing a toolchain to do it.
What adopting signs you up for
Nothing. There is no registration, no API key, no callback to a server we run, and no field whose value only we can issue — a valid fragment can be produced, published, read and merged by somebody who has never heard of this company. If you want the world to know you publish, the registry is a pull request; if you don't, your file still works.