Public CLI · API v1

Control DemioFlow from your terminal

Install the public package, authorize your terminal in the browser, then manage areas, projects, sections, tasks, goals, habits and tags.

Safe by design. In production, the CLI uses https://app.demioflow.com/v1. It never asks for your password or accesses Firestore directly.

Install and sign in

Node.js 20 or newer is enough. The alpha channel receives new capabilities before the stable release.

npm install --global demioflow@alpha
demioflow --version
demioflow auth

The command shows a temporary code and opens DemioFlow in your browser. Confirm the code, sign in if needed, and authorize the terminal. The code is not a credential and expires quickly.

demioflow auth status
demioflow auth logout

Areas, projects and sections

The main hierarchy is Area → Project → Section → Task. A section always belongs to a project; a task can target a section in that project.

demioflow areas list
demioflow projects list --area AREA_ID
demioflow sections list --project PROJECT_ID
demioflow sections create --project PROJECT_ID --name "In progress"
demioflow tasks create --title "Prepare the mockup" --project PROJECT_ID --section SECTION_ID

Commands return stable identifiers. Use --json for scripts and append --help to a resource or action for exact options.

Move and reorder

demioflow projects move PROJECT_ID --area AREA_ID
demioflow projects reorder --area AREA_ID --ids PROJECT_1,PROJECT_2
demioflow sections move SECTION_ID --project PROJECT_ID
demioflow sections reorder --project PROJECT_ID --ids SECTION_1,SECTION_2
demioflow tasks move TASK_ID --project PROJECT_ID --section SECTION_ID
demioflow tasks move TASK_ID --project PROJECT_ID --section root
demioflow tasks reorder --ids TASK_1,TASK_2

Available commands

ResourceActions
areaslist, get, create, update, archive, default
projectslist, get, create, update, archive, complete, move, reorder
sectionslist, get, create, update, delete, move, collapse, expand, reorder
taskslist, get, create, update, complete, reopen, delete, duplicate, move, reorder, plan, unplan
goalslist, get, create, update, complete, archive, progress
habitslist, get, create, update, archive, restore, log, toggle, increment
tagslist, get, create, update, delete, move, reorder, link, unlink

Useful examples

demioflow tasks list --project PROJECT_ID --json
demioflow tasks complete TASK_ID
demioflow goals progress GOAL_ID --value 42
demioflow habits log HABIT_ID --date 2026-08-11 --value 1
demioflow sections collapse SECTION_ID
demioflow sections expand SECTION_ID

For automation, combine --json with jq. Errors go to stderr and return a non-zero exit code.

demioflow --json tasks list | jq -r '.[].title'

Hierarchical tags

demioflow tags create --name "Priority" --color "#6B57D8"
demioflow tags move TAG_ID --parent PARENT_TAG_ID
demioflow tags move TAG_ID --parent root
demioflow tags reorder --parent root --ids TAG_1,TAG_2
demioflow tags link TAG_ID --type task --entity TASK_ID
demioflow tags unlink TAG_ID --type task --entity TASK_ID

Update the CLI

npm install --global demioflow@alpha

Check the installed version with demioflow --version. The package stays public; access to your data still requires DemioFlow authorization.