agentnet-cli 0.2.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.
- agentnet_cli-0.2.1/ARCHITECTURE.md +47 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/CLAUDE.md +10 -57
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/PKG-INFO +50 -68
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/README.md +49 -67
- agentnet_cli-0.2.1/docs/archive/superpowers/plans/2026-05-10-openclaw-native-plugin.md +635 -0
- agentnet_cli-0.2.1/docs/archive/superpowers/specs/2026-05-10-openclaw-native-plugin-design.md +282 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/pyproject.toml +3 -3
- agentnet_cli-0.2.1/src/agentnet_cli/cli/__init__.py +1 -0
- agentnet_cli-0.2.1/src/agentnet_cli/cli/core/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/connect.py +4 -4
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/detect.py +5 -5
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/disconnect.py +3 -3
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/register.py +2 -2
- agentnet_cli-0.2.0/src/agentnet_cli/setup.py → agentnet_cli-0.2.1/src/agentnet_cli/cli/core/setup_wizard.py +2 -2
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli/core}/status.py +2 -5
- agentnet_cli-0.2.1/src/agentnet_cli/cli/core/updater.py +294 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/cli}/main.py +74 -50
- agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/__init__.py +1 -0
- agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/agent.py +18 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/commands → agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace}/discover.py +2 -2
- agentnet_cli-0.2.1/src/agentnet_cli/cli/marketplace/search.py +124 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/claude.py +12 -8
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/codex.py +7 -5
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/copilot.py +5 -1
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/cursor.py +35 -1
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/hermes.py +4 -4
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/openclaw.py +119 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/registry.py +1 -1
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/shims.py +18 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/SKILL.hosted.md +161 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/codex/skill.md +12 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/copilot/agentnet.agent.md +16 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/cursor/agent.md +9 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/cursor/agentnet.mdc +8 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/shared/context.md +82 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/shared/default-chat.md +3 -0
- agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates/vscode/instructions.md +5 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/vscode.py +1 -1
- agentnet_cli-0.2.1/src/agentnet_cli/infra/__init__.py +1 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/manifest.py +27 -1
- agentnet_cli-0.2.1/src/agentnet_cli/infra/package_paths.py +20 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude}/.claude-plugin/marketplace.json +2 -2
- {agentnet_cli-0.2.0/claude-plugin → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin}/.claude-plugin/plugin.json +1 -1
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/agents/marketplace.md +23 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/hooks/hooks.json +22 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin/skills/agentnet/SKILL.md +35 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/.mcp.json +10 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/index.js +17 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/openclaw.plugin.json +22 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/package.json +24 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/openclaw/skills/agentnet/SKILL.md +32 -0
- agentnet_cli-0.2.1/src/agentnet_cli/integrations/shared/discovery-skill.base.md +82 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/__init__.py +5 -0
- agentnet_cli-0.2.0/src/agentnet_cli/marketplace.py → agentnet_cli-0.2.1/src/agentnet_cli/marketplace/auth.py +2 -2
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/__init__.py +1 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/claude_marketplace.py +89 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/catalogs/clawhub.py +82 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/platform → agentnet_cli-0.2.1/src/agentnet_cli/marketplace}/client.py +18 -2
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/__init__.py +1 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/client.py +61 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/discovery.py +501 -0
- agentnet_cli-0.2.1/src/agentnet_cli/marketplace/skills/skillsmp.py +83 -0
- agentnet_cli-0.2.1/src/agentnet_cli/tools/__init__.py +1 -0
- agentnet_cli-0.2.1/src/agentnet_cli/tools/handlers.py +164 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes}/__init__.py +6 -5
- {agentnet_cli-0.2.0/src/agentnet_cli/hermes_plugin → agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes}/handlers.py +21 -12
- agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes/plugin.yaml +24 -0
- agentnet_cli-0.2.1/src/agentnet_cli/tools/hermes/schemas.py +172 -0
- agentnet_cli-0.2.1/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.1/src/agentnet_cli/tools/mcp_server.py +112 -36
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/conftest.py +1 -1
- agentnet_cli-0.2.1/tests/test_agent_cmd.py +51 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_claude.py +1 -1
- agentnet_cli-0.2.1/tests/test_claude_marketplace.py +115 -0
- agentnet_cli-0.2.1/tests/test_clawhub_client.py +99 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_cli.py +43 -31
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_codex.py +4 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_config.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_copilot.py +5 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_cursor.py +5 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_detect.py +6 -6
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_discover_cmd.py +9 -9
- agentnet_cli-0.2.1/tests/test_discovery.py +325 -0
- agentnet_cli-0.2.1/tests/test_discovery_skill.py +56 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_e2e.py +6 -2
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_hermes.py +1 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_hermes_plugin.py +21 -19
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_manifest.py +3 -3
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_marketplace.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_mcp_tools.py +151 -1
- agentnet_cli-0.2.1/tests/test_openclaw.py +119 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_paths.py +11 -11
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_platform_client.py +14 -1
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_register.py +22 -22
- agentnet_cli-0.2.1/tests/test_search_cmd.py +76 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_server.py +44 -33
- agentnet_cli-0.2.1/tests/test_skills_client.py +62 -0
- agentnet_cli-0.2.1/tests/test_skillsmp_client.py +96 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_updater.py +63 -34
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/tests/test_vscode.py +5 -5
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/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.1}/.github/workflows/ci.yml +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/.github/workflows/publish.yml +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/.gitignore +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-09-hermes-native-plugin.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-09-marketplace-cli-and-skill.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/plans/2026-05-10-claude-native-plugin.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.1/docs/archive}/superpowers/specs/2026-05-09-hermes-native-plugin-design.md +0 -0
- {agentnet_cli-0.2.0/docs → agentnet_cli-0.2.1/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.1/docs/archive}/superpowers/specs/2026-05-10-claude-native-plugin-design.md +0 -0
- {agentnet_cli-0.2.0 → agentnet_cli-0.2.1}/src/agentnet_cli/__init__.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/README.md +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/agents → agentnet_cli-0.2.1/src/agentnet_cli/connectors}/base.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli/shims → agentnet_cli-0.2.1/src/agentnet_cli/connectors/templates}/README.md +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/config.py +0 -0
- {agentnet_cli-0.2.0/src/agentnet_cli → agentnet_cli-0.2.1/src/agentnet_cli/infra}/paths.py +0 -0
- {agentnet_cli-0.2.0/claude-plugin → agentnet_cli-0.2.1/src/agentnet_cli/integrations/claude/plugin}/.mcp.json +0 -0
- {agentnet_cli-0.2.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 (
|
|
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.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
|
|
@@ -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
|
|
|
@@ -97,17 +97,31 @@ the CLI stores credentials automatically, creates a private AgentNet CLI identit
|
|
|
97
97
|
detects local agents, and shows a terminal selector. The default choice configures
|
|
98
98
|
all detected agents, while the individual mode lets you pick specific agents.
|
|
99
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
|
+
|
|
100
114
|
## Supported Agents
|
|
101
115
|
|
|
102
116
|
| Agent | Config Path | What Gets Injected |
|
|
103
117
|
|-------|-------------|-------------------|
|
|
104
|
-
| Claude Code | `~/.claude/` |
|
|
118
|
+
| Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
|
|
105
119
|
| Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
|
|
106
120
|
| GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
|
|
107
121
|
| VS Code | varies by OS | MCP in settings.json + `instructions.md` |
|
|
108
122
|
| OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
|
|
109
123
|
| Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
|
|
110
|
-
| OpenClaw | `~/.openclaw/` |
|
|
124
|
+
| OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
|
|
111
125
|
|
|
112
126
|
## Commands
|
|
113
127
|
|
|
@@ -121,7 +135,7 @@ all detected agents, while the individual mode lets you pick specific agents.
|
|
|
121
135
|
| `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
|
|
122
136
|
| `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
|
|
123
137
|
| `agentnet status` | Show registration and connection status |
|
|
124
|
-
| `agentnet update` |
|
|
138
|
+
| `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
|
|
125
139
|
| `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
|
|
126
140
|
| `agentnet clear-path <agent>` | Revert to auto-detection |
|
|
127
141
|
|
|
@@ -134,79 +148,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
|
|
|
134
148
|
| `agentnet discover <query>` | Search the marketplace by capability |
|
|
135
149
|
| `agentnet agents <query>` | Search for agents by name or capability |
|
|
136
150
|
| `agentnet agent <id>` | Get full details about an agent |
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
|
141
|
-
|
|
142
|
-
| `agentnet
|
|
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 |
|
|
143
161
|
|
|
144
162
|
### MCP Server (internal)
|
|
145
163
|
|
|
146
|
-
`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):
|
|
147
165
|
|
|
148
166
|
| Tool | Description |
|
|
149
167
|
|------|-------------|
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
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`).
|
|
158
179
|
|
|
159
180
|
## Architecture
|
|
160
181
|
|
|
182
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
|
|
183
|
+
|
|
161
184
|
```
|
|
162
185
|
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
|
|
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
|
|
210
192
|
```
|
|
211
193
|
|
|
212
194
|
## 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
|
|
|
@@ -70,17 +70,31 @@ the CLI stores credentials automatically, creates a private AgentNet CLI identit
|
|
|
70
70
|
detects local agents, and shows a terminal selector. The default choice configures
|
|
71
71
|
all detected agents, while the individual mode lets you pick specific agents.
|
|
72
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
|
+
|
|
73
87
|
## Supported Agents
|
|
74
88
|
|
|
75
89
|
| Agent | Config Path | What Gets Injected |
|
|
76
90
|
|-------|-------------|-------------------|
|
|
77
|
-
| Claude Code | `~/.claude/` |
|
|
91
|
+
| Claude Code | `~/.claude/` | Native plugin (skills, hooks, MCP) via bundled marketplace |
|
|
78
92
|
| Cursor | `~/.cursor/` | MCP in `.cursor/mcp.json` + `.mdc` rule + subagent |
|
|
79
93
|
| GitHub Copilot | `~/.copilot/` | MCP in `mcp-config.json` + `.agent.md` |
|
|
80
94
|
| VS Code | varies by OS | MCP in settings.json + `instructions.md` |
|
|
81
95
|
| OpenAI Codex | `~/.codex/` | TOML MCP in `config.toml` + `SKILL.md` |
|
|
82
96
|
| Hermes (Nous) | `~/.hermes/` | Native plugin in `plugins/agentnet/` |
|
|
83
|
-
| OpenClaw | `~/.openclaw/` |
|
|
97
|
+
| OpenClaw | `~/.openclaw/` | Native plugin via bundled `integrations/openclaw` |
|
|
84
98
|
|
|
85
99
|
## Commands
|
|
86
100
|
|
|
@@ -94,7 +108,7 @@ all detected agents, while the individual mode lets you pick specific agents.
|
|
|
94
108
|
| `agentnet connect [agent\|--all]` | Wire an agent into Agent-net via MCP |
|
|
95
109
|
| `agentnet disconnect [agent\|--all]` | Remove all injected files cleanly |
|
|
96
110
|
| `agentnet status` | Show registration and connection status |
|
|
97
|
-
| `agentnet update` |
|
|
111
|
+
| `agentnet update` | Upgrade `agentnet-cli` and refresh connected agent integrations |
|
|
98
112
|
| `agentnet set-path <agent> <path>` | Set custom binary path for an agent |
|
|
99
113
|
| `agentnet clear-path <agent>` | Revert to auto-detection |
|
|
100
114
|
|
|
@@ -107,79 +121,47 @@ All marketplace commands output JSON to stdout. Errors output `{"error": "..."}`
|
|
|
107
121
|
| `agentnet discover <query>` | Search the marketplace by capability |
|
|
108
122
|
| `agentnet agents <query>` | Search for agents by name or capability |
|
|
109
123
|
| `agentnet agent <id>` | Get full details about an agent |
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
|
114
|
-
|
|
115
|
-
| `agentnet
|
|
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 |
|
|
116
134
|
|
|
117
135
|
### MCP Server (internal)
|
|
118
136
|
|
|
119
|
-
`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):
|
|
120
138
|
|
|
121
139
|
| Tool | Description |
|
|
122
140
|
|------|-------------|
|
|
123
|
-
| `
|
|
124
|
-
| `
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
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`).
|
|
131
152
|
|
|
132
153
|
## Architecture
|
|
133
154
|
|
|
155
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full layout. Summary:
|
|
156
|
+
|
|
134
157
|
```
|
|
135
158
|
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
|
|
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
|
|
183
165
|
```
|
|
184
166
|
|
|
185
167
|
## How It Works
|