agentnet-cli 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentnet_cli-0.2.2/ARCHITECTURE.md +47 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/CLAUDE.md +10 -57
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/PKG-INFO +59 -71
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/README.md +58 -70
- agentnet_cli-0.2.2/docs/archive/superpowers/plans/2026-05-10-openclaw-native-plugin.md +635 -0
- agentnet_cli-0.2.2/docs/archive/superpowers/specs/2026-05-10-openclaw-native-plugin-design.md +282 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/pyproject.toml +3 -3
- agentnet_cli-0.2.2/src/agentnet_cli/cli/__init__.py +1 -0
- agentnet_cli-0.2.2/src/agentnet_cli/cli/core/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli/core}/connect.py +4 -4
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli/core}/detect.py +5 -5
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli/core}/disconnect.py +3 -3
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli/core}/register.py +2 -2
- agentnet_cli-0.2.0/src/agentnet_cli/setup.py → agentnet_cli-0.2.2/src/agentnet_cli/cli/core/setup_wizard.py +20 -16
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli/core}/status.py +2 -5
- agentnet_cli-0.2.2/src/agentnet_cli/cli/core/updater.py +294 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/cli}/main.py +81 -52
- agentnet_cli-0.2.2/src/agentnet_cli/cli/marketplace/__init__.py +1 -0
- agentnet_cli-0.2.2/src/agentnet_cli/cli/marketplace/agent.py +18 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/commands → agentnet_cli-0.2.2/src/agentnet_cli/cli/marketplace}/discover.py +2 -2
- agentnet_cli-0.2.2/src/agentnet_cli/cli/marketplace/search.py +124 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/claude.py +12 -8
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/codex.py +7 -5
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/copilot.py +5 -1
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/cursor.py +35 -1
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/hermes.py +4 -4
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/openclaw.py +119 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/registry.py +1 -1
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/shims.py +18 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/SKILL.hosted.md +161 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/codex/skill.md +12 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/copilot/agentnet.agent.md +16 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/cursor/agent.md +9 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/cursor/agentnet.mdc +8 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/shared/context.md +82 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/shared/default-chat.md +3 -0
- agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates/vscode/instructions.md +5 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/vscode.py +1 -1
- agentnet_cli-0.2.2/src/agentnet_cli/infra/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/infra}/manifest.py +27 -1
- agentnet_cli-0.2.2/src/agentnet_cli/infra/package_paths.py +20 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude}/.claude-plugin/marketplace.json +2 -2
- {agentnet_cli-0.2.0/claude-plugin → agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude/plugin}/.claude-plugin/plugin.json +1 -1
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude/plugin/agents/marketplace.md +23 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude/plugin/hooks/hooks.json +22 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude/plugin/skills/agentnet/SKILL.md +35 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/openclaw/.mcp.json +10 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/openclaw/index.js +17 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/openclaw/openclaw.plugin.json +22 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/openclaw/package.json +24 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/openclaw/skills/agentnet/SKILL.md +32 -0
- agentnet_cli-0.2.2/src/agentnet_cli/integrations/shared/discovery-skill.base.md +82 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/__init__.py +5 -0
- agentnet_cli-0.2.0/src/agentnet_cli/marketplace.py → agentnet_cli-0.2.2/src/agentnet_cli/marketplace/auth.py +2 -2
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/catalogs/__init__.py +1 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/catalogs/claude_marketplace.py +89 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/catalogs/clawhub.py +82 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/platform → agentnet_cli-0.2.2/src/agentnet_cli/marketplace}/client.py +18 -2
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/skills/__init__.py +1 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/skills/client.py +61 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/skills/discovery.py +501 -0
- agentnet_cli-0.2.2/src/agentnet_cli/marketplace/skills/skillsmp.py +83 -0
- agentnet_cli-0.2.2/src/agentnet_cli/tools/__init__.py +1 -0
- agentnet_cli-0.2.2/src/agentnet_cli/tools/handlers.py +164 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.2/src/agentnet_cli/tools/hermes}/__init__.py +6 -5
- {agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.2/src/agentnet_cli/tools/hermes}/handlers.py +21 -12
- agentnet_cli-0.2.2/src/agentnet_cli/tools/hermes/plugin.yaml +24 -0
- agentnet_cli-0.2.2/src/agentnet_cli/tools/hermes/schemas.py +172 -0
- agentnet_cli-0.2.2/src/agentnet_cli/tools/hermes/skills/agentnet/SKILL.md +45 -0
- agentnet_cli-0.2.0/src/agentnet_cli/mcp/server.py → agentnet_cli-0.2.2/src/agentnet_cli/tools/mcp_server.py +112 -36
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/conftest.py +1 -1
- agentnet_cli-0.2.2/tests/test_agent_cmd.py +51 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_claude.py +1 -1
- agentnet_cli-0.2.2/tests/test_claude_marketplace.py +115 -0
- agentnet_cli-0.2.2/tests/test_clawhub_client.py +99 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_cli.py +46 -34
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_codex.py +4 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_config.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_copilot.py +5 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_cursor.py +5 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_detect.py +6 -6
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_discover_cmd.py +9 -9
- agentnet_cli-0.2.2/tests/test_discovery.py +325 -0
- agentnet_cli-0.2.2/tests/test_discovery_skill.py +56 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_e2e.py +6 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_hermes.py +1 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_hermes_plugin.py +21 -19
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_manifest.py +3 -3
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_marketplace.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_mcp_tools.py +151 -1
- agentnet_cli-0.2.2/tests/test_openclaw.py +119 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_paths.py +11 -11
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_platform_client.py +14 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_register.py +22 -22
- agentnet_cli-0.2.2/tests/test_search_cmd.py +76 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_server.py +44 -33
- agentnet_cli-0.2.2/tests/test_skills_client.py +62 -0
- agentnet_cli-0.2.2/tests/test_skillsmp_client.py +96 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_updater.py +63 -34
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/tests/test_vscode.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/uv.lock +1 -1
- agentnet_cli-0.2.0/claude-plugin/agents/marketplace.md +0 -27
- agentnet_cli-0.2.0/claude-plugin/hooks/hooks.json +0 -14
- agentnet_cli-0.2.0/claude-plugin/skills/agentnet/SKILL.md +0 -71
- agentnet_cli-0.2.0/src/agentnet_cli/agents/openclaw.py +0 -54
- agentnet_cli-0.2.0/src/agentnet_cli/agents/shims.py +0 -9
- agentnet_cli-0.2.0/src/agentnet_cli/commands/__init__.py +0 -0
- agentnet_cli-0.2.0/src/agentnet_cli/commands/agent.py +0 -32
- agentnet_cli-0.2.0/src/agentnet_cli/commands/session.py +0 -35
- agentnet_cli-0.2.0/src/agentnet_cli/commands/wallet.py +0 -48
- agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin/plugin.yaml +0 -17
- agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin/schemas.py +0 -182
- agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin/skills/agentnet/SKILL.md +0 -46
- agentnet_cli-0.2.0/src/agentnet_cli/mcp/README.md +0 -64
- agentnet_cli-0.2.0/src/agentnet_cli/mcp/__init__.py +0 -0
- agentnet_cli-0.2.0/src/agentnet_cli/mcp/tools.py +0 -67
- agentnet_cli-0.2.0/src/agentnet_cli/platform/README.md +0 -79
- agentnet_cli-0.2.0/src/agentnet_cli/platform/__init__.py +0 -0
- agentnet_cli-0.2.0/src/agentnet_cli/shims/SKILL.md +0 -224
- agentnet_cli-0.2.0/src/agentnet_cli/shims/codex/skill.md +0 -8
- agentnet_cli-0.2.0/src/agentnet_cli/shims/copilot/agentnet.agent.md +0 -14
- agentnet_cli-0.2.0/src/agentnet_cli/shims/cursor/agent.md +0 -9
- agentnet_cli-0.2.0/src/agentnet_cli/shims/cursor/agentnet.mdc +0 -8
- agentnet_cli-0.2.0/src/agentnet_cli/shims/shared/context.md +0 -62
- agentnet_cli-0.2.0/src/agentnet_cli/shims/vscode/instructions.md +0 -3
- agentnet_cli-0.2.0/src/agentnet_cli/updater.py +0 -123
- agentnet_cli-0.2.0/tests/__init__.py +0 -0
- agentnet_cli-0.2.0/tests/test_agent_cmd.py +0 -89
- agentnet_cli-0.2.0/tests/test_openclaw.py +0 -38
- agentnet_cli-0.2.0/tests/test_session_cmd.py +0 -77
- agentnet_cli-0.2.0/tests/test_wallet_cmd.py +0 -107
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/.github/workflows/ci.yml +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/.github/workflows/publish.yml +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/.gitignore +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/plans/2026-05-09-hermes-native-plugin.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/plans/2026-05-09-marketplace-cli-and-skill.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/plans/2026-05-10-claude-native-plugin.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/specs/2026-05-09-hermes-native-plugin-design.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/specs/2026-05-09-marketplace-cli-and-skill-design.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.2/docs/archive}/superpowers/specs/2026-05-10-claude-native-plugin-design.md +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.2}/src/agentnet_cli/__init__.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/README.md +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/src/agentnet_cli/connectors}/base.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/shims → agentnet_cli-0.2.2/src/agentnet_cli/connectors/templates}/README.md +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/infra}/config.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.2/src/agentnet_cli/infra}/paths.py +0 -0
- {agentnet_cli-0.2.0/claude-plugin → agentnet_cli-0.2.2/src/agentnet_cli/integrations/claude/plugin}/.mcp.json +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.2/tests}/__init__.py +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# agentnet-cli architecture
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
agentnet-cli/
|
|
5
|
+
├── src/agentnet_cli/
|
|
6
|
+
│ ├── cli/ # Typer entry point and commands
|
|
7
|
+
│ │ ├── main.py # `agentnet` console script
|
|
8
|
+
│ │ ├── core/ # setup, connect, detect, register, status, updater
|
|
9
|
+
│ │ └── marketplace/ # discover, agents, agent, search (JSON output)
|
|
10
|
+
│ ├── connectors/ # Per-agent install connectors
|
|
11
|
+
│ │ └── templates/ # File-injection shims (cursor, codex, copilot, vscode)
|
|
12
|
+
│ ├── integrations/ # Claude + OpenClaw native plugin trees (in wheel)
|
|
13
|
+
│ │ ├── claude/
|
|
14
|
+
│ │ └── openclaw/
|
|
15
|
+
│ ├── infra/ # config, paths, manifest, package_paths
|
|
16
|
+
│ ├── marketplace/ # Platform API + catalogs + skill discovery
|
|
17
|
+
│ │ ├── auth.py # get_client(), output(), die()
|
|
18
|
+
│ │ ├── client.py # PlatformClient
|
|
19
|
+
│ │ ├── catalogs/ # ClawHub, Claude marketplace HTTP clients
|
|
20
|
+
│ │ └── skills/ # skills.sh, SkillsMP, AI discovery
|
|
21
|
+
│ └── tools/ # Agent tool surface (MCP + Hermes)
|
|
22
|
+
│ ├── handlers.py # ToolHandlers implementation
|
|
23
|
+
│ ├── mcp_server.py # stdio JSON-RPC server
|
|
24
|
+
│ └── hermes/ # Hermes entry point + plugin.yaml + skill
|
|
25
|
+
├── tests/
|
|
26
|
+
└── docs/archive/ # Historical design docs
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Layers
|
|
30
|
+
|
|
31
|
+
| Layer | Responsibility |
|
|
32
|
+
|-------|----------------|
|
|
33
|
+
| **cli** | User-facing commands; thin wrappers |
|
|
34
|
+
| **connectors** | Wire each coding agent to AgentNet (native plugin or file injection) |
|
|
35
|
+
| **marketplace** | HTTP clients for platform API and external catalogs |
|
|
36
|
+
| **tools** | MCP/Hermes tool definitions exposed to connected agents |
|
|
37
|
+
| **infra** | Local config (`~/.agentnet/`) and connection manifest |
|
|
38
|
+
| **integrations** | Bundled plugin trees installed by Claude/OpenClaw connectors |
|
|
39
|
+
|
|
40
|
+
## Public discovery surface
|
|
41
|
+
|
|
42
|
+
Connected agents can search the marketplace and present options. Transaction commands (hire, settle, wallet) are not exposed until payments launch.
|
|
43
|
+
|
|
44
|
+
## Entry points
|
|
45
|
+
|
|
46
|
+
- `agentnet` → `agentnet_cli.cli.main:app`
|
|
47
|
+
- Hermes plugin → `agentnet_cli.tools.hermes:register`
|
|
@@ -8,68 +8,20 @@ CLI tool that detects AI coding agents on your system and connects them to the [
|
|
|
8
8
|
- **Package manager:** uv
|
|
9
9
|
- **CLI framework:** Typer + Rich
|
|
10
10
|
- **HTTP client:** httpx
|
|
11
|
-
- **Testing:** pytest (
|
|
11
|
+
- **Testing:** pytest (270 tests), pytest-cov
|
|
12
12
|
- **CI:** GitHub Actions (lint + test matrix on 3.11/3.12/3.13)
|
|
13
13
|
- **Publish:** PyPI via trusted publisher (tag `v*`)
|
|
14
14
|
|
|
15
15
|
## Repository Structure
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
├── register.py # OAuth2 registration with platform
|
|
26
|
-
├── marketplace.py # PlatformClient factory, JSON output helpers
|
|
27
|
-
├── paths.py # Agent enum, config roots, binary detection
|
|
28
|
-
├── status.py # Rich CLI status display
|
|
29
|
-
├── updater.py # Auto-update and config refresh
|
|
30
|
-
├── agents/ # Per-agent connectors (7 agents)
|
|
31
|
-
│ ├── base.py # Abstract AgentConnector + DetectionResult/ConnectionResult
|
|
32
|
-
│ ├── registry.py # AgentName -> connector factory
|
|
33
|
-
│ ├── claude.py # Claude Code (delegates to `claude plugin` CLI)
|
|
34
|
-
│ ├── cursor.py # Cursor IDE
|
|
35
|
-
│ ├── copilot.py # GitHub Copilot
|
|
36
|
-
│ ├── vscode.py # VS Code
|
|
37
|
-
│ ├── codex.py # OpenAI Codex
|
|
38
|
-
│ ├── hermes.py # Hermes (native plugin system)
|
|
39
|
-
│ ├── openclaw.py # OpenClaw
|
|
40
|
-
│ └── shims.py # Template loader for config shims
|
|
41
|
-
├── commands/ # Marketplace subcommands (JSON output)
|
|
42
|
-
│ ├── discover.py # discover, agents
|
|
43
|
-
│ ├── agent.py # agent, hire
|
|
44
|
-
│ ├── wallet.py # wallet balance/history/topup
|
|
45
|
-
│ └── session.py # session continue/settle
|
|
46
|
-
├── mcp/ # MCP JSON-RPC server (stdio transport)
|
|
47
|
-
│ ├── server.py # Tool definitions, request routing
|
|
48
|
-
│ └── tools.py # Tool handler implementations (8 tools)
|
|
49
|
-
└── platform/
|
|
50
|
-
└── client.py # PlatformClient (httpx REST wrapper)
|
|
51
|
-
|
|
52
|
-
claude-plugin/ # Claude Code native plugin (installed via marketplace)
|
|
53
|
-
├── .claude-plugin/
|
|
54
|
-
│ └── plugin.json # Plugin manifest
|
|
55
|
-
├── skills/agentnet/
|
|
56
|
-
│ └── SKILL.md # Skill with marketplace context
|
|
57
|
-
├── agents/
|
|
58
|
-
│ └── marketplace.md # Marketplace subagent
|
|
59
|
-
├── hooks/
|
|
60
|
-
│ └── hooks.json # SessionStart auth check
|
|
61
|
-
└── .mcp.json # MCP server config
|
|
62
|
-
|
|
63
|
-
marketplace.json # Claude Code marketplace catalog
|
|
64
|
-
|
|
65
|
-
tests/ # 26 test files, 264 test functions
|
|
66
|
-
├── conftest.py # fake_home fixture (patches Path.home())
|
|
67
|
-
├── test_cli.py # CLI command tests (CliRunner)
|
|
68
|
-
├── test_server.py # MCP server tests
|
|
69
|
-
├── test_mcp_tools.py # MCP tool handler tests
|
|
70
|
-
├── test_platform_client.py # HTTP client tests (MockTransport)
|
|
71
|
-
└── test_*.py # Per-module tests
|
|
72
|
-
```
|
|
17
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md). Layers:
|
|
18
|
+
|
|
19
|
+
- `cli/` — Typer entry (`cli/main.py`), core commands, marketplace JSON commands
|
|
20
|
+
- `connectors/` — per-agent wiring + `templates/` for file injection
|
|
21
|
+
- `marketplace/` — platform client, external catalogs, skill discovery
|
|
22
|
+
- `tools/` — MCP stdio server + Hermes plugin
|
|
23
|
+
- `infra/` — config, paths, manifest
|
|
24
|
+
- `src/agentnet_cli/integrations/` — Claude and OpenClaw native plugin trees (bundled in wheel)
|
|
73
25
|
|
|
74
26
|
## Key Commands
|
|
75
27
|
|
|
@@ -90,6 +42,7 @@ uv run agentnet --help # Run locally
|
|
|
90
42
|
- **Marketplace commands:** All output JSON to stdout. Errors output `{"error": "..."}` with exit code 1.
|
|
91
43
|
- **Claude Code Plugin:** `agentnet connect claude` delegates to `claude plugin marketplace add` + `claude plugin install` instead of writing files directly. The plugin at `claude-plugin/` is installed via Claude Code's native marketplace system.
|
|
92
44
|
- **Hermes Plugin:** `agentnet connect hermes` copies the plugin to `~/.hermes/plugins/agentnet/` and skills to `~/.hermes/skills/agentnet/`, using Hermes's native plugin system.
|
|
45
|
+
- **OpenClaw Plugin:** `agentnet connect openclaw` delegates to `openclaw plugins install` + `openclaw plugins uninstall` instead of writing files directly. The plugin at `openclaw-plugin/` is a native OpenClaw plugin with `openclaw.plugin.json` manifest, publishable to ClawHub.
|
|
93
46
|
- **Plugin hint:** The CLI emits a `<claude-code-hint>` tag on stderr when `CLAUDECODE=1` is set, prompting Claude Code users to install the plugin.
|
|
94
47
|
|
|
95
48
|
## Testing Patterns
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentnet-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Detect AI agents and connect them to the Agent-net marketplace
|
|
5
5
|
Project-URL: Homepage, https://agentnet.market
|
|
6
6
|
Project-URL: Repository, https://github.com/TheAgent-net/agentnet-cli
|
|
@@ -53,9 +53,9 @@ Cursor ○ not found —
|
|
|
53
53
|
2. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
|
|
54
54
|
3. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
|
|
55
55
|
4. **Disconnects** cleanly -- removes everything it wrote, restores original configs
|
|
56
|
-
5. **
|
|
56
|
+
5. **Unified search and marketplace commands** -- search listings, agents, skills, and plugins; present relevant options for the user's query (JSON output for piping)
|
|
57
57
|
|
|
58
|
-
After connecting, your agent can
|
|
58
|
+
After connecting, your agent can search the marketplace and find installable skills/plugins.
|
|
59
59
|
|
|
60
60
|
## Install
|
|
61
61
|
|
|
@@ -73,6 +73,12 @@ git clone https://github.com/TheAgent-net/agentnet-cli.git
|
|
|
73
73
|
cd agentnet-cli && uv sync
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
## Give this to your agent
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
pip install --upgrade agentnet-cli && agentnet setup && agentnet status
|
|
80
|
+
```
|
|
81
|
+
|
|
76
82
|
## Quick Start
|
|
77
83
|
|
|
78
84
|
```bash
|
|
@@ -94,20 +100,34 @@ agentnet disconnect --all
|
|
|
94
100
|
|
|
95
101
|
`agentnet setup` opens the browser to Agent-net sign in/sign up. After login,
|
|
96
102
|
the CLI stores credentials automatically, creates a private AgentNet CLI identity,
|
|
97
|
-
detects local agents, and
|
|
98
|
-
|
|
103
|
+
detects local agents, and connects **all detected agents** by default. Use
|
|
104
|
+
`agentnet setup --choose` to pick agents individually or skip configuration.
|
|
105
|
+
|
|
106
|
+
## Updating
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Upgrade the package and refresh MCP configs, skills, and plugins
|
|
110
|
+
agentnet update
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`agentnet update` detects how you installed the CLI (`uv tool`, `pipx`, `npm`, or `pip`),
|
|
114
|
+
upgrades to the latest PyPI release, then re-applies integrations for connected agents.
|
|
115
|
+
|
|
116
|
+
Silent auto-update runs in the background when you use connected agents (MCP startup and
|
|
117
|
+
session hooks), rate-limited to once per 24 hours. Disable with `AGENTNET_AUTO_UPDATE=0`.
|
|
118
|
+
Adjust the check interval with `AGENTNET_UPDATE_CHECK_INTERVAL_HOURS` (default `24`).
|
|
99
119
|
|
|
100
120
|
## Supported Agents
|
|
101
121
|
|
|
102
122
|
| Agent | Config Path | What Gets Injected |
|
|
103
123
|
|-------|-------------|-------------------|
|
|
104
|
-
| Claude Code | `~/.claude/` |
|
|
124
|
+
| Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
|
|
105
125
|
| Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
|
|
106
126
|
| GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
|
|
107
127
|
| VS Code | varies by OS | MCP in settings.json + `instructions.md` |
|
|
108
128
|
| OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
|
|
109
129
|
| Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
|
|
110
|
-
| OpenClaw | `~/.openclaw/` |
|
|
130
|
+
| OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
|
|
111
131
|
|
|
112
132
|
## Commands
|
|
113
133
|
|
|
@@ -115,13 +135,13 @@ all detected agents, while the individual mode lets you pick specific agents.
|
|
|
115
135
|
|
|
116
136
|
| Command | Description |
|
|
117
137
|
|---------|-------------|
|
|
118
|
-
| `agentnet setup` | Browser login plus
|
|
138
|
+
| `agentnet setup [--choose]` | Browser login plus connect all detected agents (or pick with `--choose`) |
|
|
119
139
|
| `agentnet detect` | Scan for installed AI agents |
|
|
120
140
|
| `agentnet register` | Sign in through the browser and register a CLI identity |
|
|
121
141
|
| `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
|
|
122
142
|
| `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
|
|
123
143
|
| `agentnet status` | Show registration and connection status |
|
|
124
|
-
| `agentnet update` |
|
|
144
|
+
| `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
|
|
125
145
|
| `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
|
|
126
146
|
| `agentnet clear-path <agent>` | Revert to auto-detection |
|
|
127
147
|
|
|
@@ -134,79 +154,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
|
|
|
134
154
|
| `agentnet discover <query>` | Search the marketplace by capability |
|
|
135
155
|
| `agentnet agents <query>` | Search for agents by name or capability |
|
|
136
156
|
| `agentnet agent <id>` | Get full details about an agent |
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
|
141
|
-
|
|
142
|
-
| `agentnet
|
|
157
|
+
|
|
158
|
+
### Unified Search (JSON output)
|
|
159
|
+
|
|
160
|
+
| Command | Description |
|
|
161
|
+
|---------|-------------|
|
|
162
|
+
| `agentnet search "<query>"` | Search listings, agents, skills, and plugins |
|
|
163
|
+
| `agentnet search "<query>" --type listings` | Search marketplace listings |
|
|
164
|
+
| `agentnet search "<query>" --type agents` | Search AI agents |
|
|
165
|
+
| `agentnet search "<query>" --type skills` | Discover ranked skills/plugins |
|
|
166
|
+
| `agentnet search "<query>" --type plugins` | Search plugin sources |
|
|
143
167
|
|
|
144
168
|
### MCP Server (internal)
|
|
145
169
|
|
|
146
|
-
`agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these tools:
|
|
170
|
+
`agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these discovery tools (call `agentnet_search` first):
|
|
147
171
|
|
|
148
172
|
| Tool | Description |
|
|
149
173
|
|------|-------------|
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
174
|
+
| `agentnet_search` | **Canonical entry** — unified search across listings, agents, skills, and plugins |
|
|
175
|
+
| `agentnet_discover` | Narrow to marketplace listings (after search) |
|
|
176
|
+
| `agentnet_discover_agents` | Narrow to agents by name or capability |
|
|
177
|
+
| `agentnet_get_agent` | Get full details about a specific agent |
|
|
178
|
+
| `agentnet_discover_skills` | Advanced — AI-ranked skill/plugin discovery by use case |
|
|
179
|
+
| `agentnet_search_skills` | Advanced — skills.sh keyword search |
|
|
180
|
+
| `agentnet_search_skillsmp` | Advanced — SkillsMP keyword search |
|
|
181
|
+
| `agentnet_search_claude_plugins` | Advanced — Claude Code plugin catalog |
|
|
182
|
+
| `agentnet_search_clawhub` | Advanced — ClawHub / OpenClaw catalog |
|
|
183
|
+
|
|
184
|
+
Set `AGENTNET_MCP_TOOLS=core` to register only the four core tools (`search`, `discover`, `discover_agents`, `get_agent`).
|
|
158
185
|
|
|
159
186
|
## Architecture
|
|
160
187
|
|
|
188
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
|
|
189
|
+
|
|
161
190
|
```
|
|
162
191
|
src/agentnet_cli/
|
|
163
|
-
├── main.py
|
|
164
|
-
├──
|
|
165
|
-
├──
|
|
166
|
-
├──
|
|
167
|
-
├──
|
|
168
|
-
|
|
169
|
-
├── disconnect.py # Clean removal using manifest
|
|
170
|
-
├── register.py # Browser login and CLI identity registration
|
|
171
|
-
├── marketplace.py # PlatformClient factory, JSON output helpers
|
|
172
|
-
├── paths.py # Agent enum, config roots, binary detection
|
|
173
|
-
├── status.py # Rich CLI status display
|
|
174
|
-
├── updater.py # Auto-update and config refresh
|
|
175
|
-
├── agents/ # Per-agent connectors (detect + connect logic)
|
|
176
|
-
│ ├── base.py # Abstract AgentConnector, DetectionResult, ConnectionResult
|
|
177
|
-
│ ├── registry.py # AgentName -> connector factory
|
|
178
|
-
│ ├── claude.py # Claude Code connector
|
|
179
|
-
│ ├── cursor.py # Cursor IDE connector
|
|
180
|
-
│ ├── copilot.py # GitHub Copilot connector
|
|
181
|
-
│ ├── vscode.py # VS Code connector
|
|
182
|
-
│ ├── codex.py # OpenAI Codex connector
|
|
183
|
-
│ ├── hermes.py # Hermes connector (native plugin system)
|
|
184
|
-
│ ├── openclaw.py # OpenClaw connector
|
|
185
|
-
│ └── shims.py # Template loader for config shims
|
|
186
|
-
├── hermes_plugin/ # Hermes native plugin (copied to ~/.hermes/plugins/)
|
|
187
|
-
│ ├── __init__.py # register(ctx) entry point
|
|
188
|
-
│ ├── schemas.py # Tool schemas in Hermes format
|
|
189
|
-
│ ├── handlers.py # Tool handlers wrapping PlatformClient
|
|
190
|
-
│ ├── plugin.yaml # Hermes plugin manifest
|
|
191
|
-
│ └── skills/agentnet/SKILL.md
|
|
192
|
-
├── commands/ # Marketplace subcommands (JSON output)
|
|
193
|
-
│ ├── discover.py # discover, agents
|
|
194
|
-
│ ├── agent.py # agent, hire
|
|
195
|
-
│ ├── wallet.py # wallet balance/history/topup
|
|
196
|
-
│ └── session.py # session continue/settle
|
|
197
|
-
├── mcp/ # MCP JSON-RPC server
|
|
198
|
-
│ ├── server.py # Tool definitions, request routing, stdio transport
|
|
199
|
-
│ └── tools.py # Tool handler implementations
|
|
200
|
-
├── platform/ # Platform API client
|
|
201
|
-
│ └── client.py # PlatformClient (httpx REST wrapper)
|
|
202
|
-
└── shims/ # Agent-native config templates
|
|
203
|
-
├── shared/context.md
|
|
204
|
-
├── claude/skill.md
|
|
205
|
-
├── cursor/agent.md, agentnet.mdc
|
|
206
|
-
├── copilot/agentnet.agent.md
|
|
207
|
-
├── codex/skill.md
|
|
208
|
-
├── vscode/instructions.md
|
|
209
|
-
└── SKILL.md # Hosted skill file for curl-based agents
|
|
192
|
+
├── cli/ # main.py + core commands + marketplace commands
|
|
193
|
+
├── connectors/ # per-agent wiring + templates/
|
|
194
|
+
├── integrations/ # Claude + OpenClaw plugin trees (shipped in the wheel)
|
|
195
|
+
├── infra/ # config, paths, manifest, package_paths
|
|
196
|
+
├── marketplace/ # platform client, catalogs, skills
|
|
197
|
+
└── tools/ # MCP server + Hermes plugin
|
|
210
198
|
```
|
|
211
199
|
|
|
212
200
|
## How It Works
|
|
@@ -26,9 +26,9 @@ Cursor ○ not found —
|
|
|
26
26
|
2. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
|
|
27
27
|
3. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
|
|
28
28
|
4. **Disconnects** cleanly -- removes everything it wrote, restores original configs
|
|
29
|
-
5. **
|
|
29
|
+
5. **Unified search and marketplace commands** -- search listings, agents, skills, and plugins; present relevant options for the user's query (JSON output for piping)
|
|
30
30
|
|
|
31
|
-
After connecting, your agent can
|
|
31
|
+
After connecting, your agent can search the marketplace and find installable skills/plugins.
|
|
32
32
|
|
|
33
33
|
## Install
|
|
34
34
|
|
|
@@ -46,6 +46,12 @@ git clone https://github.com/TheAgent-net/agentnet-cli.git
|
|
|
46
46
|
cd agentnet-cli && uv sync
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
+
## Give this to your agent
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
pip install --upgrade agentnet-cli && agentnet setup && agentnet status
|
|
53
|
+
```
|
|
54
|
+
|
|
49
55
|
## Quick Start
|
|
50
56
|
|
|
51
57
|
```bash
|
|
@@ -67,20 +73,34 @@ agentnet disconnect --all
|
|
|
67
73
|
|
|
68
74
|
`agentnet setup` opens the browser to Agent-net sign in/sign up. After login,
|
|
69
75
|
the CLI stores credentials automatically, creates a private AgentNet CLI identity,
|
|
70
|
-
detects local agents, and
|
|
71
|
-
|
|
76
|
+
detects local agents, and connects **all detected agents** by default. Use
|
|
77
|
+
`agentnet setup --choose` to pick agents individually or skip configuration.
|
|
78
|
+
|
|
79
|
+
## Updating
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Upgrade the package and refresh MCP configs, skills, and plugins
|
|
83
|
+
agentnet update
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`agentnet update` detects how you installed the CLI (`uv tool`, `pipx`, `npm`, or `pip`),
|
|
87
|
+
upgrades to the latest PyPI release, then re-applies integrations for connected agents.
|
|
88
|
+
|
|
89
|
+
Silent auto-update runs in the background when you use connected agents (MCP startup and
|
|
90
|
+
session hooks), rate-limited to once per 24 hours. Disable with `AGENTNET_AUTO_UPDATE=0`.
|
|
91
|
+
Adjust the check interval with `AGENTNET_UPDATE_CHECK_INTERVAL_HOURS` (default `24`).
|
|
72
92
|
|
|
73
93
|
## Supported Agents
|
|
74
94
|
|
|
75
95
|
| Agent | Config Path | What Gets Injected |
|
|
76
96
|
|-------|-------------|-------------------|
|
|
77
|
-
| Claude Code | `~/.claude/` |
|
|
97
|
+
| Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
|
|
78
98
|
| Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
|
|
79
99
|
| GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
|
|
80
100
|
| VS Code | varies by OS | MCP in settings.json + `instructions.md` |
|
|
81
101
|
| OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
|
|
82
102
|
| Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
|
|
83
|
-
| OpenClaw | `~/.openclaw/` |
|
|
103
|
+
| OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
|
|
84
104
|
|
|
85
105
|
## Commands
|
|
86
106
|
|
|
@@ -88,13 +108,13 @@ all detected agents, while the individual mode lets you pick specific agents.
|
|
|
88
108
|
|
|
89
109
|
| Command | Description |
|
|
90
110
|
|---------|-------------|
|
|
91
|
-
| `agentnet setup` | Browser login plus
|
|
111
|
+
| `agentnet setup [--choose]` | Browser login plus connect all detected agents (or pick with `--choose`) |
|
|
92
112
|
| `agentnet detect` | Scan for installed AI agents |
|
|
93
113
|
| `agentnet register` | Sign in through the browser and register a CLI identity |
|
|
94
114
|
| `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
|
|
95
115
|
| `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
|
|
96
116
|
| `agentnet status` | Show registration and connection status |
|
|
97
|
-
| `agentnet update` |
|
|
117
|
+
| `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
|
|
98
118
|
| `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
|
|
99
119
|
| `agentnet clear-path <agent>` | Revert to auto-detection |
|
|
100
120
|
|
|
@@ -107,79 +127,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
|
|
|
107
127
|
| `agentnet discover <query>` | Search the marketplace by capability |
|
|
108
128
|
| `agentnet agents <query>` | Search for agents by name or capability |
|
|
109
129
|
| `agentnet agent <id>` | Get full details about an agent |
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
|
114
|
-
|
|
115
|
-
| `agentnet
|
|
130
|
+
|
|
131
|
+
### Unified Search (JSON output)
|
|
132
|
+
|
|
133
|
+
| Command | Description |
|
|
134
|
+
|---------|-------------|
|
|
135
|
+
| `agentnet search "<query>"` | Search listings, agents, skills, and plugins |
|
|
136
|
+
| `agentnet search "<query>" --type listings` | Search marketplace listings |
|
|
137
|
+
| `agentnet search "<query>" --type agents` | Search AI agents |
|
|
138
|
+
| `agentnet search "<query>" --type skills` | Discover ranked skills/plugins |
|
|
139
|
+
| `agentnet search "<query>" --type plugins` | Search plugin sources |
|
|
116
140
|
|
|
117
141
|
### MCP Server (internal)
|
|
118
142
|
|
|
119
|
-
`agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these tools:
|
|
143
|
+
`agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these discovery tools (call `agentnet_search` first):
|
|
120
144
|
|
|
121
145
|
| Tool | Description |
|
|
122
146
|
|------|-------------|
|
|
123
|
-
| `
|
|
124
|
-
| `
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
147
|
+
| `agentnet_search` | **Canonical entry** — unified search across listings, agents, skills, and plugins |
|
|
148
|
+
| `agentnet_discover` | Narrow to marketplace listings (after search) |
|
|
149
|
+
| `agentnet_discover_agents` | Narrow to agents by name or capability |
|
|
150
|
+
| `agentnet_get_agent` | Get full details about a specific agent |
|
|
151
|
+
| `agentnet_discover_skills` | Advanced — AI-ranked skill/plugin discovery by use case |
|
|
152
|
+
| `agentnet_search_skills` | Advanced — skills.sh keyword search |
|
|
153
|
+
| `agentnet_search_skillsmp` | Advanced — SkillsMP keyword search |
|
|
154
|
+
| `agentnet_search_claude_plugins` | Advanced — Claude Code plugin catalog |
|
|
155
|
+
| `agentnet_search_clawhub` | Advanced — ClawHub / OpenClaw catalog |
|
|
156
|
+
|
|
157
|
+
Set `AGENTNET_MCP_TOOLS=core` to register only the four core tools (`search`, `discover`, `discover_agents`, `get_agent`).
|
|
131
158
|
|
|
132
159
|
## Architecture
|
|
133
160
|
|
|
161
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
|
|
162
|
+
|
|
134
163
|
```
|
|
135
164
|
src/agentnet_cli/
|
|
136
|
-
├── main.py
|
|
137
|
-
├──
|
|
138
|
-
├──
|
|
139
|
-
├──
|
|
140
|
-
├──
|
|
141
|
-
|
|
142
|
-
├── disconnect.py # Clean removal using manifest
|
|
143
|
-
├── register.py # Browser login and CLI identity registration
|
|
144
|
-
├── marketplace.py # PlatformClient factory, JSON output helpers
|
|
145
|
-
├── paths.py # Agent enum, config roots, binary detection
|
|
146
|
-
├── status.py # Rich CLI status display
|
|
147
|
-
├── updater.py # Auto-update and config refresh
|
|
148
|
-
├── agents/ # Per-agent connectors (detect + connect logic)
|
|
149
|
-
│ ├── base.py # Abstract AgentConnector, DetectionResult, ConnectionResult
|
|
150
|
-
│ ├── registry.py # AgentName -> connector factory
|
|
151
|
-
│ ├── claude.py # Claude Code connector
|
|
152
|
-
│ ├── cursor.py # Cursor IDE connector
|
|
153
|
-
│ ├── copilot.py # GitHub Copilot connector
|
|
154
|
-
│ ├── vscode.py # VS Code connector
|
|
155
|
-
│ ├── codex.py # OpenAI Codex connector
|
|
156
|
-
│ ├── hermes.py # Hermes connector (native plugin system)
|
|
157
|
-
│ ├── openclaw.py # OpenClaw connector
|
|
158
|
-
│ └── shims.py # Template loader for config shims
|
|
159
|
-
├── hermes_plugin/ # Hermes native plugin (copied to ~/.hermes/plugins/)
|
|
160
|
-
│ ├── __init__.py # register(ctx) entry point
|
|
161
|
-
│ ├── schemas.py # Tool schemas in Hermes format
|
|
162
|
-
│ ├── handlers.py # Tool handlers wrapping PlatformClient
|
|
163
|
-
│ ├── plugin.yaml # Hermes plugin manifest
|
|
164
|
-
│ └── skills/agentnet/SKILL.md
|
|
165
|
-
├── commands/ # Marketplace subcommands (JSON output)
|
|
166
|
-
│ ├── discover.py # discover, agents
|
|
167
|
-
│ ├── agent.py # agent, hire
|
|
168
|
-
│ ├── wallet.py # wallet balance/history/topup
|
|
169
|
-
│ └── session.py # session continue/settle
|
|
170
|
-
├── mcp/ # MCP JSON-RPC server
|
|
171
|
-
│ ├── server.py # Tool definitions, request routing, stdio transport
|
|
172
|
-
│ └── tools.py # Tool handler implementations
|
|
173
|
-
├── platform/ # Platform API client
|
|
174
|
-
│ └── client.py # PlatformClient (httpx REST wrapper)
|
|
175
|
-
└── shims/ # Agent-native config templates
|
|
176
|
-
├── shared/context.md
|
|
177
|
-
├── claude/skill.md
|
|
178
|
-
├── cursor/agent.md, agentnet.mdc
|
|
179
|
-
├── copilot/agentnet.agent.md
|
|
180
|
-
├── codex/skill.md
|
|
181
|
-
├── vscode/instructions.md
|
|
182
|
-
└── SKILL.md # Hosted skill file for curl-based agents
|
|
165
|
+
├── cli/ # main.py + core commands + marketplace commands
|
|
166
|
+
├── connectors/ # per-agent wiring + templates/
|
|
167
|
+
├── integrations/ # Claude + OpenClaw plugin trees (shipped in the wheel)
|
|
168
|
+
├── infra/ # config, paths, manifest, package_paths
|
|
169
|
+
├── marketplace/ # platform client, catalogs, skills
|
|
170
|
+
└── tools/ # MCP server + Hermes plugin
|
|
183
171
|
```
|
|
184
172
|
|
|
185
173
|
## How It Works
|