Synopsis
Description
pome init writes the manifest Pome reads on every run, pome.json. Run it once
per agent project, before your first pome run.
What else it writes depends on where you run it. In an empty directory it also
scaffolds a starter library — tasks/, examples/agents/, and runs/ — so
there is something to run in the next minute. In a directory that already has a
package.json, it writes the manifest and nothing else: that is the
bring-your-own-agent case. --bare and --starter override that decision in
either direction.
--example <id> skips scaffolding altogether and fetches a complete runnable
example — agent, tasks, manifest and lockfile — into ./<id>. See
Start from an example.
pome init never overwrites an existing manifest. The one exception is --sdk,
which updates agent.framework and command in the manifest already there.
Hosted runs also need pome login and
pome register agent <name>, which links the project to a cloud agent so its
runs land on the dashboard together.
Options
What it writes
In a new project:
The manifest it writes looks like this:
agent.slug starts as a slug derived from the directory name, so the manifest
validates before you have an account. pome register agent replaces it with the
slug the cloud assigns.
The agt_ agent id is deliberately not written to the manifest — a
committed opaque id lets a fork keep pushing runs at an agent its new owner
cannot see. Pome caches it in .pome/link.json, local and uncommitted, and
re-resolves it from the slug when it is missing.
Set up a project
Start from an example
Every bundled example is named by an id, never by a path insidepome-sh/digital-twins. --example fetches the one you name into ./<id>:
pome init --help prints the same set, offline
— so it cannot name an example that no longer exists. The files come over
the network, from the commit that built the CLI you are running, so an older
CLI scaffolds the example as it stood then.
The ids the rest of these docs walk through:
pome register agent
Create a cloud agent under your team and write its slug to the manifest.
Plus the global flags —
--api-url, --artifacts-dir, and -V, --version.
Examples
Scaffold a project. In an empty directory this writes the starter library too; in a repo that already has apackage.json it writes only the manifest:
agent.framework:
./support-triage:
Exit status
See also
pome doctor— check the wiring the manifest describes.pome tasks— filltasks/from the bundled library.pome login— sign in before the first hosted run.- Your own agent — the manifest, field by field.
- The graded capstone —
support-triage, end to end.