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 five verbs. Each takes an optional path to the grant directory (a folder containing grant.yaml), 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 document; always writes status.json.
reviewEmit a review packet for an AI agent (no AI calls).
statusCompletion %, per-section word counts, deadline countdown.

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.

Exit codes

CodeMeaning
0Success (for check: no errors, or no warnings under --strict).
1check found errors (or warnings under --strict).
2Usage error — e.g. no grant.yaml, unknown funder pack, missing format dependency.