Skip to content

Quick Start

Garot Conklin edited this page May 14, 2026 · 1 revision

Quick Start

Get Signal running and producing your first intelligence brief in under 10 minutes.


Prerequisites

Requirement Notes
Python 3.10+ Tested on 3.14. Install via Homebrew: brew install python
Claude Code CLI Required for the default LLM provider
Git For cloning and publishing to GitHub Pages
macOS The automated scheduler uses launchd. The pipeline itself runs on any OS.

Install Claude Code CLI

npm install -g @anthropic-ai/claude-code
claude --version   # should print: 2.x.x (Claude Code)

You must be logged in with a Claude Pro or Max subscription:

claude auth login

Clone and run

git clone https://github.com/fleXRPL/signal.git
cd signal
python3 main.py

That's it. main.py will:

  1. Create a .venv virtual environment automatically on first run
  2. Install all dependencies from requirements.txt
  3. Re-launch itself under the venv Python
  4. Fetch articles from all 18 sources
  5. Run all five analysis passes via Claude
  6. Write an HTML report to reports/
  7. Update index.html and archive.html

The first run takes 20–30 minutes (146 articles × ~9 seconds per Claude call for Pass 1, plus Passes 2–5).


Open the report

open reports/brief_$(date +%Y%m%d)*.html

Or check the exact path printed at the end of the run:

✓ Brief complete
  Report: /path/to/signal/reports/brief_20260514_1353.html
  Open:   open /path/to/signal/reports/brief_20260514_1353.html

CLI flags

Flag Effect
python3 main.py Full run (default)
python3 main.py --collect-only Fetch articles only, skip all LLM analysis. Fast smoke test.
python3 main.py --no-fetch Skip full article text retrieval. Uses RSS snippets only. ~30% faster.
python3 main.py --no-venv Skip venv setup. Used internally when already running under venv.
python3 main.py --model qwen2.5:14b Override the Ollama model (Ollama provider only).

Typical development workflow

# Step 1: Verify feeds are reachable (no LLM calls, instant)
python3 main.py --collect-only

# Step 2: Fast end-to-end test (uses RSS snippets instead of full article text)
python3 main.py --no-fetch

# Step 3: Full production run
python3 main.py

Switch LLM provider

Claude is the default. To run with Ollama locally:

# Requires: ollama serve && ollama pull qwen2.5:14b
SIGNAL_LLM_PROVIDER=ollama python3 main.py

See LLM Providers for full details.


Set up automated daily runs

See Scheduling to configure the 5:00 AM launchd job that runs the pipeline automatically and pushes the report to GitHub Pages.


Publish to GitHub Pages

See GitHub Pages Publishing for the one-time setup that makes your reports publicly accessible at https://<your-org>.github.io/signal/.

Clone this wiki locally