memrise
Memrise
Overview
Use this skill to run memcli safely and produce exact commands for common Memrise course operations.
Prefer commands that can be pasted directly, and switch to JSON output when results are consumed by scripts.
Read references/commands.md when you need full command/flag coverage.
Read references/example-output.md when you need concrete output examples.
Runbook
- Confirm installation state.
- Confirm authentication source (env vars or flags).
- Run a read-only command first (
courses,course-levels,words,search-pool). - For level diagnostics, use
course-levels --include-emptyto surface empty/draft levels. - For automation, append
--output jsonwhen supported. - Before write operations (
add-to-course,add-to-level,add-level), validate the target IDs and fields with read commands.
Installation And Auth
Use package install commands:
npm install -g memrise-cli
# or
bun add -g memrise-cli
Use environment variables by default:
export MEMRISE_USERNAME="your_username"
export MEMRISE_PASSWORD="your_password"
export MEMRISE_CLIENT_ID="your_client_id" # optional
For installed CLI usage with environment credentials:
memcli courses --output json
If running from source during development:
bun run ./dist/index.js courses --output json
Use --username and --password only when explicitly requested.
Common Tasks
Use these as canonical examples:
# list teaching courses
memcli courses
# list levels (including empty drafts)
memcli course-levels <course-id> --include-empty
# list course words
memcli words <course-id>
# list words in a level with limit
memcli words <course-id> --level 1 --limit 10
# search pool by field
memcli search-pool <pool-id> --field "1=Hello"
# add item to course
memcli add-to-course <course-id> --field "1=Hello" --field "2=Bonjour"
When needed, use JSON columns format instead of repeated fields:
memcli add-to-course <course-id> --columns '{"1":"Hello","2":"Bonjour"}'
Output Strategy
Use default human-readable output for interactive use.
Use --output json for automation, parsing, and downstream tools.
Safety Checks
Before write operations:
- Confirm the target object exists (
course-by-id,course-levels,get-pool). - Confirm the fields map to the course column layout (
course-columns). - Prefer a small test insert in a known sandbox course before bulk updates.
If credentials fail, re-check env var names and whether the user wants explicit --username/--password flags.
Version Notes
Current npm package behavior (verified with memcli --help):
levels|course-levelssupports--include-empty.rename-level|set-level-titleanddelete-level|remove-levelare available.- Prefer live
memcli --helpoutput over stale examples when behavior differs.