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
| Block | Contents |
|---|---|
manifest_version | Version of the manifest shape (currently "1"). Check it when you generate docs from the output. |
version | The fallow CLI version that produced the manifest. |
commands, global_flags | Every CLI command and flag, with type, default, and description. Fallow reads these from the live CLI definition. |
issue_types | One row per reportable issue type across all analyses (see below). |
task_matrix | The 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_tools | Every 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_resources | Every 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. |
plugins | Count and names of the built-in framework plugins, from the live plugin registry. |
environment_variables | Every user-facing FALLOW_* variable with a one-line description. |
boundary_presets | The built-in architecture boundary presets, each with a name, a description, and the config line that turns it on. |
security_categories | The valid ids for security.categories.include and exclude. |
taste_choices | Setup decisions that an agent can ask the user about, each with a prompt, options, and the config_paths that the answer sets. |
related_schemas | The commands that print the other JSON Schemas: fallow config-schema, fallow plugin-schema, and fallow rule-pack-schema. |
field_notes | How to read the default_severity, opt_in, frameworks, and config_key fields of the issue type rows. |
output_formats, exit_codes, severity_levels, suppression_comments | Reference 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:
| Field | Meaning |
|---|---|
id | Bare issue-type identifier, for example unused-file or high-crap-score. |
rule_id | The SARIF rule id, for example fallow/unused-file or security/sql-injection. |
config_key | The key under rules in the config file, for example unused-exports. null when no rules severity controls the finding. |
default_severity | The severity with zero config: error, warn, or off. null when no rules severity controls the finding. |
opt_in | true when the rule is off by default and reports nothing until you turn it on. |
command | The subcommand that reports it (dead-code, health, dupes, flags, security). |
category | Broad group, for example Dead code, Dependencies, Architecture, Health, Duplication, or Security. |
filter_flag | CLI flag that limits output to this issue type, or null when no such flag exists. |
fixable | true if fallow fix can fix it automatically. |
suppressible / suppress_comment | If 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. |
note | Caveats, for example types that exist only in production mode, shared filter flags, or config prerequisites. |
license / license_note | free or freemium. Runtime-coverage rows explain that a single local capture is free, and that continuous or multi-capture monitoring needs a license. |
docs_url | Deep 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
}'