charly new
| Served by | plugin-box |
| Placement | compiled-in (in-process) |
| Version | 2026.194.0000 |
new is a command word served by the plugin-box plugin candy. This plugin is listed in charly/charly.yml’s compiled_plugins:, so its providers are compiled into the charly binary and register in-process.
About the plugin that serves it
Section titled “About the plugin that serves it”The build-mode charly box … verb HANDLERS relocated into a COMPILED-IN command plugin
candy (P15, K5). charly box is a SHARED command group whose subcommands have different
owners: the core BoxCmd keeps the grammar spine + build (→plugin-build) / merge / labels /
feature / the authoring verbs, while THIS candy contributes six NESTED command providers
under the box parent (each command:generate renders
the .build/ tree by InvokeProvider’ing the peer build:generate word (candy/plugin-build),
which drives HostBuild(“build-resolve”, GenerateOnly); new (candy/project/box) calls the
sdk/kit scaffold engine directly (kit.ScaffoldCandy/ScaffoldProject/AddBox), no core
reentry; validate fetches the error-TOLERANT resolved-project envelope
(HostBuild(“validate-project”)) and runs the whole per-kind/op rule engine + the deploykit
resolution-graph checks IN-PLUGIN over it, merging the host’s CUE-conformance / tunable /
base⊻from diagnostics for the verdict; pkg reaches the hidden core __box-pkg reentry
over HostBuild(“cli”); inspect and list read the generic spec.ResolvedProject envelope
(InvokeProvider(“build”,“project”)) — inspect’s default JSON is snake_case canonical — with the
deploy-overlay formats (inspect tunnel/bind_mounts) + store-live list tags reaching the
hidden core __box-inspect-overlay / __box-list-tags reentries. Their data still needs the
fully-resolved project / deploy overlay / podman store the plugin cannot compute pre-K1. It
imports only the sdk module, never charly core. Placement-invisible (F8): the SAME provider
compiles into charly or serves out-of-process.
Run charly new --help for the live flag grammar.