Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

CLI overview

GrantKit has exactly six verbs. Each takes an optional path — the grant directory (a folder containing grant.yaml), or for budget a portfolio directory — defaulting to the current directory.

grantkit COMMAND [OPTIONS] [PATH]
CommandDescription
initScaffold a grant project (optionally from a funder pack).
checkLint the proposal; non-zero exit on errors.
buildCompile responses into one review document; always writes status.json.
reviewEmit a review packet for an AI agent (no AI calls).
statusCompletion %, per-section word counts, deadline countdown.
budgetCompile a budget from a menu + rates + a selection.

init

grantkit init [--funder PACK_ID] [--force] [PATH]

Scaffolds grant.yaml, responses/, budget.yaml, and references.bib. With --funder, sections and limits come from the named rule pack. --force overwrites an existing project.

check

The linter. See check.

grantkit check [--json] [--strict] [--urls] [PATH]

build

The compiler. See build.

grantkit build [--format md|html|pdf|docx] [--share] [--output PATH] [PATH]

review

grantkit review [--pack] [--output FILE] [PATH]

Emits a JSON review packet — the funder’s assessment rubric, the assembled section content, and the current check results — for an AI agent to critique. GrantKit makes no AI calls; it only builds the packet. --pack embeds the full funder rule pack, not just the rubric. Pipe it straight to your agent:

grantkit review | claude -p "Review this proposal against the rubric."

status

grantkit status [--json] [PATH]

Prints completion percentage, per-section word counts, and a deadline countdown. --json writes (and prints) status.json — see artifacts.

budget

grantkit budget [--selection ID | --combine ID1,ID2] [--check] [--json] [--output FILE] [--narrative] [PATH]

Compiles a portfolio selection — a proposal expressed as fractions of a priced work-item menu — into budget tables, a markdown budget document (--output), or structured JSON. --check runs the integrity gates only, including the co-funding gate that errors when live or awarded proposals sell the same item past 100%. PATH is a portfolio directory or a grant project bound via budget_model:. See the budget model and rates contract.

--combine rolls up two or more packages into one funding-coverage view. It stacks per-funder item and org-base shares, shows the unclaimed core-ops gap, counts a shared org-base roster once, and runs C2 as though every chosen package were live. It requires structured JSON and/or a Markdown output file; single-selection output is unchanged.

Exit codes

CodeMeaning
0Success (for check: no errors, or no warnings under --strict). A computable budget --combine scenario also succeeds when its only errors are embedded C2 over-allocation findings.
1check found errors (or warnings under --strict); budget --check found errors; or budget compilation found a blocking structural error.
2Usage error — e.g. no grant.yaml, unknown funder pack, missing format dependency, unreadable portfolio or unknown selection.