From fdb3fec236c08c2a50c512c869d314c4fa3f021e Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Sat, 28 Feb 2026 23:18:55 +0300 Subject: [PATCH] Add AGENTS.md --- AGENTS.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..94847ec41 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,20 @@ +# OpenPencil + +Vue 3 + CanvasKit (Skia WASM) + Yoga WASM design editor. Tauri v2 desktop app, also runs in browser. + +## Commands + +- `bun run check` — lint + typecheck (run before committing) +- `bun run format` — oxfmt with import sorting +- `bun test ./tests/engine` — unit tests +- `bun run test` — Playwright visual regression + +## Rules + +- Use `@/` import alias for cross-directory imports, `./` for same directory +- No `any` — use proper types, generics, declaration merging +- No `!` non-null assertions — use guards, `?.`, `??` +- Shared types live in `src/types.ts` (GUID, Color, Vector, Matrix, Rect) +- Mac shortcuts: use `e.code` not `e.key` (Option transforms characters) +- UI components: use reka-ui +- `src/kiwi/kiwi-schema/` is vendored — don't modify