@ruigomeseu/ffcli
v0.1.3
Published
Fireflies.ai CLI — query meeting data from the command line
Maintainers
Readme
ffcli — Fireflies.ai in your terminal
Fast, scriptable CLI for querying your Fireflies.ai meeting data. List meetings, view transcripts, read AI summaries, and filter by date or participant — all from the command line. JSON and Markdown output built in.
Features
- List meetings — browse recent meetings with date, duration, and participant info
- View transcripts — read full meeting transcripts with speaker names and timestamps
- AI summaries — access Fireflies' AI-generated overviews, action items, and key topics
- Flexible filtering — filter by date range, participant email, or keyword search
- Multiple output formats — JSON (default) for scripting, Markdown (
--md) for reading
Installation
Homebrew
brew install ruigomeseu/tap/ffclinpm
npm install -g @ruigomeseu/ffcliDownload binary
Pre-compiled binaries for macOS (arm64, x64), Linux (arm64, x64), and Windows (x64) are available on the Releases page.
Build from source
git clone https://github.com/ruigomeseu/ffcli.git
cd ffcli
bun install
bun run buildQuick Start
1. Get your API key
Go to Fireflies.ai Settings → Developer Settings → API Key.
2. Authenticate
ffcli auth <your-api-key>This validates the key against the Fireflies API and stores it in ~/.config/ffcli/config.json.
Alternatively, simply set the FIREFLIES_API_KEY environment variable.
3. List your meetings
ffcli list --limit 54. View a meeting
ffcli show <meeting-id> --mdAuthentication
ffcli uses a Fireflies API key for authentication. The key can be provided in two ways:
- Config file — run
ffcli auth <key>to store it securely - Environment variable — set
FIREFLIES_API_KEY
The environment variable takes precedence over the config file.
# Store API key
ffcli auth <key>
# Verify stored key works
ffcli auth --check
# Or use env var
export FIREFLIES_API_KEY=your-key-hereConfig location: ~/.config/ffcli/config.json (mode 0600).
Commands
auth — Store and verify your API key
ffcli auth <key> # Validate and store API key
ffcli auth --check # Verify the stored key worksme — Show current user info
ffcli me # JSON output
ffcli me --md # Markdown outputExample output (--md):
# Jane Doe
**Email:** [email protected]
**Transcripts:** 142
**Minutes Consumed:** 8540
**Admin:** Yeslist — List meetings
ffcli list # Last 20 meetings (default)
ffcli list --limit 50 # Last 50 meetings
ffcli list --from 2025-01-01 --to 2025-01-31 # Date range
ffcli list --participant [email protected] # Filter by participant
ffcli list --search "standup" # Search by title keyword
ffcli list --include-summaries # Include AI summaries
ffcli list --md # Markdown table outputOptions:
| Flag | Description |
|------|-------------|
| --limit <n> | Number of meetings to return (default: 20) |
| --from <date> | Start date (YYYY-MM-DD) |
| --to <date> | End date (YYYY-MM-DD) |
| --search <query> | Filter by title keyword |
| --participant <email> | Filter by participant email |
| --include-summaries | Include AI summaries in output |
| --md | Output as Markdown table |
| --json | Output as JSON (default) |
show — Show full meeting detail
ffcli show <id> # Full meeting detail (JSON)
ffcli show <id> --md # Full meeting detail (Markdown)
ffcli show <id> --summary-only --md # Just the AI summary
ffcli show <id> --transcript-only --md # Just the transcript
ffcli show <id> --include-transcript # Include transcript in outputOptions:
| Flag | Description |
|------|-------------|
| --include-transcript | Include the full transcript |
| --summary-only | Show only the AI summary |
| --transcript-only | Show only the transcript |
| --md | Output as Markdown |
| --json | Output as JSON (default) |
Output Formats
JSON (default)
Machine-readable output for scripting and piping:
ffcli list --limit 5 | jq '.[0].title'Markdown (--md)
Human-friendly output for reading in the terminal:
ffcli list --md
ffcli show <id> --mdThe show command with --md produces a full document with YAML frontmatter, metadata, summary sections, and optionally the timestamped transcript.
Examples
Find recent meetings with a specific person
ffcli list --participant [email protected] --from 2025-01-01 --mdExport a meeting summary
ffcli show <id> --summary-only --md > meeting-summary.mdGet action items from recent meetings
ffcli list --limit 10 --include-summaries | jq '.[].summary.action_items'Search for meetings by keyword
ffcli list --search "product review" --mdPipe meeting data to other tools
# Get all meeting IDs from last week
ffcli list --from 2025-01-06 --to 2025-01-10 | jq -r '.[].id'
# Export all transcripts from a date range
for id in $(ffcli list --from 2025-01-01 --to 2025-01-31 | jq -r '.[].id'); do
ffcli show "$id" --include-transcript --md > "transcript-${id}.md"
doneEnvironment Variables
| Variable | Description |
|----------|-------------|
| FIREFLIES_API_KEY | API key (overrides config file) |
Development
git clone https://github.com/ruigomeseu/ffcli.git
cd ffcli
bun install
# Run in development
bun run src/index.ts
# Run tests
bun run test
# Type check
bun run typecheck
# Build binary
bun run buildLicense
MIT
