Skip to main content

Prerequisites

  • Python 3.11+
  • Target vendor API docs reviewed
  • ArgentOS repo cloned (tools/aos/ directory available)

Directory Structure

Every connector lives at tools/aos/aos-{name}/:

Step 1: Copy the Reference Template

Or copy from an existing connector as a reference:
Rename all internal references from the source connector to your new name.

Step 2: Write connector.json

This is the authoritative manifest. It tells ArgentOS what your connector does, what commands it supports, what auth it needs, and how to render it in the dashboard.

Step 3: Write permissions.json

Map every CLI command to a permission tier:

Step 4: Implement client.py

This is the core — the HTTP client that calls the actual vendor API.
Guidelines:
  • Use stdlib urllib (no external HTTP dependencies)
  • One method per command
  • Return structured dicts, not raw responses
  • Auth resolved from constructor params (injected by config.py)

Step 5: Implement runtime.py

Command result functions and the three required contracts:

Step 6: Implement cli.py

Wire commands to runtime functions using Click:
Entry point in pyproject.toml:

Step 7: Write Tests

Required test coverage:
  • Commands match connector.json manifest
  • Health: missing creds returns needs_setup, valid creds returns healthy
  • Read commands return expected data shapes (use FakeClient)
  • Write commands respect mode gating (calling write in readonly mode fails)

Step 8: Verify End-to-End

Certification Gates

Before a connector is production-ready:

Risk Tiers