{"_id":"@2anki/cli","_rev":"4-a6e5e5c84b49085b518f7c591c917efd","name":"@2anki/cli","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.1":{"name":"@2anki/cli","version":"0.1.1","keywords":["anki","2anki","flashcards","cli"],"license":"MIT","_id":"@2anki/cli@0.1.1","maintainers":[{"name":"aalemayhu","email":"alexander@alemayhu.com"}],"homepage":"https://2anki.net/developers","bin":{"2anki":"2anki.cjs"},"dist":{"shasum":"ad09c2b0af99867bd73dd34574ac35a4c772c923","tarball":"https://registry.npmjs.org/@2anki/cli/-/cli-0.1.1.tgz","fileCount":3,"integrity":"sha512-Al8nEdiFRQP+ie1dUnX3HZnCrc3rZFyMNLOdsAoWO3hjvRutc9/G/JCIOtw7SXc0mAAB9YkGoBVvyofX2So5kg==","signatures":[{"sig":"MEUCICpBm262cq0MyO4ytBb3dOUFbDR1Qs6rOA02JIAxM7xtAiEArYwXuA3nE8IjUV5gsK0+mvf3u4XILI5wAtO8HFQen80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15403},"type":"commonjs","engines":{"node":">=18"},"gitHead":"7e1cab95a708a6632cb6591f439611868705c88d","_npmUser":{"name":"aalemayhu","email":"alexander@alemayhu.com"},"_npmVersion":"10.9.3","description":"Turn your notes into Anki decks with the 2anki API","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1784331476602_0.8729830585821914","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@2anki/cli","version":"0.1.4","keywords":["anki","2anki","flashcards","cli"],"license":"MIT","_id":"@2anki/cli@0.1.4","maintainers":[{"name":"aalemayhu","email":"alexander@alemayhu.com"}],"homepage":"https://2anki.net/developers","bugs":{"url":"https://github.com/Laer-Smart/2anki.net/issues"},"bin":{"2anki":"2anki.cjs"},"dist":{"shasum":"26488a5d9df6d9899bad82713e265c665ae99e95","tarball":"https://registry.npmjs.org/@2anki/cli/-/cli-0.1.4.tgz","fileCount":3,"integrity":"sha512-LBzOXOx7UA8/hPTxLE15ojP4WsBQL5ktxjwWzr5iH0bhoAu0WN7JoL6Z6aVtWM/QvpQzFoRI2woBaQ5h0QZiog==","signatures":[{"sig":"MEUCIB5SkxfhZh/Y01e7EtrazdCc4c89s28iXTJ2b/vc2xOlAiEAsFEdCAD/WlLQcJrpwvjLnSyF+OqEJxLBtIt62Dptz5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2anki%2fcli@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15506},"type":"commonjs","engines":{"node":">=18"},"gitHead":"2b452d9c3ee087a835dd23fbd3e8fb65d2ee411e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5bbc2446-1afe-41ee-bcdc-51409fa81faa"}},"repository":{"url":"git+https://github.com/Laer-Smart/2anki.net.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn your notes into Anki decks with the 2anki API","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1784332589013_0.5346355748521927","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@2anki/cli","version":"0.1.5","keywords":["anki","2anki","flashcards","cli"],"license":"MIT","_id":"@2anki/cli@0.1.5","maintainers":[{"name":"aalemayhu","email":"alexander@alemayhu.com"}],"homepage":"https://2anki.net/developers","bugs":{"url":"https://github.com/Laer-Smart/2anki.net/issues"},"bin":{"2anki":"2anki.cjs"},"dist":{"shasum":"f86c3c6a556c37304aad910973fbb02b27d699ed","tarball":"https://registry.npmjs.org/@2anki/cli/-/cli-0.1.5.tgz","fileCount":3,"integrity":"sha512-jHOrPHX/Z8YS68NyJI1//dSP2TU7mrbabZ1Gfr2INYbroZfkAHiLlR6ZiTHvWEAkQF/mxmG/neEE3EoNIe8g2A==","signatures":[{"sig":"MEYCIQDf5QbMLSDQFoPmd4/WRcx7YaABdg7I7Zavlyt2YG/2EQIhAJy3E4FbDcrYqgxaKoHT1uX9hY4X/YarD0Jew0h55Qar","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2anki%2fcli@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15508},"type":"commonjs","engines":{"node":">=18"},"gitHead":"1fd3c4406165360e01c19e9846d1eb7dcf42ee8a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5bbc2446-1afe-41ee-bcdc-51409fa81faa"}},"repository":{"url":"git+https://github.com/Laer-Smart/2anki.net.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn your notes into Anki decks with the 2anki API","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.5_1784333863512_0.593803595962779","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@2anki/cli","version":"0.1.6","description":"Turn your notes into Anki decks with the 2anki API","bin":{"2anki":"2anki.cjs"},"type":"commonjs","repository":{"type":"git","url":"git+https://github.com/Laer-Smart/2anki.net.git"},"engines":{"node":">=18"},"keywords":["anki","2anki","flashcards","cli"],"homepage":"https://2anki.net/developers","license":"MIT","gitHead":"4e44fd401af7c588c94c9032bda2c0ea8a9fb210","_id":"@2anki/cli@0.1.6","bugs":{"url":"https://github.com/Laer-Smart/2anki.net/issues"},"_nodeVersion":"22.20.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-wiprfxsBlvMIUDX9EypGjbVaZ1Q+ygKRrjfP4LoHPVe53tqvaChJzxXAVFZt1U+kB7IjMy3OrejWYnU1cJ1Gjg==","shasum":"2a15cfb575aa9b933ef1e6d1c04e2d71fdc45ade","tarball":"https://registry.npmjs.org/@2anki/cli/-/cli-0.1.6.tgz","fileCount":3,"unpackedSize":16712,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@2anki%2fcli@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDmhDOqy2TmxxXW7CobPx4ZxvwSDKGRbEjwbQCbe84WxAiAS6+ozkmblnjxjoikCydQcN9Zo8CxR/x99kOgQXdqoRQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5bbc2446-1afe-41ee-bcdc-51409fa81faa"}},"directories":{},"maintainers":[{"name":"aalemayhu","email":"alexander@alemayhu.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.6_1784357788623_0.3013957804184402"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-17T23:37:56.466Z","modified":"2026-07-18T06:56:29.103Z","0.1.1":"2026-07-17T23:37:56.760Z","0.1.4":"2026-07-17T23:56:29.169Z","0.1.5":"2026-07-18T00:17:43.680Z","0.1.6":"2026-07-18T06:56:28.755Z"},"bugs":{"url":"https://github.com/Laer-Smart/2anki.net/issues"},"license":"MIT","homepage":"https://2anki.net/developers","keywords":["anki","2anki","flashcards","cli"],"repository":{"type":"git","url":"git+https://github.com/Laer-Smart/2anki.net.git"},"description":"Turn your notes into Anki decks with the 2anki API","maintainers":[{"name":"aalemayhu","email":"alexander@alemayhu.com"}],"readme":"# 2anki CLI\n\nTurn your notes into Anki decks, using a 2anki API key.\n\n> **Under development · invite-only.** Access is limited to lifetime accounts and\n> people who have been granted developer access. Request access from the\n> [Developers page](https://2anki.net/developers).\n\n## Install (npm)\n\n```bash\nnpx @2anki/cli login          # run without installing\nnpm i -g @2anki/cli && 2anki login   # or install globally\n```\n\nNode users get zero macOS Gatekeeper prompts this way.\n\n## Install (binary)\n\nDownload the binary for your platform from the\n[latest release](https://github.com/2anki/server/releases/latest).\n\n**macOS** — the binary is not yet notarized, so Gatekeeper blocks it on first\nrun. Clear the quarantine flag once:\n\n```bash\nxattr -d com.apple.quarantine ./2anki-macos-arm64\nchmod +x ./2anki-macos-arm64\n./2anki-macos-arm64 help\n```\n\n**Linux:**\n\n```bash\nchmod +x ./2anki-linux-x64\n./2anki-linux-x64 help\n```\n\nRename to `2anki` and put it on your `PATH` to run it as `2anki <command>`.\n\n## Install (dev)\n\nFrom the repo root:\n\n```bash\npnpm cli -- <command>        # runs src/cli/index.ts via tsx\n```\n\n## Log in\n\n```bash\n2anki login\n```\n\nOpens the [Developers page](https://2anki.net/developers), where you create an\nAPI key (shown once). Paste it back into the prompt. The key is stored in\n`~/.2anki/config.json` with owner-only permissions. To skip the browser:\n\n```bash\n2anki login --key sk_live_…\n```\n\nAccess to the Developers page is limited to lifetime accounts. Free and\nsubscriber accounts can request access from that page.\n\n## Commands\n\n| Command                | What it does                                           |\n| ---------------------- | ------------------------------------------------------ |\n| `2anki login`          | Connect an API key                                     |\n| `2anki whoami`         | Show the account and keys this machine is connected to |\n| `2anki convert <file>` | Convert a file into an Anki deck                       |\n| `2anki logout`         | Remove the stored key from this machine                |\n| `2anki help`           | Show help                                              |\n\n## Configuration\n\n| Env var              | Purpose                                                                 |\n| -------------------- | ----------------------------------------------------------------------- |\n| `TWOANKI_API_BASE`   | Point the CLI at a different API host (defaults to `https://2anki.net`) |\n| `TWOANKI_CONFIG_DIR` | Override where the key is stored (defaults to `~/.2anki`)               |\n| `NO_COLOR`           | Disable colored output                                                  |\n\n## Notes\n\n- The CLI authenticates with the same quota and plan as your account — an API\n  key acts as you.\n- `convert` uploads the file and waits for conversion. Headless `.apkg`\n  download lands with the deck-download route once it accepts key auth; today\n  the CLI points you at the web downloads page.\n","readmeFilename":"README.md"}