weave
v0.2.0

Live IT control plane,
not a graveyard of drift.

weave is a CLI for running live operations against the systems IT actually runs — Meraki, Okta, and friends. It works with reality instead of fighting it.

~/ops · zsh
# find a MAC anywhere across all your Meraki orgs
$ weave meraki find client "00:11:22:33:44:55"

Searching for MAC: 00:11:22:33:44:55
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┓
┃ Org       ┃ Network   ┃ Device    ┃ Port ┃ VLAN ┃ IP            ┃ Status ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━┩
│ Acme Inc  │ HQ        │ SW-ABC123 │ 12   │ 30   │ 10.20.30.144  │ Online │
└───────────┴───────────┴───────────┴──────┴──────┴───────────────┴────────┘

# now pin that port to VLAN 30 live
$ weave meraki set port SW-ABC123 12 --vlan 30
✓ Port 12 on SW-ABC123 updated to VLAN 30

Why weave instead of Terraform-for-everything?

Terraform fights reality with state files. weave embraces reality — every command is a live read or a live change, with a tight loop and clean output.

Live by default

Read or change real systems right now and see real results. Need versioned config? Snapshot it to YAML and commit — reality stays the source of truth.

Built like a CLI, not a DSL

Typer + Rich means rich output, sane flags, tab completion, and help that works the way you expect.

Your secrets backend

weave reads env vars from whatever you already use — 1Password, Vault, Doppler, .env, or plain export. No bundled secrets manager.

87 module integrations

Pick the systems you actually run. weave doesn't care if your identity provider is Okta, Entra, or Google Workspace, or if you have one at all — every module is a peer. Depth varies by integration; each module page lists what is wired today.

Browse all modules →

Plus 76 more spanning Identity, MDM, Networking, Observability, Secrets, DevOps, and SaaS — Entra, Google Workspace, Intune, Jamf, Tailscale, Vault, Datadog, AWS IAM, CrowdStrike, and dozens more. See all modules →

Install in one line

The installer bootstraps uv if needed, then drops weave on your PATH as an isolated tool. Python 3.11+ required.

curl -fsSL https://weavewhatever.com/install.sh | bash

Works on macOS (Intel + Apple Silicon) and any modern Linux. Inspect the script first if you'd rather: install.sh.

# onboard, then verify
weave setup
weave --help

weave setup picks your first module and how you inject API keys (weave init is the same command). See Getting started.