Skip to content

Standards conformance

ai-rulez writes several open formats besides each assistant’s native files. For each standard, the version ai-rulez targets, what it generates, how conformance is checked and the known gaps are below.

A claim of conformance is backed by a test in tests/conformance. Each test validates a document ai-rulez produces (a checked-in sample or the output of the freshly built CLI) against the standard’s own schema, vendored and pinned under tests/conformance/schemas. The tests run offline (go test ./tests/conformance/).

Status Meaning
conformant The output validates against the standard’s official machine-readable schema.
partial The standard has no official schema (the test encodes its written rules), or only part of the output is covered. The gaps column says what is missing.
not covered ai-rulez reads or writes the format, but no conformance test checks it against the standard.
Standard Version Status What ai-rulez generates Test Known gaps
Agent Plugins 1.0.0 (published, default) and 1.1.0 (working draft); schema repo at ff8ab5e conformant plugin.json, mcp.json and skills/ from generate --plugin; validate reads them back (page) agentplugins_test.go The official plugin-name pattern uses a lookahead that Go’s regular expressions cannot compile, so the test applies the same rule in code. Extension namespaces are not schema-checked beyond the base manifest.
ARD 0.91 (proposal); ard-spec at b76f235 conformant ard.json from publish --emit ard, checked against the entry and manifest schema and the URN grammar (page) ard_test.go ARD is a proposal; media types and term names can change. The plugin entry type is an ai-rulez vendor type.
llms.txt No versioned release; the format published at llmstxt.org partial llms.txt and llms-full.txt from the llms-txt preset (page) llmstxt_test.go No official schema; the test checks the published structure (H1, optional blockquote, H2 link lists). llms-full.txt is checked for its H1 only, because the format does not define it.
Agent Skills No versioned release; the specification published at agentskills.io partial SKILL.md and its resources for every skill, under .claude/skills, .agents/skills, skills/ and the other skill folders (page) skills_test.go No official schema; the test checks the frontmatter rules (name, description, compatibility, license, metadata, allowed-tools). The resource layout is not checked.
AGENTS.md No versioned release partial AGENTS.md at the project root and in nested scopes (page) agentsmd_test.go The format has no schema and no required fields; the test checks that the root file is plain Markdown carrying the project’s guidance. Nested files are not covered.
MCP server configuration The mcp.json schema of Agent Plugins 1.0.0 and 1.1.0 partial mcp.json with stdio, streamable HTTP and SSE servers mcp_test.go The per-tool files (.mcp.json, .cursor/mcp.json, .codex/config.toml and others) follow each tool’s own format and are not validated against a schema.
MCP Server Card SEP-2127 (Final); schema.json of the experimental server-card extension at 526201b partial One <server>.json per remote [[mcp_servers]] entry from publish --emit mcp-server-card, and the same cards embedded in ard.json (page) mcpcard_test.go The schema comes from an experimental extension and can change. Cards describe remote servers only, so stdio servers get none. Title, icons, repository, website, URL variables and _meta are not generated. validate does not check cards.
CycloneDX 1.6 conformant ai-rulez sbom (page) sbom_test.go Structure only; NTIA minimum-element and license-expression checks are not run.
SPDX 2.3 (JSON) conformant ai-rulez sbom --type spdx-json (page) sbom_test.go Structure only.
in-toto Statement and DSSE Statement v1; DSSE v1 partial Signed statements inside Sigstore bundles from ai-rulez sign, checked by ai-rulez verify (page) attestation_test.go Neither project publishes a JSON Schema, so the schemas are written from the specifications. Sigstore bundle structure and certificate chains are not covered by a conformance schema. Statement v0.1 is accepted when verifying only.
OKF 0.2 not covered .ai-rulez/ is an OKF bundle; export okf writes one and okf validate lints any bundle (page) — No conformance test against an external schema.
OpenTelemetry (OTLP) — not covered Item-load telemetry export with telemetry export --to otlp (page) — No document ai-rulez writes is validated against an OTLP schema.

With source = "agents", ai-rulez reads the root AGENTS.md and .agents/skills/<name>/SKILL.md as the AGENTS.md and Agent Skills standards define them, and never rewrites them. The other folders it reads under .agents/ are extensions:

Folder Convention
.agents/skills/ Agent Skills standard
.agents/rules/, .agents/agents/, .agents/checks/ Antigravity and Amp conventions
.agents/commands/, .agents/context/, .agents/domains/ ai-rulez

Nested AGENTS.md files are read as the standard describes: each applies to its directory’s subtree. Splitting the root AGENTS.md into one item per ## heading (agents_md_split = true) is an ai-rulez convention and is off by default. See .agents as a source.

A conformant status means the documents produced from representative projects (rules, context, skills, stdio and remote MCP servers) validate. It does not prove that every configuration does, or that a particular client loads the result; per-tool loading behavior is in Harness traps.