AFFiNE is a Yarn monorepo. Confirm paths against the current canary tree before making a broad change.
| Path | Responsibility |
|---|---|
blocksuite/ | BlockSuite editor framework, blocks, data views, graphics, and editor tests |
packages/frontend/apps/ | Web, Electron, iOS, Android, mobile, and related application entry points |
packages/frontend/core/ | Shared AFFiNE product UI and feature modules |
packages/backend/server/ | AFFiNE server, database schema, migrations, tests, and cloud features |
packages/common/ | Shared client/server libraries and infrastructure |
tests/ | Cross-package Playwright E2E and integration suites for local, cloud, desktop, mobile, and BlockSuite flows, plus shared test tooling |
tools/ | Repository build, release, and development tooling |
Start with the package README.md and package.json closest to the code you are changing. Use the root build guide for toolchain and workspace commands.