CLI Commands
Complete reference for Friday Dev command line interface.
Installation
# NPX (no installation needed)
npx friday-dev
# Global install
npm install -g friday-dev
pnpm add -g friday-dev
# Homebrew (macOS/Linux)
brew install friday-dev
# Cargo (Rust)
cargo install friday-dev
Basic Commands
Start Server
# Start with defaults
friday-dev
# Custom port
friday-dev --port 8080
# Headless mode (no browser)
friday-dev --headless
Version & Help
# Show version
friday-dev --version
friday-dev -v
# Show help
friday-dev --help
friday-dev -h
# Command-specific help
friday-dev task --help
Task Commands
Create Task
# Basic
friday-dev task create "Task title"
# With priority
friday-dev task create "Fix bug" --priority high
# With description
friday-dev task create "Add feature" --description "Detailed description..."
# With labels
friday-dev task create "Task" --labels "bug,urgent"
# Full options
friday-dev task create "Title" \
--priority high \
--description "Description" \
--labels "feature,frontend" \
--project my-project
List Tasks
# All tasks
friday-dev task list
# Filter by status
friday-dev task list --status in-progress
friday-dev task list --status done
# Filter by priority
friday-dev task list --priority high
# Filter by project
friday-dev task list --project my-project
# Combine filters
friday-dev task list --status in-progress --priority high
# Output format
friday-dev task list --format json
friday-dev task list --format table
View Task
# By ID
friday-dev task show 123
# Show with logs
friday-dev task show 123 --logs
# Show with diffs
friday-dev task show 123 --diffs
Update Task
# Update status
friday-dev task update 123 --status done
# Update priority
friday-dev task update 123 --priority low
# Update title
friday-dev task update 123 --title "New title"
# Multiple updates
friday-dev task update 123 --status in-progress --priority high
Delete Task
# Delete by ID
friday-dev task delete 123
# Delete with confirmation skip
friday-dev task delete 123 --force
# Delete multiple
friday-dev task delete 123 124 125
Agent Commands
Run Agent
# Run on task
friday-dev run --task 123 --agent friday
# Available agents
# friday, gemini, claude, codex, glm, qwen, droid
# With autonomy level
friday-dev run --task 123 --agent gemini --autonomy workspace-write
# With specific model
friday-dev run --task 123 --agent droid --model gemini-2.5-pro
Monitor Agent
# View logs
friday-dev logs --task 123
# Follow logs in real-time
friday-dev logs --task 123 --follow
# View last N lines
friday-dev logs --task 123 --tail 50
Stop Agent
# Stop running agent
friday-dev stop --task 123
# Force stop
friday-dev stop --task 123 --force
Project Commands
Create Project
# Create new project
friday-dev project create "My Project"
# With path
friday-dev project create "My Project" --path /path/to/code
# With Git repo
friday-dev project create "My Project" --git https://github.com/user/repo
List Projects
friday-dev project list
friday-dev project list --format json
Switch Project
friday-dev project use my-project
Review Commands
Review Task Output
# Review agent output
friday-dev review task 123
Review PR
# Review GitHub PR
friday-dev review pr 456
# Review with specific agent
friday-dev review pr 456 --agent claude
# Review from URL
friday-dev review pr https://github.com/owner/repo/pull/456
Review Local Changes
# Review uncommitted changes
friday-dev review local
# Review specific files
friday-dev review local --files src/auth.ts src/utils.ts
Git Commands
GitHub Integration
# Connect GitHub
friday-dev github connect
# Create PR
friday-dev github pr create --title "Feature" --base main
# List PRs
friday-dev github pr list
Configuration Commands
View Config
# Show current config
friday-dev config show
# Show specific setting
friday-dev config get defaultAgent
Set Config
# Set a value
friday-dev config set defaultAgent gemini
# Set API key
friday-dev config set apiKeys.gemini YOUR_KEY
# Reset to defaults
friday-dev config reset
MCP Mode
Start MCP Server
# Start in MCP mode
friday-dev --mcp
# MCP with custom transport
friday-dev --mcp --transport stdio
Database Commands
Database Management
# Reset database
friday-dev db reset
# Backup database
friday-dev db backup --output backup.sqlite
# Restore database
friday-dev db restore --input backup.sqlite
Output Formats
Many commands support different output formats:
# Table (default)
friday-dev task list --format table
# JSON
friday-dev task list --format json
# YAML
friday-dev task list --format yaml
# Minimal
friday-dev task list --format minimal
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Task not found |
| 4 | Agent error |
| 5 | Network error |
Environment Variables
# Server port
PORT=3000
# Database
DATABASE_URL=sqlite:~/.friday-dev/db.sqlite
# API Keys
GEMINI_API_KEY=your-key
OPENAI_API_KEY=your-key
ANTHROPIC_API_KEY=your-key
# Logging
RUST_LOG=info
Examples
Complete Workflow
# 1. Create a project
friday-dev project create "My App" --path ./my-app
# 2. Create a task
friday-dev task create "Add user authentication" \
--priority high \
--description "Implement JWT-based auth"
# 3. Run an agent
friday-dev run --task 1 --agent friday
# 4. Monitor progress
friday-dev logs --task 1 --follow
# 5. Review output
friday-dev review task 1
# 6. Create PR
friday-dev github pr create --title "Add authentication"
Batch Operations
# Create multiple tasks
for task in "Add login" "Add register" "Add logout"; do
friday-dev task create "$task" --labels "auth"
done
# Run agent on all pending tasks
friday-dev task list --status pending --format json | \
jq -r '.[].id' | \
xargs -I {} friday-dev run --task {} --agent gemini
Next Steps
- CLI Options - Detailed option reference
- MCP Mode - IDE integration
- Configuration - Setup guide