Build with Milpa · Unit 2 of 4
Create a capability and a route
The generator cuts repetitive work, but the contract stays explicit: name, provided capabilities, dependencies and flavor.
By the end, you'll be able to
- Generate a plugin with a contract
- Inspect the resulting route
Understand
The generator cuts repetitive work, but the contract stays explicit: name, provided capabilities, dependencies and flavor.
After writing, inspect. A file being present doesn't prove the host registered the plugin or the route correctly.
See
Explore the atlas of boundaries
Locate the new piece on the map before turning it into code.
Do
Run the practice in your checkout and keep the output as evidence.
$php bin/coa make:plugin Catalog --provides=catalog
$php bin/coa make:controller CatalogPlugin CatalogController --path=/catalog
$php bin/coa inspect:routes
Verify
Show that you can apply the unit. Progress only advances once you pass the assessment.
Criteria assessed
- The plugin declares catalog in provides.
- The /catalog route appears in inspect:routes.
Primary sources
Content verified: 2026-07-10