Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ruigomeseu/ffcli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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:** jane@example.com
**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 alice@example.com # 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 alice@example.com --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