Appearance
Authoring
Authoring is what a package author does between mx init and pnpm build. It covers everything that lives on disk before the package is built or run: source files, manifests, declarations.
Pages
- Scaffold a package —
mx init,mx actor,mx webapp,mx cqrs,mx actor-element - Package manifest — every field of
matrix.jsonand what each one drives - Runtime entrypoints —
runtime.entry,runtime.browserEntry,runtime.bootstrapEntry, thematrix.service.jsonfactory contract - Actor declarations — declaring components in
matrix.json,accepts/emits/streamsstatic contracts - App surfaces — the
webappblock, asset layout, shells, route prefixes - Config contract — the
configblock, schemas, defaults, providers - Capability declarations — the
permissionsblock today and the target-state capability surface
Authoring rules that apply to every page in this section
These come from CLAUDE.md Rule 9 and the actor communication contract:
- TypeScript strict mode. No
any, noas any. - No cross-package
../../imports. Use declared npm dependencies. - No
console.login actor code. UseactorLog(). - No filesystem paths from caller-supplied strings without validation.
- No hardcoded ports, hostnames, or roots — packages do not own the environment. Read them from
loadPackageEnvironment/ Host config. - Every list op returns cursor-based pagination.
- Every write op accepts an optional
idempotencyKey. - Schema evolution is additive only. Never remove fields; add optional ones.
See also
- Overview → What is a Matrix package?
- Reference → Manifest schema
- Local Development for what to do after authoring