Skip to content

CLI Installation

The funcspec CLI provides command-line access to all FuncSpec features.

Download from GitHub Releases

Pre-built binaries are available for Linux, macOS, and Windows from the GitHub Releases page.

Linux (x86_64)

# Download the latest release
curl -L https://github.com/narbs/funcspec-cli/releases/latest/download/funcspec-linux-amd64 \
  -o /usr/local/bin/funcspec

# Make it executable
chmod +x /usr/local/bin/funcspec

# Verify installation
funcspec --version

Linux (arm64)

curl -L https://github.com/narbs/funcspec-cli/releases/latest/download/funcspec-linux-arm64 \
  -o /usr/local/bin/funcspec
chmod +x /usr/local/bin/funcspec

macOS (Apple Silicon)

curl -L https://github.com/narbs/funcspec-cli/releases/latest/download/funcspec-darwin-arm64 \
  -o /usr/local/bin/funcspec
chmod +x /usr/local/bin/funcspec

macOS (Intel)

curl -L https://github.com/narbs/funcspec-cli/releases/latest/download/funcspec-darwin-amd64 \
  -o /usr/local/bin/funcspec
chmod +x /usr/local/bin/funcspec

Windows

Download funcspec-windows-amd64.exe from the releases page, rename it to funcspec.exe, and add it to your PATH.

Homebrew (coming soon)

A Homebrew tap is planned for future releases:

# Not yet available
brew install narbs/tap/funcspec

Install Script (coming soon)

A shell install script that detects your platform and installs the latest binary:

# Not yet available
curl -fsSL https://funcspec.net/install.sh | sh

Configuration

The CLI stores its configuration in ~/.config/funcspec/config.toml.

Authenticating

funcspec auth login

This prompts for your API key and saves it to the config file. Get your API key from Organization Settings → API Keys in the web interface.

Alternatively, set the API key directly:

funcspec config set api_key "fs_live_your-key-here"

Or use an environment variable (useful for CI/CD):

export FUNCSPEC_API_KEY="fs_live_your-key-here"

The environment variable takes precedence over the config file.

Configuration file

# ~/.config/funcspec/config.toml

api_key = "fs_live_abc123..."
base_url = "https://funcspec.net"
default_format = "table"
default_project = "payments-service"
Key Default Description
api_key Your API key
base_url https://funcspec.net API base URL
default_format table Output format: table, json, yaml
default_project Default project slug (avoids typing --project every time)

Multiple profiles

Profiles let you switch between accounts or environments:

# Create profiles
funcspec config set-profile production --api-key "fs_live_prod-key" --base-url "https://funcspec.net"
funcspec config set-profile staging --api-key "fs_live_staging-key" --base-url "https://funcspec.staging.net"

# Switch to a profile
funcspec config set-profile production

# Use a profile for a single command
funcspec --profile staging projects list

Verifying Installation

funcspec --version
# funcspec v1.2.0

funcspec auth status
# Authenticated as: alice@acme.com
# Organization: Acme Corp
# Plan: Pro

Updating

Download the new binary from GitHub Releases and replace the existing one:

curl -L https://github.com/narbs/funcspec-cli/releases/latest/download/funcspec-linux-amd64 \
  -o /usr/local/bin/funcspec
chmod +x /usr/local/bin/funcspec

Shell Completion

Enable tab completion for your shell:

# Bash
funcspec completion bash >> ~/.bashrc

# Zsh
funcspec completion zsh >> ~/.zshrc

# Fish
funcspec completion fish > ~/.config/fish/completions/funcspec.fish

Reload your shell after installing completions.

Next Steps