CLI Reference

pf is the Project Feed command-line tool. Manage projects, tasks, posts, and more without leaving the terminal.

Installation

Install globally with npm:

npm install -g pfeed-cli

Or run directly with npx:

npx pfeed-cli projects list

Requires Node.js 20 or later.

Quick Start

Authenticate with your API key from workspace settings:

pf auth login

Or use the guided setup wizard:

pf quickstart

You can also set your key as an environment variable:

export PROJECT_FEED_API_KEY=pf_live_your_key_here

Core Concepts

Commands follow a resource action pattern, similar to the GitHub CLI:

pf projects list
pf tasks create --title "Fix login bug" --priority high
pf posts view 3
pf notifications unread-count

Interactive selection

When you run a view or edit command in a terminal without specifying an ID, you get an interactive picker:

pf tasks view       # pick from a list
pf posts edit       # pick, then edit

Command Aliases

Most commands have short aliases. Subcommands also have aliases: ls for list, rm for delete, show for view.

pf ppf projects
pf tpf tasks
pf popf posts
pf cpf comments
pf rpf reactions
pf npf notifications
pf mpf media
pf wspf workspace
pf whpf webhooks

Global Flags

These flags work on any command:

--json [fields]Output as JSON, optionally selecting specific fields
--jq <expr>Filter JSON output with a path expression
--verboseShow HTTP request/response details
--debugShow full request/response bodies
--sort <field>Sort list output by a field
--reverseReverse sort order
--profile <name>Use a specific config profile
--api-key <key>Override the API key for this command
--project <id>Override the default project
--workspace <slug>Assert the workspace slug for workspace-scoped API calls
--no-colorDisable colored output
--confirmSkip confirmation prompts
--dry-runPreview destructive operations without making changes

JSON Output & Filtering

Every command supports --json for machine-readable output. Optionally select specific fields or pipe through a jq-like filter:

pf tasks list --json
pf tasks list --json id,title,status
pf posts list --json --jq ".[].title"

Sorting and filtering are available on list commands:

pf tasks list --sort priority --reverse
pf posts list --sort title

Dry Runs

Destructive commands (delete, archive, mark-all-read, etc.) support --dry-run to preview what would happen without making changes:

pf posts delete <id> --dry-run
pf projects archive <id> --dry-run

Command Reference

Explore all available commands by category: