marvin-cli
A command-line tool for interfacing with the Amazing Marvin desktop app and public API.
This is a work-in-progress. Not all documented features are working and/or working as expected. PRs welcome!
While you can use Marvin's public API to create tasks, scripting is a bit easier with a command-line tool so that you can:
marvin add task "Example +today"But even more importantly, until now scripting wasn't possible for desktop users who disable cloud sync. As of 1.60.0 you can run a local API server which serves a subset of the public API, plus some bonus commands that only work on desktop.
So marvin-cli can either communicate with the public API or a desktop app instance.
COMMANDS:
api - View API docs
config - Get/set config values for marvin-cli
add - Add a Task, Project, or other
due - Get open Tasks & Projects due today (or earlier)
get - Read an arbitrary document from your database
today - List Tasks and Projects that are scheduled today
tracking - Get the currently tracked task
update - Update a Task, Project, or other (not yet implemented)
delete - Delete a Task, Project, or other (not yet implemented)
help - Help about any command
DESKTOP COMMANDS:
run - Start the desktop app (not yet implemented)
quickAdd - Open desktop quick add
list - List Tasks/Projects, optionally filtered
backup - Trigger backups (not yet implemented)
restore - Restore backups (not yet implemented)
quit - Shut down the app (not yet implemented)
Many commands support different output formats via flags:
Commands with format options: today, due, list
--json- Output valid JSON (default)--csv- Output as CSV with headers--text- Output only task titles (one per line)
Commands with JSON-only output: get, tracking
--json- Output valid JSON (when used with these commands)- Default output uses human-readable JavaScript notation
Examples:
# Get today's tasks as JSON (default)
marvin today
# Get today's tasks as CSV
marvin today --csv
# Get today's tasks as plain text titles
marvin today --text
# Get a specific task with JSON output
marvin get TASK_ID --jsonDownload a release for your platform here.
- Install deno
- Clone repository
- Run
./build(orBUILD.baton windows) - Copy
marvin-cli(ormarvin-cli.exeon windows) to your path
Run the test suite using Deno's built-in test framework:
deno test tests/See tests/README.md for more details on the test suite and testing philosophy.
For contributors: See CONTRIBUTING.md for guidelines on writing tests and submitting pull requests.
Get your API Token from https://app.amazingmarvin.com/pre?api (or find it in the API strategy settings) then run marvin config apiToken XYZ or use the --api-token command line option.