AFFiNE changes quickly. Use this section to choose the right development target, then follow the linked guide in the AFFiNE canary branch for version-sensitive setup.
| Target | Authoritative guide |
|---|---|
| Web app and editor | Building AFFiNE Web |
| Server and cloud features | Developing the server |
| Desktop client | Building the desktop client |
| iOS | iOS package guide |
| Android | Android package guide |
| Documentation site | Documentation contribution workflow |
canary, the development branch..nvmrc, the Yarn version pinned by package.json, and the Rust toolchain pinned by the repository.yarn lint, yarn typecheck, and the tests relevant to your change before opening a pull request.See Project map for repository orientation, Architecture for code boundaries, and Contributing for the complete pull request flow.