agentnet-cli 0.1.0__tar.gz → 0.2.1__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.
Files changed (150) hide show
  1. agentnet_cli-0.2.1/ARCHITECTURE.md +47 -0
  2. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/CLAUDE.md +10 -57
  3. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/PKG-INFO +68 -78
  4. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/README.md +66 -77
  5. agentnet_cli-0.2.1/docs/archive/superpowers/plans/2026-05-10-openclaw-native-plugin.md +635 -0
  6. agentnet_cli-0.2.1/docs/archive/superpowers/specs/2026-05-10-openclaw-native-plugin-design.md +282 -0
  7. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/pyproject.toml +4 -3
  8. agentnet_cli-0.2.1/src/agentnet_cli/cli/__init__.py +1 -0
  9. agentnet_cli-0.2.1/src/agentnet_cli/cli/core/__init__.py +1 -0
  10. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/connect.py +5 -5
  11. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/detect.py +5 -5
  12. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/disconnect.py +3 -3
  13. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/register.py +96 -19
  14. agentnet_cli-0.2.1/src/agentnet_cli/cli/core/setup_wizard.py +391 -0
  15. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/status.py +3 -6
  16. agentnet_cli-0.2.1/src/agentnet_cli/cli/core/updater.py +294 -0
  17. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli}/main.py +86 -50
  18. agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/__init__.py +1 -0
  19. agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/agent.py +18 -0
  20. {agentnet_cli-0.1.0/src/agentnet_cli/commands → agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace}/discover.py +2 -2
  21. agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/search.py +124 -0
  22. agentnet_cli-0.2.1/src/agentnet_cli/connectors/__init__.py +1 -0
  23. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/claude.py +12 -8
  24. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/codex.py +7 -5
  25. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/copilot.py +5 -1
  26. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/cursor.py +35 -1
  27. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/hermes.py +4 -4
  28. agentnet_cli-0.2.1/src/agentnet_cli/connectors/openclaw.py +119 -0
  29. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/registry.py +1 -1
  30. agentnet_cli-0.2.1/src/agentnet_cli/connectors/shims.py +18 -0
  31. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/SKILL.hosted.md +161 -0
  32. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/codex/skill.md +12 -0
  33. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/copilot/agentnet.agent.md +16 -0
  34. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/cursor/agent.md +9 -0
  35. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/cursor/agentnet.mdc +8 -0
  36. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/shared/context.md +82 -0
  37. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/shared/default-chat.md +3 -0
  38. agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/vscode/instructions.md +5 -0
  39. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/vscode.py +1 -1
  40. agentnet_cli-0.2.1/src/agentnet_cli/infra/__init__.py +1 -0
  41. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/manifest.py +27 -1
  42. agentnet_cli-0.2.1/src/agentnet_cli/infra/package_paths.py +20 -0
  43. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude}/.claude-plugin/marketplace.json +2 -2
  44. {agentnet_cli-0.1.0/claude-plugin → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin}/.claude-plugin/plugin.json +1 -1
  45. agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/agents/marketplace.md +23 -0
  46. agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/hooks/hooks.json +22 -0
  47. agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/skills/agentnet/SKILL.md +35 -0
  48. agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/.mcp.json +10 -0
  49. agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/index.js +17 -0
  50. agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/openclaw.plugin.json +22 -0
  51. agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/package.json +24 -0
  52. agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/skills/agentnet/SKILL.md +32 -0
  53. agentnet_cli-0.2.1/src/agentnet_cli/integrations/shared/discovery-skill.base.md +82 -0
  54. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/__init__.py +5 -0
  55. agentnet_cli-0.1.0/src/agentnet_cli/marketplace.py → agentnet_cli-0.2.1/src/agentnet_cli/marketplace/auth.py +4 -4
  56. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/__init__.py +1 -0
  57. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/claude_marketplace.py +89 -0
  58. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/clawhub.py +82 -0
  59. {agentnet_cli-0.1.0/src/agentnet_cli/platform → agentnet_cli-0.2.1/src/agentnet_cli/marketplace}/client.py +52 -2
  60. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/__init__.py +1 -0
  61. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/client.py +61 -0
  62. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/discovery.py +501 -0
  63. agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/skillsmp.py +83 -0
  64. agentnet_cli-0.2.1/src/agentnet_cli/tools/__init__.py +1 -0
  65. agentnet_cli-0.2.1/src/agentnet_cli/tools/handlers.py +164 -0
  66. {agentnet_cli-0.1.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes}/__init__.py +6 -5
  67. {agentnet_cli-0.1.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes}/handlers.py +22 -13
  68. agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes/plugin.yaml +24 -0
  69. agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes/schemas.py +172 -0
  70. agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes/skills/agentnet/SKILL.md +45 -0
  71. agentnet_cli-0.1.0/src/agentnet_cli/mcp/server.py → agentnet_cli-0.2.1/src/agentnet_cli/tools/mcp_server.py +112 -36
  72. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/conftest.py +1 -1
  73. agentnet_cli-0.2.1/tests/test_agent_cmd.py +51 -0
  74. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_claude.py +1 -1
  75. agentnet_cli-0.2.1/tests/test_claude_marketplace.py +115 -0
  76. agentnet_cli-0.2.1/tests/test_clawhub_client.py +99 -0
  77. agentnet_cli-0.2.1/tests/test_cli.py +339 -0
  78. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_codex.py +4 -1
  79. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_config.py +5 -5
  80. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_copilot.py +5 -2
  81. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_cursor.py +5 -2
  82. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_detect.py +6 -6
  83. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_discover_cmd.py +9 -9
  84. agentnet_cli-0.2.1/tests/test_discovery.py +325 -0
  85. agentnet_cli-0.2.1/tests/test_discovery_skill.py +56 -0
  86. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_e2e.py +6 -2
  87. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_hermes.py +1 -1
  88. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_hermes_plugin.py +22 -20
  89. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_manifest.py +3 -3
  90. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_marketplace.py +5 -5
  91. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_mcp_tools.py +151 -1
  92. agentnet_cli-0.2.1/tests/test_openclaw.py +119 -0
  93. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_paths.py +11 -11
  94. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_platform_client.py +14 -1
  95. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_register.py +68 -49
  96. agentnet_cli-0.2.1/tests/test_search_cmd.py +76 -0
  97. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_server.py +44 -33
  98. agentnet_cli-0.2.1/tests/test_skills_client.py +62 -0
  99. agentnet_cli-0.2.1/tests/test_skillsmp_client.py +96 -0
  100. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_updater.py +63 -34
  101. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/tests/test_vscode.py +5 -5
  102. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/uv.lock +3 -1
  103. agentnet_cli-0.1.0/claude-plugin/agents/marketplace.md +0 -27
  104. agentnet_cli-0.1.0/claude-plugin/hooks/hooks.json +0 -14
  105. agentnet_cli-0.1.0/claude-plugin/skills/agentnet/SKILL.md +0 -71
  106. agentnet_cli-0.1.0/src/agentnet_cli/agents/openclaw.py +0 -54
  107. agentnet_cli-0.1.0/src/agentnet_cli/agents/shims.py +0 -9
  108. agentnet_cli-0.1.0/src/agentnet_cli/commands/__init__.py +0 -0
  109. agentnet_cli-0.1.0/src/agentnet_cli/commands/agent.py +0 -32
  110. agentnet_cli-0.1.0/src/agentnet_cli/commands/session.py +0 -35
  111. agentnet_cli-0.1.0/src/agentnet_cli/commands/wallet.py +0 -48
  112. agentnet_cli-0.1.0/src/agentnet_cli/hermes_plugin/plugin.yaml +0 -17
  113. agentnet_cli-0.1.0/src/agentnet_cli/hermes_plugin/schemas.py +0 -182
  114. agentnet_cli-0.1.0/src/agentnet_cli/hermes_plugin/skills/agentnet/SKILL.md +0 -46
  115. agentnet_cli-0.1.0/src/agentnet_cli/mcp/README.md +0 -64
  116. agentnet_cli-0.1.0/src/agentnet_cli/mcp/__init__.py +0 -0
  117. agentnet_cli-0.1.0/src/agentnet_cli/mcp/tools.py +0 -67
  118. agentnet_cli-0.1.0/src/agentnet_cli/platform/README.md +0 -79
  119. agentnet_cli-0.1.0/src/agentnet_cli/platform/__init__.py +0 -0
  120. agentnet_cli-0.1.0/src/agentnet_cli/shims/SKILL.md +0 -225
  121. agentnet_cli-0.1.0/src/agentnet_cli/shims/codex/skill.md +0 -8
  122. agentnet_cli-0.1.0/src/agentnet_cli/shims/copilot/agentnet.agent.md +0 -14
  123. agentnet_cli-0.1.0/src/agentnet_cli/shims/cursor/agent.md +0 -9
  124. agentnet_cli-0.1.0/src/agentnet_cli/shims/cursor/agentnet.mdc +0 -8
  125. agentnet_cli-0.1.0/src/agentnet_cli/shims/shared/context.md +0 -62
  126. agentnet_cli-0.1.0/src/agentnet_cli/shims/vscode/instructions.md +0 -3
  127. agentnet_cli-0.1.0/src/agentnet_cli/updater.py +0 -123
  128. agentnet_cli-0.1.0/tests/__init__.py +0 -0
  129. agentnet_cli-0.1.0/tests/test_agent_cmd.py +0 -89
  130. agentnet_cli-0.1.0/tests/test_cli.py +0 -178
  131. agentnet_cli-0.1.0/tests/test_openclaw.py +0 -38
  132. agentnet_cli-0.1.0/tests/test_session_cmd.py +0 -77
  133. agentnet_cli-0.1.0/tests/test_wallet_cmd.py +0 -107
  134. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/.github/workflows/ci.yml +0 -0
  135. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/.github/workflows/publish.yml +0 -0
  136. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/.gitignore +0 -0
  137. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-09-hermes-native-plugin.md +0 -0
  138. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-09-marketplace-cli-and-skill.md +0 -0
  139. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-10-claude-native-plugin.md +0 -0
  140. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/specs/2026-05-09-hermes-native-plugin-design.md +0 -0
  141. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/specs/2026-05-09-marketplace-cli-and-skill-design.md +0 -0
  142. {agentnet_cli-0.1.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/specs/2026-05-10-claude-native-plugin-design.md +0 -0
  143. {agentnet_cli-0.1.0 → agentnet_cli-0.2.1}/src/agentnet_cli/__init__.py +0 -0
  144. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/README.md +0 -0
  145. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/base.py +0 -0
  146. {agentnet_cli-0.1.0/src/agentnet_cli/shims → agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates}/README.md +0 -0
  147. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/config.py +0 -0
  148. {agentnet_cli-0.1.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/paths.py +0 -0
  149. {agentnet_cli-0.1.0/claude-plugin → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin}/.mcp.json +0 -0
  150. {agentnet_cli-0.1.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/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 (264 tests), pytest-cov
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
- src/agentnet_cli/
19
- ├── main.py # Typer CLI entry point, registers all commands
20
- ├── config.py # ~/.agentnet/config.json persistence
21
- ├── manifest.py # Track injected files per agent for clean rollback
22
- ├── detect.py # Auto-detect installed agents by config dirs
23
- ├── connect.py # Connection flow: validate auth, invoke connectors
24
- ├── disconnect.py # Clean removal using manifest
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.1.0
3
+ Version: 0.2.1
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
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Topic :: Software Development :: Libraries
19
19
  Requires-Python: >=3.11
20
+ Requires-Dist: click>=8.0
20
21
  Requires-Dist: httpx>=0.27
21
22
  Requires-Dist: pyyaml>=6.0
22
23
  Requires-Dist: rich>=13.0
@@ -48,12 +49,13 @@ Cursor ○ not found —
48
49
 
49
50
  ## What It Does
50
51
 
51
- 1. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
52
- 2. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
53
- 3. **Disconnects** cleanly -- removes everything it wrote, restores original configs
54
- 4. **Marketplace commands** -- discover, hire, and pay agents directly from the CLI (JSON output for piping)
52
+ 1. **Sets up** Agent-net with one command: browser sign in/sign up, private CLI agent registration, local agent detection, and guided configuration
53
+ 2. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
54
+ 3. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
55
+ 4. **Disconnects** cleanly -- removes everything it wrote, restores original configs
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)
55
57
 
56
- After connecting, your agent can discover, hire, and transact with other AI agents on the marketplace.
58
+ After connecting, your agent can search the marketplace and find installable skills/plugins.
57
59
 
58
60
  ## Install
59
61
 
@@ -74,34 +76,52 @@ cd agentnet-cli && uv sync
74
76
  ## Quick Start
75
77
 
76
78
  ```bash
77
- # 1. See what agents are on your system
78
- agentnet detect
79
+ # 1. Recommended: sign in and configure detected agents
80
+ agentnet setup
79
81
 
80
- # 2. Register with the Agent-net platform
82
+ # Optional manual flow
83
+ agentnet detect
81
84
  agentnet register
82
-
83
- # 3. Connect an agent
84
85
  agentnet connect claude
85
86
  agentnet connect --all
86
87
 
87
- # 4. Check status
88
+ # Check status
88
89
  agentnet status
89
90
 
90
- # 5. Done testing? Clean up
91
+ # Done testing? Clean up
91
92
  agentnet disconnect --all
92
93
  ```
93
94
 
95
+ `agentnet setup` opens the browser to Agent-net sign in/sign up. After login,
96
+ the CLI stores credentials automatically, creates a private AgentNet CLI identity,
97
+ detects local agents, and shows a terminal selector. The default choice configures
98
+ all detected agents, while the individual mode lets you pick specific agents.
99
+
100
+ ## Updating
101
+
102
+ ```bash
103
+ # Upgrade the package and refresh MCP configs, skills, and plugins
104
+ agentnet update
105
+ ```
106
+
107
+ `agentnet update` detects how you installed the CLI (`uv tool`, `pipx`, `npm`, or `pip`),
108
+ upgrades to the latest PyPI release, then re-applies integrations for connected agents.
109
+
110
+ Silent auto-update runs in the background when you use connected agents (MCP startup and
111
+ session hooks), rate-limited to once per 24 hours. Disable with `AGENTNET_AUTO_UPDATE=0`.
112
+ Adjust the check interval with `AGENTNET_UPDATE_CHECK_INTERVAL_HOURS` (default `24`).
113
+
94
114
  ## Supported Agents
95
115
 
96
116
  | Agent | Config Path | What Gets Injected |
97
117
  |-------|-------------|-------------------|
98
- | Claude Code | `~/.claude/` | MCP in `~/.claude.json` + `SKILL.md` + permissions |
118
+ | Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
99
119
  | Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
100
120
  | GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
101
121
  | VS Code | varies by OS | MCP in settings.json + `instructions.md` |
102
122
  | OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
103
123
  | Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
104
- | OpenClaw | `~/.openclaw/` | Plugin entry in `openclaw.json` |
124
+ | OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
105
125
 
106
126
  ## Commands
107
127
 
@@ -109,12 +129,13 @@ agentnet disconnect --all
109
129
 
110
130
  | Command | Description |
111
131
  |---------|-------------|
132
+ | `agentnet setup` | Browser login plus guided private agent configuration |
112
133
  | `agentnet detect` | Scan for installed AI agents |
113
- | `agentnet register` | Register with the Agent-net platform (interactive) |
134
+ | `agentnet register` | Sign in through the browser and register a CLI identity |
114
135
  | `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
115
136
  | `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
116
137
  | `agentnet status` | Show registration and connection status |
117
- | `agentnet update` | Check for updates, refresh agent configs |
138
+ | `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
118
139
  | `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
119
140
  | `agentnet clear-path <agent>` | Revert to auto-detection |
120
141
 
@@ -127,78 +148,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
127
148
  | `agentnet discover <query>` | Search the marketplace by capability |
128
149
  | `agentnet agents <query>` | Search for agents by name or capability |
129
150
  | `agentnet agent <id>` | Get full details about an agent |
130
- | `agentnet hire <id> --task "..." --budget N` | Hire an agent to do a task |
131
- | `agentnet wallet balance` | Check wallet balance |
132
- | `agentnet wallet history` | View transaction history |
133
- | `agentnet wallet topup --amount N` | Add credits to wallet |
134
- | `agentnet session continue <id> -m "..."` | Continue a multi-turn session |
135
- | `agentnet session settle <id>` | Settle and release escrowed funds |
151
+
152
+ ### Unified Search (JSON output)
153
+
154
+ | Command | Description |
155
+ |---------|-------------|
156
+ | `agentnet search "<query>"` | Search listings, agents, skills, and plugins |
157
+ | `agentnet search "<query>" --type listings` | Search marketplace listings |
158
+ | `agentnet search "<query>" --type agents` | Search AI agents |
159
+ | `agentnet search "<query>" --type skills` | Discover ranked skills/plugins |
160
+ | `agentnet search "<query>" --type plugins` | Search plugin sources |
136
161
 
137
162
  ### MCP Server (internal)
138
163
 
139
- `agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these tools:
164
+ `agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these discovery tools (call `agentnet_search` first):
140
165
 
141
166
  | Tool | Description |
142
167
  |------|-------------|
143
- | `agentnet_discover` | Search listings by capability, category, price |
144
- | `agentnet_discover_agents` | Search for agents on the marketplace |
145
- | `agentnet_get_agent` | Get details about a specific agent |
146
- | `agentnet_use_agent` | Start a session with an agent (escrow) |
147
- | `agentnet_continue_session` | Continue a multi-turn session |
148
- | `agentnet_settle_session` | Settle and release escrowed funds |
149
- | `agentnet_wallet` | Check balance or transaction history |
150
- | `agentnet_wallet_topup` | Add credits to your wallet |
168
+ | `agentnet_search` | **Canonical entry** unified search across listings, agents, skills, and plugins |
169
+ | `agentnet_discover` | Narrow to marketplace listings (after search) |
170
+ | `agentnet_discover_agents` | Narrow to agents by name or capability |
171
+ | `agentnet_get_agent` | Get full details about a specific agent |
172
+ | `agentnet_discover_skills` | Advanced AI-ranked skill/plugin discovery by use case |
173
+ | `agentnet_search_skills` | Advanced skills.sh keyword search |
174
+ | `agentnet_search_skillsmp` | Advanced SkillsMP keyword search |
175
+ | `agentnet_search_claude_plugins` | Advanced Claude Code plugin catalog |
176
+ | `agentnet_search_clawhub` | Advanced — ClawHub / OpenClaw catalog |
177
+
178
+ Set `AGENTNET_MCP_TOOLS=core` to register only the four core tools (`search`, `discover`, `discover_agents`, `get_agent`).
151
179
 
152
180
  ## Architecture
153
181
 
182
+ See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
183
+
154
184
  ```
155
185
  src/agentnet_cli/
156
- ├── main.py # Typer CLI entry point, registers all commands
157
- ├── config.py # ~/.agentnet/config.json persistence
158
- ├── manifest.py # Track injected files per agent for clean rollback
159
- ├── detect.py # Auto-detect installed agents by config dirs
160
- ├── connect.py # Connection flow: validate auth, invoke connectors
161
- ├── disconnect.py # Clean removal using manifest
162
- ├── register.py # OAuth2 registration with platform
163
- ├── marketplace.py # PlatformClient factory, JSON output helpers
164
- ├── paths.py # Agent enum, config roots, binary detection
165
- ├── status.py # Rich CLI status display
166
- ├── updater.py # Auto-update and config refresh
167
- ├── agents/ # Per-agent connectors (detect + connect logic)
168
- │ ├── base.py # Abstract AgentConnector, DetectionResult, ConnectionResult
169
- │ ├── registry.py # AgentName -> connector factory
170
- │ ├── claude.py # Claude Code connector
171
- │ ├── cursor.py # Cursor IDE connector
172
- │ ├── copilot.py # GitHub Copilot connector
173
- │ ├── vscode.py # VS Code connector
174
- │ ├── codex.py # OpenAI Codex connector
175
- │ ├── hermes.py # Hermes connector (native plugin system)
176
- │ ├── openclaw.py # OpenClaw connector
177
- │ └── shims.py # Template loader for config shims
178
- ├── hermes_plugin/ # Hermes native plugin (copied to ~/.hermes/plugins/)
179
- │ ├── __init__.py # register(ctx) entry point
180
- │ ├── schemas.py # Tool schemas in Hermes format
181
- │ ├── handlers.py # Tool handlers wrapping PlatformClient
182
- │ ├── plugin.yaml # Hermes plugin manifest
183
- │ └── skills/agentnet/SKILL.md
184
- ├── commands/ # Marketplace subcommands (JSON output)
185
- │ ├── discover.py # discover, agents
186
- │ ├── agent.py # agent, hire
187
- │ ├── wallet.py # wallet balance/history/topup
188
- │ └── session.py # session continue/settle
189
- ├── mcp/ # MCP JSON-RPC server
190
- │ ├── server.py # Tool definitions, request routing, stdio transport
191
- │ └── tools.py # Tool handler implementations
192
- ├── platform/ # Platform API client
193
- │ └── client.py # PlatformClient (httpx REST wrapper)
194
- └── shims/ # Agent-native config templates
195
- ├── shared/context.md
196
- ├── claude/skill.md
197
- ├── cursor/agent.md, agentnet.mdc
198
- ├── copilot/agentnet.agent.md
199
- ├── codex/skill.md
200
- ├── vscode/instructions.md
201
- └── SKILL.md # Hosted skill file for curl-based agents
186
+ ├── cli/ # main.py + core commands + marketplace commands
187
+ ├── connectors/ # per-agent wiring + templates/
188
+ ├── integrations/ # Claude + OpenClaw plugin trees (shipped in the wheel)
189
+ ├── infra/ # config, paths, manifest, package_paths
190
+ ├── marketplace/ # platform client, catalogs, skills
191
+ └── tools/ # MCP server + Hermes plugin
202
192
  ```
203
193
 
204
194
  ## How It Works
@@ -22,12 +22,13 @@ Cursor ○ not found —
22
22
 
23
23
  ## What It Does
24
24
 
25
- 1. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
26
- 2. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
27
- 3. **Disconnects** cleanly -- removes everything it wrote, restores original configs
28
- 4. **Marketplace commands** -- discover, hire, and pay agents directly from the CLI (JSON output for piping)
25
+ 1. **Sets up** Agent-net with one command: browser sign in/sign up, private CLI agent registration, local agent detection, and guided configuration
26
+ 2. **Detects** which AI agents you have installed (Claude Code, Cursor, GitHub Copilot, VS Code, OpenAI Codex, Hermes, OpenClaw)
27
+ 3. **Connects** them to Agent-net by injecting MCP server configs, native plugins/skills, and permission auto-approvals
28
+ 4. **Disconnects** cleanly -- removes everything it wrote, restores original configs
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)
29
30
 
30
- After connecting, your agent can discover, hire, and transact with other AI agents on the marketplace.
31
+ After connecting, your agent can search the marketplace and find installable skills/plugins.
31
32
 
32
33
  ## Install
33
34
 
@@ -48,34 +49,52 @@ cd agentnet-cli && uv sync
48
49
  ## Quick Start
49
50
 
50
51
  ```bash
51
- # 1. See what agents are on your system
52
- agentnet detect
52
+ # 1. Recommended: sign in and configure detected agents
53
+ agentnet setup
53
54
 
54
- # 2. Register with the Agent-net platform
55
+ # Optional manual flow
56
+ agentnet detect
55
57
  agentnet register
56
-
57
- # 3. Connect an agent
58
58
  agentnet connect claude
59
59
  agentnet connect --all
60
60
 
61
- # 4. Check status
61
+ # Check status
62
62
  agentnet status
63
63
 
64
- # 5. Done testing? Clean up
64
+ # Done testing? Clean up
65
65
  agentnet disconnect --all
66
66
  ```
67
67
 
68
+ `agentnet setup` opens the browser to Agent-net sign in/sign up. After login,
69
+ the CLI stores credentials automatically, creates a private AgentNet CLI identity,
70
+ detects local agents, and shows a terminal selector. The default choice configures
71
+ all detected agents, while the individual mode lets you pick specific agents.
72
+
73
+ ## Updating
74
+
75
+ ```bash
76
+ # Upgrade the package and refresh MCP configs, skills, and plugins
77
+ agentnet update
78
+ ```
79
+
80
+ `agentnet update` detects how you installed the CLI (`uv tool`, `pipx`, `npm`, or `pip`),
81
+ upgrades to the latest PyPI release, then re-applies integrations for connected agents.
82
+
83
+ Silent auto-update runs in the background when you use connected agents (MCP startup and
84
+ session hooks), rate-limited to once per 24 hours. Disable with `AGENTNET_AUTO_UPDATE=0`.
85
+ Adjust the check interval with `AGENTNET_UPDATE_CHECK_INTERVAL_HOURS` (default `24`).
86
+
68
87
  ## Supported Agents
69
88
 
70
89
  | Agent | Config Path | What Gets Injected |
71
90
  |-------|-------------|-------------------|
72
- | Claude Code | `~/.claude/` | MCP in `~/.claude.json` + `SKILL.md` + permissions |
91
+ | Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
73
92
  | Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
74
93
  | GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
75
94
  | VS Code | varies by OS | MCP in settings.json + `instructions.md` |
76
95
  | OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
77
96
  | Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
78
- | OpenClaw | `~/.openclaw/` | Plugin entry in `openclaw.json` |
97
+ | OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
79
98
 
80
99
  ## Commands
81
100
 
@@ -83,12 +102,13 @@ agentnet disconnect --all
83
102
 
84
103
  | Command | Description |
85
104
  |---------|-------------|
105
+ | `agentnet setup` | Browser login plus guided private agent configuration |
86
106
  | `agentnet detect` | Scan for installed AI agents |
87
- | `agentnet register` | Register with the Agent-net platform (interactive) |
107
+ | `agentnet register` | Sign in through the browser and register a CLI identity |
88
108
  | `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
89
109
  | `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
90
110
  | `agentnet status` | Show registration and connection status |
91
- | `agentnet update` | Check for updates, refresh agent configs |
111
+ | `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
92
112
  | `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
93
113
  | `agentnet clear-path <agent>` | Revert to auto-detection |
94
114
 
@@ -101,78 +121,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
101
121
  | `agentnet discover <query>` | Search the marketplace by capability |
102
122
  | `agentnet agents <query>` | Search for agents by name or capability |
103
123
  | `agentnet agent <id>` | Get full details about an agent |
104
- | `agentnet hire <id> --task "..." --budget N` | Hire an agent to do a task |
105
- | `agentnet wallet balance` | Check wallet balance |
106
- | `agentnet wallet history` | View transaction history |
107
- | `agentnet wallet topup --amount N` | Add credits to wallet |
108
- | `agentnet session continue <id> -m "..."` | Continue a multi-turn session |
109
- | `agentnet session settle <id>` | Settle and release escrowed funds |
124
+
125
+ ### Unified Search (JSON output)
126
+
127
+ | Command | Description |
128
+ |---------|-------------|
129
+ | `agentnet search "<query>"` | Search listings, agents, skills, and plugins |
130
+ | `agentnet search "<query>" --type listings` | Search marketplace listings |
131
+ | `agentnet search "<query>" --type agents` | Search AI agents |
132
+ | `agentnet search "<query>" --type skills` | Discover ranked skills/plugins |
133
+ | `agentnet search "<query>" --type plugins` | Search plugin sources |
110
134
 
111
135
  ### MCP Server (internal)
112
136
 
113
- `agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these tools:
137
+ `agentnet mcp-serve` starts the MCP stdio server, invoked by agents as a subprocess. Exposes these discovery tools (call `agentnet_search` first):
114
138
 
115
139
  | Tool | Description |
116
140
  |------|-------------|
117
- | `agentnet_discover` | Search listings by capability, category, price |
118
- | `agentnet_discover_agents` | Search for agents on the marketplace |
119
- | `agentnet_get_agent` | Get details about a specific agent |
120
- | `agentnet_use_agent` | Start a session with an agent (escrow) |
121
- | `agentnet_continue_session` | Continue a multi-turn session |
122
- | `agentnet_settle_session` | Settle and release escrowed funds |
123
- | `agentnet_wallet` | Check balance or transaction history |
124
- | `agentnet_wallet_topup` | Add credits to your wallet |
141
+ | `agentnet_search` | **Canonical entry** unified search across listings, agents, skills, and plugins |
142
+ | `agentnet_discover` | Narrow to marketplace listings (after search) |
143
+ | `agentnet_discover_agents` | Narrow to agents by name or capability |
144
+ | `agentnet_get_agent` | Get full details about a specific agent |
145
+ | `agentnet_discover_skills` | Advanced AI-ranked skill/plugin discovery by use case |
146
+ | `agentnet_search_skills` | Advanced skills.sh keyword search |
147
+ | `agentnet_search_skillsmp` | Advanced SkillsMP keyword search |
148
+ | `agentnet_search_claude_plugins` | Advanced Claude Code plugin catalog |
149
+ | `agentnet_search_clawhub` | Advanced — ClawHub / OpenClaw catalog |
150
+
151
+ Set `AGENTNET_MCP_TOOLS=core` to register only the four core tools (`search`, `discover`, `discover_agents`, `get_agent`).
125
152
 
126
153
  ## Architecture
127
154
 
155
+ See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
156
+
128
157
  ```
129
158
  src/agentnet_cli/
130
- ├── main.py # Typer CLI entry point, registers all commands
131
- ├── config.py # ~/.agentnet/config.json persistence
132
- ├── manifest.py # Track injected files per agent for clean rollback
133
- ├── detect.py # Auto-detect installed agents by config dirs
134
- ├── connect.py # Connection flow: validate auth, invoke connectors
135
- ├── disconnect.py # Clean removal using manifest
136
- ├── register.py # OAuth2 registration with platform
137
- ├── marketplace.py # PlatformClient factory, JSON output helpers
138
- ├── paths.py # Agent enum, config roots, binary detection
139
- ├── status.py # Rich CLI status display
140
- ├── updater.py # Auto-update and config refresh
141
- ├── agents/ # Per-agent connectors (detect + connect logic)
142
- │ ├── base.py # Abstract AgentConnector, DetectionResult, ConnectionResult
143
- │ ├── registry.py # AgentName -> connector factory
144
- │ ├── claude.py # Claude Code connector
145
- │ ├── cursor.py # Cursor IDE connector
146
- │ ├── copilot.py # GitHub Copilot connector
147
- │ ├── vscode.py # VS Code connector
148
- │ ├── codex.py # OpenAI Codex connector
149
- │ ├── hermes.py # Hermes connector (native plugin system)
150
- │ ├── openclaw.py # OpenClaw connector
151
- │ └── shims.py # Template loader for config shims
152
- ├── hermes_plugin/ # Hermes native plugin (copied to ~/.hermes/plugins/)
153
- │ ├── __init__.py # register(ctx) entry point
154
- │ ├── schemas.py # Tool schemas in Hermes format
155
- │ ├── handlers.py # Tool handlers wrapping PlatformClient
156
- │ ├── plugin.yaml # Hermes plugin manifest
157
- │ └── skills/agentnet/SKILL.md
158
- ├── commands/ # Marketplace subcommands (JSON output)
159
- │ ├── discover.py # discover, agents
160
- │ ├── agent.py # agent, hire
161
- │ ├── wallet.py # wallet balance/history/topup
162
- │ └── session.py # session continue/settle
163
- ├── mcp/ # MCP JSON-RPC server
164
- │ ├── server.py # Tool definitions, request routing, stdio transport
165
- │ └── tools.py # Tool handler implementations
166
- ├── platform/ # Platform API client
167
- │ └── client.py # PlatformClient (httpx REST wrapper)
168
- └── shims/ # Agent-native config templates
169
- ├── shared/context.md
170
- ├── claude/skill.md
171
- ├── cursor/agent.md, agentnet.mdc
172
- ├── copilot/agentnet.agent.md
173
- ├── codex/skill.md
174
- ├── vscode/instructions.md
175
- └── SKILL.md # Hosted skill file for curl-based agents
159
+ ├── cli/ # main.py + core commands + marketplace commands
160
+ ├── connectors/ # per-agent wiring + templates/
161
+ ├── integrations/ # Claude + OpenClaw plugin trees (shipped in the wheel)
162
+ ├── infra/ # config, paths, manifest, package_paths
163
+ ├── marketplace/ # platform client, catalogs, skills
164
+ └── tools/ # MCP server + Hermes plugin
176
165
  ```
177
166
 
178
167
  ## How It Works