docs(storefront): conform tutorial + fresh-ui/web-layer to alpha.18 feature sweep#233
Conversation
…eature sweep Storefront tutorial D-01…D-05 conformance to the shipped #206–#231 surface, plus accuracy reconciliation on the fresh-ui/web-layer pages the sweep touched. D-01 (01-scaffold): Aspire dashboard URL is https; fileTree includes database/ and tests/. D-02 (02-catalog-service): real #208 CRUD surface — createCrudContract + @database/zod + context.db; errors thrown via the contract's typed errors.NOT_FOUND (no hand-rolled notFound import); router nests health under products (no invented health-router import). D-03 (03-cart-contracts): register in mod.ts, PascalCase CartContractV1, import from @my-shop/contracts and the ./versions/v1 subpath. Reconciled 02's products.contract.ts exports to the same PascalCase convention (ProductsContract/ProductsContractV1) so ch2↔ch3 imports agree. D-04 (04/05): public `netscript plugin install saga|trigger --name … --samples`. Feature recon to the sweep: DataTable→DataGrid (#209/#225), Icon primitive (#211/#224) and DataGrid in fresh-ui root exports, Dropzone/prompt-input mentions (#214/#229, #212/#226), managed <Form> class + <form> attrs (#213/#228), useIslandMutation onMutate/onSettled (#210/#227). Docs-only. build + check:links + check:caveats green. Refs #153. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
🤖 Augment PR SummarySummary: This PR updates NetScript documentation to match the shipped Changes:
Technical Notes: Docs-only change set; includes consistency updates to match current public package exports and scaffolded code patterns. 🤖 Was this summary useful? React with 👍 or 👎 |
| rows: [ | ||
| { name: "netscript ui:init", type: "install foundation", desc: "Installs the Fresh UI foundation set into an app workspace. The scaffold runs the equivalent for you; run it once when adding UI to an app that lacks it." }, | ||
| { name: "netscript ui:add <name>", type: "add an item", desc: "Copies one registry item or a named collection into components/ui/, wires its CSS, and merges any required deno.json imports. Example: netscript ui:add data-table." } | ||
| { name: "netscript ui:add <name>", type: "add an item", desc: "Copies one registry item or a named collection into components/ui/, wires its CSS, and merges any required deno.json imports. Example: netscript ui:add data-grid." } |
There was a problem hiding this comment.
netscript ui:add data-grid looks like it would fail today because the Fresh UI registry manifest still defines data-table (and the CLI errors on unknown registry item names). This also conflicts with the existing netscript ui:add data-table examples elsewhere in the docs.
Severity: medium
Other Locations
docs/site/capabilities/fresh-ui.md:101
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| export const v1 = { | ||
| products: productsContractV1, | ||
| cart: cartContractV1, | ||
| products: ProductsContractV1, |
There was a problem hiding this comment.
This uses ProductsContractV1/CartContractV1 as the values in v1, but the scaffolded contract templates distinguish *ContractV1 (raw contract) vs *V1 (implemented contract with .handler() / $context). If a reader copy/pastes this into a default scaffold without also renaming the exports, it’s very likely to break type-checking or lead to wiring the non-implemented contract into v1 by mistake.
Severity: low
Other Locations
docs/site/tutorials/storefront/02-catalog-service.md:114docs/site/tutorials/storefront/02-catalog-service.md:129
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
What
Storefront tutorial D-01…D-05 conformance to the shipped alpha.18 feature sweep (#206–#231), plus accuracy reconciliation on the fresh-ui / web-layer pages that sweep touched. First slice of the docs march to
0.0.1-stable.Docs-only. Authored via a Claude documentation workflow, applied + validated + committed on the Windows/Claude side (no framework source touched).
Storefront conformance
01-scaffold.mddatabase/+tests/.02-catalog-service.mdcreateCrudContract+@database/zod+context.db; errors thrown via the contract's typederrors.NOT_FOUND(removed hand-rollednotFoundimport); router nestshealthunderproducts(removed invented health-router import).03-cart-contracts.mdmod.ts, PascalCaseCartContractV1, import from@my-shop/contracts+ the./versions/v1subpath. Also realigned ch2'sproducts.contract.tsexports to PascalCase (ProductsContract/ProductsContractV1) so the ch2↔ch3 imports agree.04-checkout-saga.md,05-shipping-webhook.mdnetscript plugin install saga|trigger --name … --samples.Feature-sweep reconciliation (fresh-ui / web-layer)
capabilities/fresh-ui.md+reference/fresh-ui/index.md: DataTable→DataGrid (fresh-ui: promote a generic templated DataGrid (successor to un-templated DataTable) #209/feat(fresh-ui): promote generic templated DataGrid (successor to DataTable) (#209) #225), Icon primitive + DataGrid in root exports (fresh-ui: promote Icon as a first-class stroke-SVG primitive #211/feat(fresh-ui): promote Icon as a first-class stroke-SVG primitive (#211) #224), Dropzone/prompt-input mentions (dropzone: promote drag + clipboard-paste + multi-file ingest behavior #214/feat(fresh-ui): Dropzone drag + clipboard-paste + multi-file ingest (#214) #229, prompt-input: adopt CSS field-sizing:content auto-grow in the primitive #212/fix(fresh-ui): auto-grow prompt-input via CSS field-sizing:content (#212) #226).web-layer/form.md: managed<Form>forwardsclass+ arbitrary<form>attributes (form: managed <Form> rejects class/arbitrary attrs on formProps (DX gap) #213/fix(fresh): accept class + standard <form> attrs on managed Form formProps (#213) #228).web-layer/query.md:useIslandMutationonMutate/onSettled(query islands: useIslandMutation missing onMutate/onSettled (no true optimistic rollback) #210/feat(fresh): add onMutate/onSettled to useIslandMutation for optimistic rollback (#210) #227).Validation
deno task build✓ (308 files)deno task check:links✓ (18,722 internal links across 131 pages resolve)deno task check:caveats✓ (30 caveat markers resolve)deno fmtrun ondocs/site(per docs build policy).Scope
Refs #153— does not close it; the full manual Run-2 walk stays for after the release cut. Remaining docs-march work is tracked in the umbrella #232 and lands as focused PRs after the next release cut.Refs #153
Refs #232
🤖 Generated with Claude Code