1. Install
| Where | Requirements | |
|---|---|---|
| iPhone / iPad | App Store | iOS 17.0 or later |
| Android | Google Play (from the “Zen Article” developer page) | Android 8.0 or later |
| Mac | A .dmg straight from this site | macOS 13 or later, notarised by Apple |
The Mac build is distributed directly rather than through the App Store. The download page lists the version, size and SHA-256, so you can check that what you downloaded is what was published. There are no Windows or Linux builds.
2. Try the bundled samples
Three sample cards ship with the app. Without connecting anything, you can see quizzing, reference expansion and grading end to end. They are cards about basic statistics, written for this purpose.
3. Read the demo (no account needed)
“Read the demo” in settings loads a public demo repository without authenticating. With no account and no token, you can watch the whole path — connect, fetch the tree, fetch the cards, quiz — exactly as it runs for real.
While the demo is loaded, a banner at the top of the list says so.
Grades on the demo and the samples are never sent to your repository. They are written to a separate place on the device and discarded the moment you pick a repository of your own (the app says when it discards them). A grade for a card that does not exist in your vault would be stuck in an append-only log forever.
4. Connect GitHub
Connect → approve in the browser → pick from the repositories you can see. There is nothing to type.
- “Connect GitHub” from settings (or the top of the list)
- An eight-character code appears. Enter it in the browser that opens and approve
- The app receives the token by itself
Underneath this is GitHub’s device flow, which needs no server-side secret — so there is no relay server for this app anywhere.
It is fine to leave the app mid-approval. The code is valid for 15 minutes and is kept on the device, so the app picks the exchange back up when you return (on Mac, even if you close the window, it resumes on the next launch).
Choose which repositories it can see
Connecting alone does not make any repository visible. Anchor installs as a GitHub App, so only the repositories you decide to show it are visible.
If the repository list comes back empty, use “Choose which repositories to share” in settings to open GitHub’s install screen, pick your repositories, and load the list again.
The permission it needs is Contents: read and write (reading cards, writing back the review log). For the Changes tab, add Pull requests: read-only.
Pasting a token still works
For self-builds and for organisations that block the login flow, you can paste a fine-grained PAT instead. A PAT scoped to that one repository with Contents: Read and write is the recommended shape. Either way the token is stored only in the device keychain — never synced to iCloud, never written to the repository.
5. Add a card
Put one Markdown file in the repository and it becomes quizzable. The shortest possible example:
---
id: stat-sd-reading
deck: Statistics/Basics
---
# What standard deviation tells you
Two datasets have the same mean. Which single number says which one is more spread out?
<!-- back -->
Square each value's distance from the mean and average it (the variance), then take the square root. It carries the same unit as the data, so it reads as "typically this far from the mean".
- A file cannot sit at the root of the vault (it must be inside at least one directory)
- Never change an
id. It is the only link to your history - The whole format is in the card format
- To have an agent write them, see having your cards written
6. Sync
Use the sync button on the study tab, or pull to refresh. It reads cards and three files under data/, and writes back only your review log and the weak-card snapshot (sync).
When it finishes, the decks list shows “due n / new n” per deck. Pick one and reviewing starts (reviewing).