Debug Pattern
Use Skill("ct") for ct CLI documentation if debugging deployment or piece issues.
Read First
- •
docs/development/debugging/workflow.md- 5-step debugging process - •
docs/development/debugging/README.md- Error reference matrix
Process
- •
Check TypeScript errors:
bashdeno task ct check pattern.tsx --no-run
- •
Match error to documentation:
- •Read the error message carefully
- •Check
docs/development/debugging/README.mdfor matching errors
- •
Check gotchas:
- •
docs/development/debugging/gotchas/handler-inside-pattern.md - •
docs/development/debugging/gotchas/filter-map-find-not-a-function.md - •
docs/development/debugging/gotchas/onclick-inside-computed.md
- •
- •
Simplify to minimal reproduction:
- •Comment out code until error disappears
- •Add back piece by piece to find root cause
- •
Fix and verify:
- •Apply fix
- •Run tests to confirm
Common Issues
Handler defined inside pattern body:
- •Move handler() to module scope
- •Only bind it inside pattern:
onClick={myHandler({ state })}
Type errors with Writable/Default:
- •Check if field needs write access → use Writable<>
- •Check if field could be undefined → use Default<T, value>
Action not triggering:
- •Ensure Output type includes action as Stream<void>
- •Use .send() not .get() to trigger
Done When
- •Root cause identified
- •Error fixed
- •Tests pass again