prapi.dev
§ 00 · ECOSYSTEM
Open spec · v0.1

brief.md ecosystem hub. Add the spec to your repo. Validate it in CI. Wire it into your editor.

The doer’s page. New to brief.md? Start here for the explainer. Already know you want to ship a brief.md and need the tools to do it — the GitHub Action, the paste-validator, the editor-rules export, the canonical spec — you’re in the right place.

§ 01

Add brief.md to your repo in three steps.

Plain markdown. No build step, no SaaS lock-in. The GitHub Action keeps the file honest, validateVoice keeps your drafts on-brand, the rules export wires your voice into Cursor, Claude Code, or Codex.

  1. 1

    Drop a brief.md in your repo

    Use the generator with your homepage URL, or copy the example from the spec. The result is a markdown file with frontmatter; commit it at any path you like (most teams use docs/brief.md or .integrity/brief.md).
  2. 2

    Add the validator GitHub Action

    Create .github/workflows/brief.yml with this content. Every PR touching a brief.md (or a sample draft under tests/voice/) gets a sticky comment with parse + voice findings.

    name: brief.md validator
    on:
      pull_request:
        paths: ['**/brief.md', 'tests/voice/**']
    permissions:
      contents: read
      pull-requests: write
    jobs:
      validate:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: theintegrityframework/brief-md-validator@v1
  3. 3

    Wire your editor to the brief

    Once your brief lives somewhere PRAPI can read, run prapi brief export-rules to drop a Cursor / Claude Code / Codex rules file into your editor config. Your AI assistant now respects the brand voice while you draft anywhere — not just inside PRAPI.

    # Cursor (writes .cursor/rules/voice.md + .cursorrules)
    prapi brief export-rules my-brand --target cursor
    
    # Claude Code (writes .claude/rules/voice.md)
    prapi brief export-rules my-brand --target claude
    
    # Codex IDE
    prapi brief export-rules my-brand --target codex

    The same content is available as a bearer-authed REST endpoint at /api/v1/briefs/[operator]/[brand]/export-rules if you want to pull it from your own tooling.

§ 02

Tools in the ecosystem.

Every tool below speaks the same brief.md spec. Mix and match. Your brief.md file is the substrate; these are the consumers.

Validate from paste

brief.md validator (web)

Paste a brief.md in, see schema errors and voice diagnostics inline. Pure client-side; nothing is uploaded. Useful for one-off checks or showing the spec to a colleague.

Open the validator
Validate in CI

brief-md-validator (GitHub Action)

Drop the Action into any repo's CI. On every PR that touches a brief.md, parse + resolve + voice-check + comment. Fail the check on schema errors; warn on reading-level / claim-provenance findings.

View on GitHub
Reference parser

@theintegrityframework/brief-core

The TypeScript parser + resolver + validator that every other tool calls. parseBrief, resolveBrief, validateVoice, getPublications, channel-aware character limits. Public on npm under MIT.

View on npm
Editor rules

prapi brief export-rules

Renders the resolved brand voice as a markdown rules file your editor's AI respects: Cursor, Claude Code, Codex. brief.md stays canonical; the export is one-way and re-runnable.

See the CLI
§ 03

Brands publishing their brief publicly.

Anyone fetching these URLs — AI agents, search engines, journalist workflows — gets the same source-of-truth brand context. Plain markdown, content-negotiated for HTML or text/markdown.

Want to be listed? Sign up for PRAPI, author your brief, and publish it publicly when you’re ready. The directory is consent-based; nothing appears without an explicit opt-in. Other tools that implement the spec can serve their own brief URLs the same way.

§ 04

Conformance and trademark.

brief.md is stewarded by The Integrity Framework, not by PRAPI. The spec is open; the trademark is licensed; conformance is verified by running brief-core's published parser against your output.

Spec authority

theintegrityframework.org/specs/brief-md

Versioned at v0.1; v0.2 is in draft. Spec changes ship in brief-core releases. Pin a spec_url in your frontmatter to lock the version your file claims to satisfy.

Reference impl

@theintegrityframework/brief-core

The npm package every conformant consumer uses. v0.11.0 covers parseBrief, resolveBrief, validateVoice (8 rule kinds), getPublications, channel limits, claim-provenance hints.

Trademark

License from The Integrity Framework

Other tools that implement the spec can use the brief.md trademark under license. PRAPI is the canonical implementation, not the only allowed implementation.

Open spec · v0.1

The substrate is open. Adopt it once, reuse it everywhere.

Your brand context belongs to you. brief.md is the file. PRAPI is the canonical execution surface. The Integrity Framework holds the trademark. Drop the file in your repo, add the Action, point your editor at it — and your voice rules apply everywhere code or copy gets written.