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:
Install Script (coming soon)¶
A shell install script that detects your platform and installs the latest binary:
Configuration¶
The CLI stores its configuration in ~/.config/funcspec/config.toml.
Authenticating¶
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:
Or use an environment variable (useful for CI/CD):
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.