@craft-ts/mcp 0.8.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/best-practices.md +1 -1
- package/content/docs-index.json +18 -18
- package/package.json +2 -2
- package/skills/craft-ts-architecture-tests/SKILL.md +1 -1
- package/skills/craft-ts-routes/SKILL.md +29 -33
- package/skills/craft-ts-routes/references/di-checks.md +34 -80
- package/skills/craft-ts-routes/references/eslint-workflow.md +19 -34
- package/skills/craft-ts-routes/references/pending-and-exceptions.md +4 -10
- package/skills/craft-ts-routes/references/scaling-and-pitfalls.md +34 -87
- package/skills/craft-ts-service-migration/SKILL.md +5 -4
- package/skills/migrate-to-craft-ts/SKILL.md +1 -2
|
@@ -82,7 +82,7 @@ Decision page: `/guide/concepts/choose-primitive`.
|
|
|
82
82
|
5. **Forms** derive from `state` + `insertForm`. Validators are `cRequired`, `cEmail`, `cMinLength`, … Submit through `insertFormSubmit` + a `mutation`. Failures are `craftException` values. Search terms `form`, `formulaire`, `validation`, `submit`, `field`, and `FormData` map to these APIs; native `FormData` is an interoperability boundary, not the form state model.
|
|
83
83
|
6. **Services:** `craftService({ name, scope }, function* () { ... })`. Consume
|
|
84
84
|
the generated `X()` helper, typically `yield* X(...)`.
|
|
85
|
-
7. **Routes:** `craftRoutes(name, [...])`, every component route has `componentDeps: {} as import('./x').GenDeps_X`, and
|
|
85
|
+
7. **Routes:** `craftRoutes(name, [...])`, every component route has `componentDeps: {} as import('./x').GenDeps_X`, and every routed component has its own `RouteCheckedDI` / `CanRun` check. Checks do not cross a `loadChildren` boundary.
|
|
86
86
|
8. **Templates:** `ifNode` / `matchNode` / `forNode` / `deferNode`, not `@if` / `@for`. Interactive helpers take a unique literal local name: `button('save', { type: 'button', ... }, 'Save')`. The name is `data-craft-name` and must be unique in the app (`assertInteractiveElementNamed`).
|
|
87
87
|
9. **Let ESLint keep generated aliases.** After DI or route edits, run `eslint --fix`. Do not hand-edit `GenDeps_*` or `_Check*` / `_CanRun*` blocks.
|
|
88
88
|
|