Skip to content

Commit ad04e89

Browse files
Move JSDoc examples to type-checked .examples.ts files
Extract inline code examples from JSDoc comments into companion `.examples.ts`/`.examples.tsx` files. Examples are now: - Type-checked by wrapping them in functions - Referenced via `{@includecode ./file.examples.ts#regionName}` tags - Organized using `//#region` and `//#endregion` markers This keeps the main source files cleaner while ensuring examples compile correctly. Updated TypeDoc config with `exampleTag: false` to support title text on `@example` tags. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent e5c90c7 commit ad04e89

22 files changed

Lines changed: 1661 additions & 838 deletions

AGENTS.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,13 @@ Guest UI (App) <--PostMessageTransport--> Host (AppBridge) <--MCP Client--> MCP
7878
6. Host sends `sendToolResult()` when tool execution completes
7979
7. Host calls `teardownResource()` before unmounting iframe
8080

81-
## Examples
81+
## Documentation
8282

83-
Uses npm workspaces. Examples in `examples/` are separate packages:
83+
JSDoc `@example` tags use `{@includeCode ./file.examples.ts#regionName}` to pull in type-checked code from companion `.examples.ts`/`.examples.tsx` files. Regions are marked with `//#region name` and `//#endregion name`, wrapped in functions (whose parameters provide types for external values). Region names follow `exportedName_variant` or `ClassName_methodName_variant` pattern (e.g., `useApp_basicUsage`, `App_hostCapabilities_checkAfterConnection`).
84+
85+
## Full Examples
86+
87+
Uses npm workspaces. Full examples in `examples/` are separate packages:
8488

8589
- `basic-server-*` - Starter templates (vanillajs, react, vue, svelte, preact, solid). Use these as the basis for new examples.
8690
- `basic-host` - Reference host implementation

0 commit comments

Comments
 (0)