diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..cb6b9cb --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,44 @@ +# 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) diff --git a/README.md b/README.md index 73c1ee8..ec166ed 100644 --- a/README.md +++ b/README.md @@ -340,10 +340,10 @@ Yes! Agent Reach is an installer + configuration tool — any AI coding agent th - 📧 **Email:** pnt01@foxmail.com - 🐦 **Twitter/X:** [@Neo_Reidlab](https://x.com/Neo_Reidlab) -想交流 AI Agent 使用心得、分享最新玩法和技巧?欢迎加入微信交流群,群里都是实战派: +交流或合作可加微信,拉你进交流群:
-
+
-
+