freelo-cli

module
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2026 License: MIT

README

Freelo CLI

Full access to Freelo from your terminal. freelo is the official command-line interface for Freelo. Manage projects, tasks, time tracking, and more from your terminal or through AI agents.

freelo works with any AI agent that can run shell commands.

Quick Start

# Install
curl -fsSL https://raw.githubusercontent.com/freeloio/freelo-cli/main/install.sh | bash

# Authenticate
freelo auth login

# You're ready!
freelo projects list
freelo tasks list --project 123
freelo search "keyword"

Installation

curl (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/freeloio/freelo-cli/main/install.sh | bash
Homebrew (macOS / Linux)

Coming in a follow-up release. For v1.0.0, please use install.sh, go install, or the GitHub Releases binary download below.

Go install
go install github.com/freeloio/freelo-cli/cmd/freelo@latest
Manual download

Download the latest binary for your platform from GitHub Releases.

Authentication

Get your API key at https://app.freelo.io/profil/nastaveni.

# Interactive login (stores credentials in your OS keyring)
freelo auth login

# Or use environment variables (great for CI/agents)
export FREELO_EMAIL=you@example.com
export FREELO_API_KEY=your-api-key
Credential storage

By default, freelo auth login stores credentials in your OS-native secrets store:

  • macOS: Keychain
  • Windows: Credential Manager
  • Linux: Secret Service (gnome-keyring, kwallet, …)

On a headless Linux server or in a Docker container without DBus, set FREELO_KEYRING=file to fall back to a 0600 JSON file at ~/.config/freelo/credentials.json.

Environments

By default, the CLI connects to production (api.freelo.io). Use --dev to switch to a development environment:

# Set the dev API URL (get this from your team lead)
export FREELO_DEV_URL=https://your-dev-api-url/v1

# Login to dev environment (separate credentials)
freelo auth login --dev

# All commands with --dev go to the dev API
freelo projects list --dev
freelo tasks list --project 123 --dev
freelo search "keyword" --dev

# Without --dev → production (default)
freelo projects list

Production and dev credentials are stored separately — you can be logged into both at the same time. Add FREELO_DEV_URL to your ~/.zshrc or ~/.bashrc for persistence.

Commands

Command Description
freelo projects Manage projects (list, show, create, archive, activate, delete)
freelo tasks Manage tasks (list, show, create, edit, finish, activate, move)
freelo subtasks Manage subtasks (list, create — Freelo API doesn't support edit/delete)
freelo tasklists Manage tasklists (list, show, create — API doesn't support edit/delete)
freelo search Search across all entities
freelo comments Manage comments (list, create, edit — API doesn't support delete)
freelo labels Manage task and project labels
freelo tracking Time tracking (start, stop, status)
freelo reports Work reports (list, create, edit, delete)
freelo notes Project notes (create, show, edit, delete)
freelo files Files (list, download, upload)
freelo custom-fields Custom fields (types, list, create, rename, values, enums)
freelo templates Create from templates (project, tasklist, task)
freelo pinned Pinned items (list, create, delete)
freelo users Users (me, list)
freelo workers Project workers (list, invite, remove)
freelo out-of-office Out-of-office (status, enable, disable)
freelo notifications Notifications (list, read, unread)
freelo invoices Invoices (list, show, mark-invoiced)
freelo events Activity log
freelo api Raw API access (get, post, put, delete)

Use freelo [command] --help for detailed usage of any command.

Output Formats

freelo projects list                # Styled table (terminal) or JSON (piped)
freelo projects list --agent        # Raw JSON — best for AI agents
freelo projects list --json         # JSON with envelope {ok, data, summary, breadcrumbs}
freelo projects list --quiet        # Minimal text
freelo projects list --ids-only     # Just IDs, one per line
freelo projects list --count        # Just the count

AI Agent Integration

The CLI includes an embedded agent skill that teaches AI agents how to use Freelo:

# Install skill for your AI agent
freelo skill install claude         # Claude Code
freelo skill install codex          # OpenAI Codex
freelo skill install opencode       # OpenCode
freelo skill install all            # All agents

After installation, just talk naturally to your AI agent:

"Show me my tasks in the TOPCORE project with this week's deadline"

The agent will automatically use freelo commands to fulfill your request.

Development

make build              # build ./freelo with version ldflags
make install            # build + install to ~/bin + register skill with Claude Code
make test               # unit tests (no API required)
make test-integration   # end-to-end tests against real Freelo API (needs .env.freelo-test)
make release-dry        # GoReleaser snapshot — builds all 6 platform archives, no publish

The CLI builds on the freelo-go SDK — a sibling Go module that owns the generated OpenAPI client, transport (rate limit + retry), and pluggable authentication. A weekly cron in that repo regenerates the client from the upstream Freelo OpenAPI spec; the CLI just bumps its SDK pin to pick up new endpoints.

License

MIT

Directories

Path Synopsis
cmd
freelo command
internal
cli
credstore
Package credstore is the CLI's credential store.
Package credstore is the CLI's credential store.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL