Teams waste time manually checking competitor sites as their product evolves. This CLI tool with a user interface option lets you set competitors once and ask natural‑language questions to research the feature decisions that your competitors make. It would use ChatGPT to compose workflows and dispatch Tinyfish Web agents to each competitor, extracts evidence, and returns a structured report so product decisions can be made faster and with less manual research.
- Node.js 18+
- npm
- OpenAI API key
- Tinyfish API key
-
Install dependencies:
npm install
-
Create your local env file:
cp .env.example .env.local- Add:
OPENAI_API_KEY=...TINYFISH_API_KEY=...
- Start the dev server:
npm run dev
- Open:
http://localhost:3000
The CLI lives in cli/scout.mjs.
- Initialize a workspace config:
node cli/scout.mjs init
- Add competitors:
node cli/scout.mjs add --name "Notion" --url "https://www.notion.com"
- List competitors:
node cli/scout.mjs list
- Remove a competitor:
node cli/scout.mjs remove --name "Notion"
- Remove all competitors:
node cli/scout.mjs clear
- Run research:
node cli/scout.mjs research "What sign-in methods do my competitors support?"
- List past runs:
node cli/scout.mjs runs
- Cancel the latest run:
node cli/scout.mjs cancel
- Cancel a specific run:
node cli/scout.mjs cancel --run "RUN_ID"
- Reset CLI state:
node cli/scout.mjs reset
Use straight quotes in the terminal. Smart quotes (like “ ”) can cause dquote> prompts.
node cli/scout.mjs
Commands:
init— create.scout.jsonadd— add a competitor (--name,--url)list— list competitors (alias:ls)remove— remove a competitor by name (alias:rm)clear— remove all competitors (alias:rm-all)research— run research (alias:ask)runs— list recorded runscancel— cancel latest or--runby idreset— delete.scout.jsonand.scout-runs.json
.env.localis ignored by git via.gitignore.- Reports and raw results generated by the CLI are saved to your current working directory.
- Run history is stored in
.scout-runs.jsonin your project directory.