Meant Lang
Reference / developer toolkit

Understand
the checks.

The development toolkit has seven commands for checking, simulating, formatting, and reviewing models, reading the spec, and working with agents.

Install: bun add -g meant-lang (Bun 1.4 or later) puts the meant executable on your path. Meant is a developer preview; commands and diagnostics may change between releases.

Commands

Run these from the language repository. Replace path/to/model.meant with your model. Model-processing commands also accept directory paths.

check: Validate the model

meant check path/to/model.meant --json

Parses the model, resolves references, and applies the implemented grammar and law checks. It exits with status 1 when error-severity diagnostics exist. A structurally valid model can still describe the wrong requirements.

sim: Explore modeled behavior

meant sim path/to/model.meant --json

Runs structural checks, constructs witnesses, probes supported claims, and replays scenarios within its scope. It exits with status 1 for an error or a falsified claim. Warnings and unprobeable claims still need review.

report: Find what remains unclear

meant report path/to/model.meant --json

Lists unverified prose, recurring patterns, candidate formalizations, and questions for you to review.

fmt: Keep a canonical form

meant fmt path/to/model.meant --check

Checks formatting without writing; exits with status 1 on formatting drift. Omit --check to format files. The formatter refuses files with parser errors.

skill: Give an agent the modeling discipline

meant skill
meant skill install

The first command prints portable modeling instructions. The second installs the Claude Code modeling skill into the current project. Review semantic changes yourself; agents should never weaken requirements to make checks pass.

spec: Read the normative language reference

meant spec
meant spec 15
meant check --explain V1

Print the specification, a selected section, or the explanation of a named law. Consult the normative specification for exact syntax. The whole specification is also published as spec.md.

hook: Feed model diagnostics back to an agent

meant hook

The Claude Code PostToolUse hook reads the tool event from standard input and checks edited model files. It does not check application code or runtime behavior.

Eight declaration kinds

KindPurpose
conceptDefine a business entity and its vocabulary.
dimensionDeclare a closed set of meaningful values.
touchpointsName the surfaces where users or other systems interact with the application.
shapeDefine a condition over the modeled world.
exposureDescribe how modeled information appears on a surface.
actionDeclare actors, preconditions, refusal reasons, and effects.
invariantState a behavioral claim and its declared verification approach.
scenarioDescribe a sequence with expected outcomes.

Use these declarations with the business’s own names for entities, actions, and rules. The domain header identifies the area being modeled. Consult the specification for the full grammar.

Read the diagnostic details

JSON results include the affected file and range, a law or code, severity, a message, and a suggested fix where available. Simulation adds typed verdicts and may include evidence or a counterexample.

verified must be read alongside the verdict kind. A witness, a scenario replay, and a bounded probe provide different evidence. derived describes a possible transition; unprobeable and skipped identify limits. An unknown evaluation is not assumed true.

Read the verdict interpretation table ↗

What stays outside the current toolkit

Test the application against the model’s rules and expected outcomes.