ArmorIQ CLI

The armoriq command-line tool

ArmorIQ CLI

armoriq handles auth, API-key management, project setup, and control-plane registration so you don't have to write any of that by hand.

Both SDKs ship it, and the two builds do not cover the same commands - see Command support by SDK before you pick one:

pip install armoriq-sdk      # Python build - the fuller CLI
npm install @armoriq/sdk     # TypeScript build - adds `policy`, lacks init/validate/register

Commands

CommandWhat it does
armoriq initInteractive setup - generates armoriq.yaml
armoriq loginBrowser-based OAuth device-code login
armoriq logoutRemove saved credentials
armoriq whoamiShow current authentication status
armoriq validateVerify config, API key, and MCP connectivity
armoriq registerPush config to the ArmorIQ control plane
armoriq statusShow what's currently registered and active
armoriq logsStream activity logs in the terminal
armoriq orgsList organizations your account belongs to
armoriq switch-orgSwitch to a different org (mints a new scoped API key)
armoriq keysList, revoke, and prune API keys
armoriq policyRead and change the org's active policy (TypeScript build only)

Command support by SDK

The two builds diverged. keys is in both; policy is TypeScript-only; the three config commands are Python-only.

CommandPython armoriq-sdkTypeScript @armoriq/sdk
login · logout · whoami
orgs · switch-org
status · logs
keys list · revoke · prune
policy show · templates · set · propose · cancel
init · validate · register⚠️ stub

Verified against both SDKs at 0.6.7.

  • ⚠️ stub - the command exists but exits 1 with "not yet implemented in the TypeScript CLI" and points you at the Python build. Tracked in armoriq-sdk-customer-ts#40.
  • The TypeScript binary is also armoriq, so installing both puts two different command sets behind one name on your $PATH. If you use armoriq.yaml at all, install the Python build.

Command counts in docs go stale - these pages deliberately list the commands rather than count them. Check armoriq --help for the build you actually have installed.

Typical first-time flow

# 1. Install
pip install armoriq-sdk

# 2. Authenticate (opens a browser)
armoriq login

# 3. Scaffold a project
armoriq init

# 4. Verify config + API key + MCPs
armoriq validate

# 5. Push to ArmorIQ control plane
armoriq register

That leaves you with an armoriq.yaml in your project and credentials in ~/.armoriq/.

State and logs

The CLI keeps local state under ~/.armoriq/:

  • state.json - registered config, org context, login session
  • cli.log - append-only audit log of CLI actions

Every login and switch-org mints a new API key and leaves the old one valid, so keys accumulate. Clean up with armoriq keys.

Detail pages

On this page