Skip to content

chant describe

llms.txt lists every page for an agent
chant describe <component> [path] [flags]

chant describe prints the effective, fully-resolved configuration for a single named component (its resolved property bag and the resources it produces), offline from source with no live calls.

Where chant list shows inventory and chant graph shows edges, describe shows the resolved detail for one thing. It is most useful with layered configuration, where it gives the effective config for a component after every spread and override, so you don’t merge the layers by hand.

<component> is a named export:

  • An exact entity name (e.g. webDeployment) describes that one declarable.
  • A composite instance (e.g. prodApp from WebApp(...)) describes the group of resources it produces (prodAppDeployment, prodAppService, …), each with its resolved props.

path is the project directory (default .).

FlagTypeDefaultDescription
-f, --formatstringtextOutput format: text or json
--componentsbooleanfalseDescribe a discovered component instead of a lexicon resource
Terminal window
chant describe prodApp src
chant describe prodApp src --format json
chant describe webDeployment # a single declarable, in the current dir
chant describe search-service --components # a discovered Component, in the current dir
chant describe search-service src --components --format json

chant describe <name> --components looks up one discovered Component by its name field (not its export name) and prints its full JSON contract projection. It is the same document chant build would hand to the interpret driver, and it validates against component.schema.json.

{
"name": "search-service",
"archetype": "service",
"dependsOn": ["shared-alb"],
"build": { "kind": "docker-build", "context": ".", "into": "archive" },
"deploy": [ "..." ]
}

The --json output carries the full per-resource breakdown:

{
"component": "prodApp",
"composite": true,
"resources": [
{ "name": "prodAppDeployment", "lexicon": "k8s",
"entityType": "K8s::Apps::Deployment", "kind": "resource",
"props": { "metadata": { "...": "..." }, "spec": { "replicas": 6 } } }
]
}

describe v1 is the resolved view. Two capabilities are deferred until there is demand for them:

  • --explain — per-property provenance (which layer set each value, and what it overrode). Cheap only once chant owns the merge (a blessed deepMerge), which is itself deferred.
  • --diff <a> <b> — compare the effective config across two environments/stacks.
CodeMeaning
0Described successfully
1Component not found, or an error

chant