mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-10-25 00:44:38 +02:00
* chore: init CLAUDE.md * Add Copilot instructions * update gitignore * simplify --------- Co-authored-by: Mark Tolmacs <mark@lazycat.hu>
1.3 KiB
1.3 KiB
CLAUDE.md
Project Structure
Excalidraw is a monorepo with a clear separation between the core library and the application:
packages/excalidraw/- Main React component library published to npm as@excalidraw/excalidrawexcalidraw-app/- Full-featured web application (excalidraw.com) that uses the librarypackages/- Core packages:@excalidraw/common,@excalidraw/element,@excalidraw/math,@excalidraw/utilsexamples/- Integration examples (NextJS, browser script)
Development Workflow
- Package Development: Work in
packages/*for editor features - App Development: Work in
excalidraw-app/for app-specific features - Testing: Always run
yarn test:updatebefore committing - Type Safety: Use
yarn test:typecheckto verify TypeScript
Development Commands
yarn test:typecheck # TypeScript type checking
yarn test:update # Run all tests (with snapshot updates)
yarn fix # Auto-fix formatting and linting issues
Architecture Notes
Package System
- Uses Yarn workspaces for monorepo management
- Internal packages use path aliases (see
vitest.config.mts) - Build system uses esbuild for packages, Vite for the app
- TypeScript throughout with strict configuration