| name | affine-cli |
| description | Command-line tool for managing Affine documents, tags, folders, collections, files, databases, comments, journals and workspaces. Supports both cloud (app.affine.pro) and self-hosted deployments. |
Affine CLI
Command-line tool for managing Affine documents and workspaces. Works with both cloud and self-hosted Affine instances.
Installation Check
First, verify affine-cli is installed:
which affine-cli || npm list -g affine-cli
If not installed, install globally:
npm install -g affine-cli
Or run directly with npx:
npx affine-cli <command>
When to Use
- Managing documents, tags, folders, collections
- Working with databases, comments, journals
- Batch operations on Affine workspace
- Automating document workflows
Quick Start
affine-cli auth login --token YOUR_TOKEN
affine-cli auth status
affine-cli workspace list
affine-cli doc list
Self-hosted:
affine-cli auth login --url https://your-affine.example.com --token YOUR_TOKEN
Command Overview
| Module | Commands |
|---|
| auth | login, logout, status |
| workspace | list |
| doc | list, all, info, create, delete, copy, update, search, replace, append, publish, unpublish |
| tags | list, create, add, remove, delete, info |
| folder | all, list, create, delete, update, clear, add, move, remove |
| collection | list, info, create, update, delete, add, remove |
| file | upload, delete, clean |
| database | list, columns, query, create, insert, update, delete, remove |
| comments | list, create, update, delete, resolve |
| journal | list, create, info, append, update |
Common Examples
Daily Journal
affine-cli journal create
affine-cli journal append --content "# Morning\n- Reviewed tasks\n- Team standup"
affine-cli journal append --date 2025-04-10 --content "# Notes\nMeeting with team"
affine-cli journal info --date 2025-04-10
affine-cli journal list --count 7
Documents
affine-cli doc search -q "meeting notes"
affine-cli doc create -t "Q2 Planning" -c "@planning.md"
affine-cli doc create -t "Project Alpha" -c "# Project\nDetails" --tags "work,important" --icon "📁"
affine-cli doc info -i DOC_ID --content markdown
affine-cli doc append -i DOC_ID --content "\n\n## Update\nNew content here"
affine-cli doc search -q "budget" --tag finance
Tags
affine-cli tags create --name "review"
affine-cli tags add -d DOC_ID --tag review
affine-cli tags list
affine-cli tags info --tag review
Folders
affine-cli folder create --name "Projects"
affine-cli folder all
affine-cli folder list --id FOLDER_ID
affine-cli folder move --id FOLDER_ID -d DOC_ID
Databases
affine-cli database list --doc DOC_ID
affine-cli database query --doc DOC_ID --id DB_ID -q '[{"column":"Status","operator":"eq","value":"Done"}]'
affine-cli database insert --doc DOC_ID --id DB_ID --content '[{"Task":"Review PR","Status":"Todo"}]'
affine-cli database update --doc DOC_ID --id DB_ID --values '{"Status":"Done"}' -q '[{"column":"Task","operator":"contains","value":"Review"}]'
Configuration
Priority: env vars > local .env > global config
Files:
- Global:
~/.affine-cli/affine-cli.env
- Local:
<project>/.env
Environment variables:
AFFINE_API_TOKEN - Required, get from Settings → Tokens
AFFINE_BASE_URL - Server URL (default: https://app.affine.pro)
AFFINE_WORKSPACE_ID - Default workspace
Reference Files
Support