Skip to Content
DocsCLI Reference

CLI Reference

The Feelr CLI (feelr) is a Go binary that talks to the Feelr gateway from your terminal. All data goes to stdout, all errors and prompts go to stderr.

Commands

feelr run

Execute a connector action.

feelr run <connector> <action> [key=value ...] [flags]

Arguments:

  • connector — connector name (github, slack, stripe, discord)
  • action — action name (e.g., issues.list, messages.send)
  • key=value — action parameters as positional args

Flags:

  • --format <format> — output format: json (default), raw
  • --verbose — include full response envelope with metadata
  • --cursor <value> — pagination cursor for fetching next page
  • --dry-run — show what would be sent without making the request

Examples:

feelr run github repos.list feelr run github issues.list repo=owner/repo state=open feelr run slack messages.send channel=#general text="Hello" feelr run stripe customers.create email=user@example.com

feelr tools

List available connectors and their actions.

feelr tools [flags]

Flags:

  • --search <query> — filter actions by name or description
  • --schema — output raw JSON schema (bypasses formatting)

Examples:

feelr tools feelr tools --search issues feelr tools --schema

feelr status

Check gateway health and connector status.

feelr status [flags]

Flags:

  • --verbose — include detailed connector information

feelr auth

Store credentials for a connector.

feelr auth <connector>

Prompts for the appropriate credential type (PAT, API key, or starts OAuth flow).

Examples:

feelr auth github # prompts for GitHub PAT feelr auth slack # starts OAuth flow feelr auth stripe # prompts for Stripe API key feelr auth discord # prompts for Discord bot token

feelr init

Initialize the CLI configuration.

feelr init

Prompts for gateway URL and API key. Writes config to ~/.config/feelr/config.toml.

feelr chain

Work with composable action chains.

feelr chain run

Execute a chain definition.

feelr chain run <chain-name-or-file> [key=value ...] [flags]

Flags:

  • --verbose — show step-by-step progress on stderr
  • --dry-run — validate chain and show mock step outputs without execution

feelr chain list

List available chains.

feelr chain list

Discovers chains from: current directory, chains/ subdirectory, executable-relative chains/, and parent chains/ directories.

feelr chain validate

Validate a chain definition without running it.

feelr chain validate <chain-name-or-file>

feelr chain show

Display the steps of a chain.

feelr chain show <chain-name-or-file>

Global Flags

FlagDescription
--profile <name>Use a named config profile (default: default)
--helpShow help for any command
--versionShow CLI version

Exit Codes

CodeMeaningWhen
0SuccessRequest completed successfully
1ErrorGeneral error (gateway error, network failure)
2Auth requiredNo credential stored for connector
3Not foundConnector or action does not exist
4Usage errorInvalid arguments, missing required params

Configuration

Config File

Located at ~/.config/feelr/config.toml:

[default] gateway = "https://api.feelr.dev" api_key = "fk_live_abc123..." [staging] gateway = "https://staging.feelr.dev" api_key = "fk_test_def456..."

File permissions are set to 0600 (owner read/write only) for API key security. The config directory uses 0700.

Profiles

Switch between environments with --profile:

feelr run github repos.list --profile=staging

Environment Variables

VariableOverrides
FEELR_GATEWAYgateway in config
FEELR_API_KEYapi_key in config

Environment variables take precedence over config file values.

Output Behavior

  • Default: Unwrapped JSON data to stdout (just the data field)
  • --verbose: Full response envelope including success, data, and meta
  • --format=raw: Raw upstream API response (no Feelr normalization)
  • Errors: Always go to stderr as JSON with error.code and error.message
  • Prompts: Always to stderr (stdout is reserved for data)
  • Terminal detection: The CLI detects whether stdout is a terminal for formatting hints
Last updated on