diff --git a/.claude/rules/architecture.md b/.claude/rules/architecture.md index b1d8d56..c31d4ea 100644 --- a/.claude/rules/architecture.md +++ b/.claude/rules/architecture.md @@ -3,7 +3,7 @@ - Each `@pyreon/zero` subpath export (`./link`, `./cache`, etc.) must have a matching entry in `packages/zero/package.json` exports map with `bun`, `import`, and `types` conditions - Shared utilities go in `packages/zero/src/utils/` — only extract when used by 2+ files - Vite plugins follow the pattern: `export function pluginName(config = {}): Plugin` -- Middleware uses the `(request, next) => Promise` signature from `@pyreon/server` +- Middleware uses the `(ctx: MiddlewareContext) => Response | void | Promise` signature from `@pyreon/server` - Use `withHeaders()` from `utils/with-headers.ts` for Response header modification in middleware - Use `useIntersectionObserver()` from `utils/use-intersection-observer.ts` instead of raw IntersectionObserver - Components that need customization should expose 3 levels: composable (`useX`), HOC (`createX`), default component diff --git a/.claude/rules/code-style.md b/.claude/rules/code-style.md index 95e3911..9f7209c 100644 --- a/.claude/rules/code-style.md +++ b/.claude/rules/code-style.md @@ -4,7 +4,7 @@ - JSX via `@pyreon/vite-plugin` — never import `h` manually in `.tsx` files - Use Biome for formatting and linting — run `bunx biome check .` before committing - Prefer `signal`, `computed`, `effect` from `@pyreon/reactivity` — no React hooks -- Use `onMount` / `onCleanup` lifecycle hooks, not `useEffect` +- Use `onMount` / `onUnmount` / `onCleanup` lifecycle hooks, not `useEffect` - Prefer composition (composables like `useLink`) over inheritance - Export types separately: `export type { Foo }` not mixed with value exports - No default exports except Vite plugin (`export { zeroPlugin as default }`) and route components diff --git a/packages/create-zero/templates/default/src/routes/counter.tsx b/packages/create-zero/templates/default/src/routes/counter.tsx index ee5f8c4..1933741 100644 --- a/packages/create-zero/templates/default/src/routes/counter.tsx +++ b/packages/create-zero/templates/default/src/routes/counter.tsx @@ -25,7 +25,7 @@ export default function Counter() {
-
{count}
+
{() => count()}