A small Node.js CLI for building DP-1 playlists from NFT collections.
FF1-CLI turns a simple prompt into a DP-1–conformant playlist you can preview on an FF1. The model orchestrates; deterministic tools do the real work (schema validation, indexing, JSON‑LD). If something comes back invalid, validation rejects it and we loop until it’s right.
npm i -g ff1-clicurl -fsSL https://feralfile.com/ff1-cli-install | bashInstalls a prebuilt binary for macOS/Linux (no Node.js required).
npx ff1-cli setup
npx ff1-cli chatSet your LLM API key first (default Grok): export GROK_API_KEY='xai-your-api-key-here'
ff1 setup
ff1 chat
ff1 play "https://example.com/video.mp4" --skip-verifyIf you need manual config actions instead of guided setup:
ff1 config init
ff1 config validateSet your LLM API key first (default Grok): export GROK_API_KEY='xai-your-api-key-here'
npm install
npm run dev -- setup
npm run dev -- chat
npm run dev -- play "https://example.com/video.mp4" --skip-verify- Getting started and usage:
./docs/README.md - Configuration:
./docs/CONFIGURATION.md - Function calling architecture:
./docs/FUNCTION_CALLING.md - Examples:
./docs/EXAMPLES.md - SSH access:
ff1 ssh enable|disablein./docs/README.md
npm run dev # Run CLI in dev (tsx)
npm run build # Build TypeScript
npm run lint:fix # Lint + fix
npm run smoke # Build + CLI smoke checks
npm run verify # Format + lint + test + smokeMIT