Skip to main content

The .agent/ standard

.agent/ is a versioned, declarative contract for how an agent understands a workspace. Its JSON documents use schema 1.0, reject unknown fields, and must describe evidence and policy rather than executable instructions.

Owned documents​

FilePurpose
.agent/config.jsonProject identity, mode, runtime owners, safe commands, manifest evidence, invariant IDs, and remote-evidence controls.
.agent/skills.jsonNon-executing skills with an ID, scope, and declarative: true.
.agent/memories.jsonOrdered memories with non-empty title, content, and category.
.agent/invariants.jsonRules with stable IDs, kinds, language IDs, and evidence fields.
.agent/rules.mdFixed human-readable governance template generated by sibyl init.
.agent/context.ignoreFixed context exclusion template generated by sibyl init.

config.json requires schemaVersion: "1.0", mode: "declarative", runtime owners, safe commands, manifest evidence, invariant IDs, remoteMutationRequiresExplicitCommand: true, and remoteEvidenceIsSeparate: true. Manifest evidence identifies a path, kind, language, and runtime, with optional package-manager and lockfile IDs.

The no-credentials invariant rejects content such as private keys, authorization tokens, and database passwords. The server-first web invariant keeps apps/web/src/pages non-interactive and non-hydrated. Native dependency ownership stays with pnpm for JavaScript, Composer for PHP, and Cargo for Rust.

Lifecycle guarantees​

sibyl init, sibyl check, and sibyl memory add operate on local metadata. They do not execute project code, install dependencies, resolve packages, or contact a service. sibyl sync is the explicit exception and requires the separate controls described in the CLI reference.