outline-doc is an npm-installable CLI for the Outline API.
It stores your Outline API token locally so document and collection commands can be run without passing credentials every time.
From npm:
npm install -g outline-docFrom GitHub:
npm install -g https://github.com/simplebytes-com/outline-doc-cli/archive/refs/heads/main.tar.gzFrom a local clone:
git clone https://github.com/simplebytes-com/outline-doc-cli.git
cd outline-doc-cli
npm install
npm linkFor development without linking:
npm install
npm run build
node dist/cli.js --helpCreate an API key in Outline, then run:
outline-doc loginThe login command asks for your Outline URL and API token. For scripts, pass them explicitly:
outline-doc login --base-url outline.example.comThe token is saved to:
~/.config/outline-doc/config.json
You can override configuration with:
OUTLINE_TOKEN=... outline-doc documents list
OUTLINE_BASE_URL=https://outline.example.com/api outline-doc whoami
OUTLINE_CONFIG=/path/to/config.json outline-doc configTo change the saved base URL later:
outline-doc config set-base-url outline.example.comoutline-doc whoami
outline-doc config show
outline-doc config set-base-url outline.example.com
outline-doc collections list
outline-doc collections create --name "Engineering" --description "Team docs"
outline-doc documents list --collection-id COLLECTION_ID
outline-doc documents get DOCUMENT_ID
outline-doc documents create --title "Runbook" --file runbook.md --collection-id COLLECTION_ID --publish
outline-doc documents update DOCUMENT_ID --file updated.md --replace
outline-doc documents update DOCUMENT_ID --text "New section" --append
outline-doc documents search "incident response"
outline-doc documents export DOCUMENT_ID --output document.md
outline-doc documents delete DOCUMENT_IDAnything not covered by a convenience command can be called directly:
outline-doc api /documents.list --data '{"limit":5}'
outline-doc api /users.list --data '{"limit":10}'All Outline API endpoints are POST endpoints and use bearer authentication.
Publish a new version:
npm login
npm version patch
npm publish --access public