Skip to content

MMeteorL/competitor-analysis-cli

Repository files navigation

Competitor Scout

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.

Requirements

  • Node.js 18+
  • npm
  • OpenAI API key
  • Tinyfish API key

Setup

  1. Install dependencies:

    • npm install
  2. Create your local env file:

    • cp .env.example .env.local
    • Add:
      • OPENAI_API_KEY=...
      • TINYFISH_API_KEY=...

Run the GUI (Next.js)

  • Start the dev server:
    • npm run dev
  • Open:
    • http://localhost:3000

Run the CLI

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

Help

Use straight quotes in the terminal. Smart quotes (like “ ”) can cause dquote> prompts.

node cli/scout.mjs

Commands:

  • init — create .scout.json
  • add — 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 runs
  • cancel — cancel latest or --run by id
  • reset — delete .scout.json and .scout-runs.json

Notes

  • .env.local is 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.json in your project directory.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •