Skip to content

Local Development

Prerequisites

  • Python 3.12+
  • Node.js 20+ (for the @driftabot/engine diff step)
  • A GitHub token with public repo read access

Setup

bash
# Clone the repo
git clone https://github.com/DriftaBot/registry.git
cd registry

# Install Python dependencies
pip install -e .

# Install the DriftaBot engine (used by crawl-providers)
npm install -g @driftabot/engine

# Copy and fill in your tokens
cp .env.example .env

.env:

bash
GITHUB_TOKEN=        # gh auth token
ANTHROPIC_API_KEY=   # only needed for agent modes
DRIFTABOT_TOKEN=     # only needed for notifier commands

All make commands load .env automatically.

Make commands

Crawler

bash
make crawl          # deterministic crawler — no LLM, no API cost
make crawl-agent    # LangGraph agent crawler — requires ANTHROPIC_API_KEY

Provider discoverer

bash
python -m discoverer   # discover new providers and update provider.companies.yaml

Notifier

bash
python -m notifier discover   # find new consumer repos, check and register them
python -m notifier scan       # scan all registered consumers in consumer.companies.yaml

With ANTHROPIC_API_KEY set, both commands run the LangGraph agent. Without it, the deterministic runner is used.

Consumer checker

bash
make check-consumer REPO=owner/repo COMPANY=stripe
# Check a repo and open a GitHub issue if problems are found:
make raise-issue    REPO=owner/repo COMPANY=stripe
# Check, open an issue, and register the repo in consumer.companies.yaml:
make add-consumer   REPO=owner/repo COMPANY=stripe

See Check Your Repo for full documentation.

Tokens

TokenHow to getRequired for
GITHUB_TOKENgh auth tokenAll commands
ANTHROPIC_API_KEYconsole.anthropic.commake crawl-agent, python -m notifier (agent mode)
DRIFTABOT_TOKENPAT for @driftabot-agent (public_repo scope)python -m notifier discover/scan, make raise-issue, make add-consumer

GitHub Actions workflows

WorkflowScheduleDescription
crawl-providers.ymlDaily 00:00 UTCFetches and commits updated provider specs; runs @driftabot/engine diff
discover-providers.ymlManual dispatchDiscovers new API providers, updates provider.companies.yaml
discover-consumers.ymlWeekly Monday 02:00 UTCFinds new consumer repos, checks and registers them
scan-consumers.ymlWeekly Wednesday 04:00 UTCScans all registered consumers, writes pass/fail results
docs.ymlOn push to mainBuilds and deploys VitePress docs to GitHub Pages

Released under the MIT License.