AnkiEco is a toolkit for building cross-platform Anki experiences with template-driven extensions, interactive templates, and developer utilities.
- Extensions – template-based add-ons such as CardMotion and Tldraw
- Classic templates – interactive templates (MCQ, Cloze, Match, Input, etc.) with usage guides
- Packager CLI – instructions for packaging templates into
.apkg
decks
- Template-first extensions: CardMotion adds polished review animations; Tldraw embeds a full whiteboard across Anki Desktop, AnkiMobile, AnkiDroid, and AnkiWeb
- Classic template library: Ready-to-use templates covering multiple choice, cloze, input, match, and true/false flows with markdown, math, and Mermaid support
- Deck packaging workflow:
@anki-eco/packager
converts template sources into shareable.apkg
archives for single or multi-deck projects - Shared toolkits:
@anki-eco/kit
,@anki-eco/shared
, and related packages provide reusable runtime helpers for templates and extensions
apps/docs
: VitePress site backing the documentation links abovepackages/extensions
: Source for published web-component extensions (CardMotion, Tldraw, etc.)packages/packager
: CLI that bundles template source directories into Anki deckspackages/kit
,packages/shared
,packages/dev-ui
: Internal libraries that power extensions and template statetemplates/
: Reference template projects, including the Classic bundle plus React and Vue examples
Prerequisites
- Node.js 23.6.0 or newer (for native TypeScript support)
- Enable Corepack (ships with Node ≥ 16.9) so pnpm 9 is available:
corepack enable
- Install
uv
for the Python tooling used in the packager build
Setup
- Install dependencies:
pnpm install
- Launch the documentation site locally:
pnpm nx run docs:dev
Refer to the documentation site for detailed setup instructions, template configuration snippets, and customization guides.