pf is the Project Feed command-line tool. Manage projects, tasks, posts, and more without leaving the terminal.
Install globally with npm:
npm install -g pfeed-cliOr run directly with npx:
npx pfeed-cli projects listRequires Node.js 20 or later.
Authenticate with your API key from workspace settings:
pf auth loginOr use the guided setup wizard:
pf quickstartYou can also set your key as an environment variable:
export PROJECT_FEED_API_KEY=pf_live_your_key_hereCommands 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-countWhen 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 editMost commands have short aliases. Subcommands also have aliases: ls for list, rm for delete, show for view.
pf p→pf projectspf t→pf taskspf po→pf postspf c→pf commentspf r→pf reactionspf n→pf notificationspf m→pf mediapf ws→pf workspacepf wh→pf webhooksThese 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>Override the default workspace--no-colorDisable colored output--confirmSkip confirmation prompts--dry-runPreview destructive operations without making changesEvery 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 titleDestructive 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-runExplore all available commands by category:
List, create, edit, and archive projects and tasks
Manage posts, comments, reactions, and media uploads
Manage notifications and list workspace members
Create, test, monitor, and debug webhooks
Auth, config profiles, directory linking, and utilities