Skip to content

Latest commit

 

History

History
44 lines (39 loc) · 2.21 KB

File metadata and controls

44 lines (39 loc) · 2.21 KB

CLAUDE.md

Project

Agent Reach — Python CLI + library that gives AI agents read/search access to 14+ internet platforms. Positioning: installer + doctor + config tool. NOT a wrapper — after install, agents call upstream tools directly. Repo: github.com/Panniantong/Agent-Reach | License: MIT | Version: 1.3.0

Commands

  • pip install -e . — Dev install
  • pytest tests/ -v — All tests
  • pytest tests/test_cli.py -v — CLI tests only
  • bash test.sh — Full integration test (creates venv, installs, runs doctor + channel tests)
  • python -m agent_reach.cli doctor — Run diagnostics
  • python -m agent_reach.cli install --env=auto — Auto-configure

Structure

  • agent_reach/cli.py — CLI entry point (argparse)
  • agent_reach/core.py — Core read/search routing logic
  • agent_reach/config.py — Config management (YAML, env vars)
  • agent_reach/doctor.py — Diagnostics engine
  • agent_reach/channels/ — One file per platform (twitter.py, reddit.py, youtube.py, etc.)
  • agent_reach/channels/base.py — Base channel class (all channels inherit from this)
  • agent_reach/integrations/mcp_server.py — MCP server integration
  • agent_reach/skill/ — OpenClaw skill files
  • agent_reach/guides/ — Usage guides
  • tests/ — pytest tests
  • config/mcporter.json — MCP tool config

Conventions

  • Python 3.10+ with type hints
  • Each channel is a single file in channels/, inherits from BaseChannel
  • Channel contract: must implement can_handle(url), read(url), search(query), check() methods
  • Use loguru for logging, rich for CLI output
  • Commit format: type(scope): message (one commit = one thing)
  • All upstream tool calls go through public API/CLI, never hack internals

Rules

  • NEVER modify upstream open source projects' source code
  • Agent Reach is a "glue layer" — only route and call, don't reimagine
  • Version in THREE places must match: pyproject.toml, __init__.py, tests/test_cli.py
  • Always new branch for changes, PR to main, never push to main directly
  • Run pytest tests/ -v before committing — all tests must pass
  • Cookie-based auth (Twitter, XHS): use Cookie-Editor export method only, no QR scan
  • XHS login: Cookie-Editor browser export only (QR will hang)