Check command reference
init_check — Check Project Against AXM Standard
| Option | Short | Type | Default | Description |
|---|---|---|---|---|
PATH |
string | . |
Directory to check | |
--json-output |
bool | False |
Output as JSON | |
--agent |
bool | False |
Compact agent-friendly output | |
--verbose |
bool | False |
Show all checks including passed | |
--category |
string | all | Filter to one category |
Default Python categories: pyproject, ci, tooling, docs, structure,
deps, changelog, workspace, paper, experiment. The selected framework
can change this registry; see check catalogue.
protocols is an explicit-only Python category. Run it with
axm init_check PATH --category protocols; it is intentionally absent from an
unfiltered run so projects outside the protocol profile keep identical scores
and check counts. The check reads [tool.axm-init.protocols] and Python source
statically through axm-ast; it never imports the inspected package.
Exit codes:
0— Score is 100/100, or no weighted checks apply (N/A)1— Applicable score below 100, or an operational error
Example:
📋 AXM Check — my-project
Path: /path/to/my-project
pyproject (29/29)
✅ pyproject.pyproject_exists 4/4 pyproject.toml found
...
Score: 97/100 — Grade A 🏆
📝 Failures (1):
❌ docs.readme (3 pts)
Problem: README missing 1 section(s)
Missing: Development
Fix: Add Development section(s) to README.md.
Check output with workspace context:
📋 AXM Check — my-workspace
Path: /path/to/my-workspace
Context: WORKSPACE
pyproject (29/29)
✅ pyproject.pyproject_exists 4/4 pyproject.toml found
...
Score: 100/100 — Grade A 🏆
JSON output:
{
"score": 97,
"grade": "A",
"context": "standalone",
"workspace_root": null,
"excluded_checks": [],
"passed_count": 40,
"failures": [
{
"name": "docs.readme",
"message": "README missing 1 section(s)",
"details": ["Development"],
"fix": "Add Development section(s) to README.md."
}
]
}
Output contract
The JSON example illustrates the schema; its score and counts are not a
measurement of your project. --agent and --json-output both select the
compact structured data shown above. The default is compact text, while
--verbose selects the expanded human report. JSON/agent takes precedence
over verbose.
A not-applicable run has score: null and grade: null; default text shows
N/A. This is distinct from an applicable zero score. Treat N/A explicitly
in CI rather than comparing null with a number. The tool writes a local quality
snapshot as part of a check run.
Operational errors may have no structured score payload and still appear on
stderr with a nonzero exit. The CLI does not expose an --framework override;
framework detection happens from the target files.