Skip to content
Fallow home
All docs pages

fallow schema

Let an agent learn everything fallow can do from one JSON document. Fallow schema prints the complete capability manifest: commands, issue types, MCP tools, plugins, and environment variables.

fallow schema prints the complete capability manifest of fallow as JSON. An AI agent or a doc generator reads this one source to learn what fallow can do:

  • every command and flag
  • every issue type
  • every MCP tool
  • the built-in framework plugins
  • the user-facing environment variables
fallow schema

The output is always JSON, whatever the value of --format.

The agent-skill tables also come from the manifest. At release time, the command, issue-type, and MCP-tool tables in the bundled SKILL.md of the npm package regenerate from it. For agents, this docs site also serves an auto-generated llms.txt index.

Top-level blocks

BlockContents
manifest_versionVersion of the manifest shape (currently "1"). Check it when you generate docs from the output.
versionThe fallow CLI version that produced the manifest.
commands, global_flagsEvery CLI command and flag, with type, default, and description. Fallow reads these from the live CLI definition.
issue_typesOne row per reportable issue type across all analyses (see below).
task_matrixThe task-to-command table for agents. Each row has a common agent task (task), the read-only command to run (command, which can contain <placeholder> tokens), and an optional note. The same matrix appears in fallow init --agents, the managed AGENTS.md block, the root --help, and the fallow skill. Rows never name commands that change files.
mcp_toolsEvery MCP server tool, in mcp_tools.tools[], with a kind group (analysis, trace, fix, introspection, impact, runtime-coverage, composition), a one-line description, key_params, license plus license_note, and read_only. key_params is a selected subset. The live MCP list_tools schemas are the authority.
mcp_resourcesEvery MCP resource and resource template, in mcp_resources.resources[] (uri, name, title, description, mime_type, template). These are the read-only reference data of fallow-mcp: tool manifest, issue-type registry, explain index and template, task matrix, and JSON Schemas. Same order as resources/list.
pluginsCount and names of the built-in framework plugins, from the live plugin registry.
environment_variablesEvery user-facing FALLOW_* variable with a one-line description.
boundary_presetsThe built-in architecture boundary presets, each with a name, a description, and the config line that turns it on.
security_categoriesThe valid ids for security.categories.include and exclude.
taste_choicesSetup decisions that an agent can ask the user about, each with a prompt, options, and the config_paths that the answer sets.
related_schemasThe commands that print the other JSON Schemas: fallow config-schema, fallow plugin-schema, and fallow rule-pack-schema.
field_notesHow to read the default_severity, opt_in, frameworks, and config_key fields of the issue type rows.
output_formats, exit_codes, severity_levels, suppression_commentsReference for the output and exit-code contract. The formats come from the CLI parser and include accepted aliases. The exit codes include the complete public workflow ladder.

Issue type rows

Each issue_types entry describes one reportable issue type:

FieldMeaning
idBare issue-type identifier, for example unused-file or high-crap-score.
rule_idThe SARIF rule id, for example fallow/unused-file or security/sql-injection.
config_keyThe key under rules in the config file, for example unused-exports. null when no rules severity controls the finding.
default_severityThe severity with zero config: error, warn, or off. null when no rules severity controls the finding.
opt_intrue when the rule is off by default and reports nothing until you turn it on.
commandThe subcommand that reports it (dead-code, health, dupes, flags, security).
categoryBroad group, for example Dead code, Dependencies, Architecture, Health, Duplication, or Security.
filter_flagCLI flag that limits output to this issue type, or null when no such flag exists.
fixabletrue if fallow fix can fix it automatically.
suppressible / suppress_commentIf an inline suppression comment applies, and the exact comment to copy. Fallow checks that the token round-trips through its suppression parser, so a copied comment is never a silent no-op.
noteCaveats, for example types that exist only in production mode, shared filter flags, or config prerequisites.
license / license_notefree or freemium. Runtime-coverage rows explain that a single local capture is free, and that continuous or multi-capture monitoring needs a license.
docs_urlDeep link into these docs.

Nullable fields are always present. When a field does not apply, its value is null.

Examples

fallow schema | jq '{
  issue_types: (.issue_types | length),
  mcp_tools: (.mcp_tools.tools | length),
  plugins: .plugins.count
}'

See also