Skip to main content

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

CodeMeaning
0Success
1General error
2Invalid arguments
3Task not found
4Agent error
5Network 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