Skip to content

@manifesto-ai/cli ​

Official CLI for installing, configuring, and validating Manifesto projects.

Overview ​

@manifesto-ai/cli is the repo bootstrap and drift-management surface.

Use it when you want to:

  • declare runtime intent in manifesto.config.*
  • install the right runtime packages for base, lineage, or gov
  • patch a bundler or loader integration such as vite or node-loader
  • install optional tooling such as codegen or Codex skills
  • validate that declared intent still matches the real repo state

The CLI treats manifesto.config.* as the source of truth.

ts
export default {
  runtime: "base",
  integration: {
    mode: "vite",
  },
  tooling: {
    codegen: "wire",
    skills: "codex",
  },
  sample: "counter",
};

Install ​

bash
npm install -D @manifesto-ai/cli

Then run:

bash
npx manifesto help

Command Surface ​

CommandPurpose
manifesto initDeclare Manifesto intent, install packages, and optionally run setup steps
manifesto integratePatch a host integration surface such as vite, webpack, rollup, esbuild, rspack, or node-loader
manifesto setupManage tooling modes such as `codegen=off
manifesto scaffoldGenerate optional sample files such as the counter runtime
manifesto doctorDiagnose package, integration, and tooling drift
manifesto addDeprecated compatibility wrapper for the older capability flow

Current Modes ​

AreaSupported Values
runtimebase, lineage, gov
integration.modenone, vite, webpack, rollup, esbuild, rspack, node-loader
tooling.codegenoff, install, wire
tooling.skillsoff, install, codex
samplenone, counter

That split makes "packages only", "install but do not wire codegen", and "install skills plus run Codex setup" first-class states instead of ad-hoc shell steps.

Examples ​

bash
manifesto init --runtime base --integration none --codegen install --skills codex
manifesto integrate vite
manifesto setup codegen wire
manifesto setup skills codex
manifesto scaffold counter
manifesto doctor --json

Use runtime=lineage or runtime=gov only when the project already needs approval, history, or sealing.

Interactive Init ​

When manifesto init runs in a TTY, it opens an Ink-based wizard for:

  • runtime
  • integration mode
  • codegen mode
  • skills mode
  • sample mode
  • final review

The wizard defaults to the conservative install-only path:

runtime=base, integration=none, codegen=off, skills=off, sample=none

Use --non-interactive when you want flag-driven setup only.

Relationship To Other Packages ​