Use
Skill("ct")
for ct CLI documentation when running commands.
Schema Design Phase
Goal
Create
schemas.tsx
with all data types and Input/Output types BEFORE any pattern code.
Read First
docs/common/concepts/types-and-schemas/default.md
docs/common/concepts/types-and-schemas/writable.md
docs/common/concepts/pattern.md
(Input/Output section)
Rules
ALWAYS use
pattern()
- Never use single-type
pattern
and
in Output type Template import { Default , NAME , Stream , UI , VNode , Writable } from "commontools" ; // ============ DATA TYPES ============ export interface Item { name : Default < string , ""
; done : Default < boolean , false
; } // ============ PATTERN INPUT/OUTPUT ============ export interface ItemInput { item : Writable < Item
; // Writable in Input = pattern will modify } export interface ItemOutput { [ NAME ] : string ; // Required for sub-patterns [ UI ] : VNode ; // Required for sub-patterns item : Item ; // No Writable in Output toggle : Stream < void
; // Actions as Stream
} Done When All data types defined with correct Writable/Default wrapping All Input/Output types defined for each sub-pattern No TypeScript errors: deno task ct check schemas.tsx --no-run