@vibedash-app/cli
v0.1.5
Published
Command-line interface for VibeDash — manage projects, tasks, and tickets from your terminal.
Maintainers
Readme
@vibedash-app/cli
Command-line interface for VibeDash — manage projects, tasks, and tickets from your terminal.
Install
npm install -g @vibedash-app/cli
# or run ad hoc:
npx @vibedash-app/cli@latest <command>Requires Node.js 18+. No runtime dependencies.
Login
Two ways to authenticate:
1. Browser device flow (recommended):
vd loginThe CLI opens your browser at vibedash.app/cli/authorize, shows a code like ABCD-2345, and waits while you sign in and approve the request. Approving mints a dedicated full-access API key (labeled "CLI login") that is delivered to the CLI exactly once. Revoke it any time in Settings → API Keys.
2. Paste an existing key:
vd login --paste # interactive prompt
vd login --token vd_live_… # non-interactive / CICredentials are stored in ~/.vibedash/config.json with owner-only permissions.
Commands
vd whoami # identity + scopes of the stored key
vd projects list [--limit N] # list projects
vd tasks list [--project <uuid>] [--status S] # list tasks (filtered via milestone → project)
vd tasks create --milestone <uuid> --title "Fix login redirect"
vd tickets list [--project <uuid>] [--status S] # list support tickets
vd chat [--project <uuid>] [--new] # chat with the project PM agent
vd api <METHOD> <path> [jsonBody] # raw call against the VibeDash API proxyAdd --json to any command for raw JSON output.
Raw API escape hatch
# PostgREST filters work in the path query string:
vd api GET "milestones?project_id=eq.UUID&order=due_date.asc&limit=10"
vd api POST rpc/create_task_safe '{"project_id":"UUID","title":"Ship it"}'See GET vd api GET "" (empty path) for the list of allowed tables and RPCs, or read skill.md.
Environment overrides
| Variable | Purpose |
| --- | --- |
| VIBEDASH_API_URL | Point the CLI at a different API proxy (local dev). |
| VIBEDASH_APP_ORIGIN | Override https://vibedash.app for device-flow endpoints. |
Publishing
cd packages/cli
npm publish --access public # scoped packages default to restricted