Path 1 · preferred day-1
Offline-friendly npx (15 minutes)
Node 24+. No Java. No Postgres. Zero vertical packs.
Older Node? The CLI offers to install 24 and finish for you.
First see DENY, then REQUIRE_APPROVE, without a paid plane.
# One liner - init + wire MCP + open live activity report
npm i -g @shield-agent/kya@latest
cd your-project
kya start
# Cursor loads shield-kya live - no restart. Claude Code: `claude --resume`
# keeps your conversation. Per-host reload behavior: /integrations
# The report runs in the background - your terminal returns immediately.
# `kya stop` stops it; `kya receipt --open` reopens it.
# Optional offline sample (not production PEP)
kya eval-tool --offline --tool-id org.sample.never.event --irreversible
# → DENY
kya wrap --offline --tool-id Write --irreversible --args '{"path":"src/x.ts","content":"hi"}'
# → observed REQUIRE_APPROVE (no second Hold by default)
Default wrap is observe (records the trail, no second approve).
Org Hold path: KYA_HOLD=1. Live report: kya receipt --open.
A hosted plane starts when you set KYA_BASE_URL + KYA_API_KEY.
Walkthrough: How KYA works.
Full guide:
/docs/kya/light-install
· npm @shield-agent/kya
· source The-Pixel-Boys/shield-kya
· fail closed: empty API key against an auth plane exits non-zero (use --offline for local sample).
More ways to install
npm stays the reference path. Same package, other channels.
Locally KYA is advisory: it records the trail, fails open on errors, and denies only a small never-list.
Enforcement lives on the MCP gate path and the hosted plane.
# Claude Code plugin (advisory, fails open; records the trail, blocks only the never-list)
/plugin marketplace add The-Pixel-Boys/shield-kya
/plugin install kya@shield-kya
# Homebrew (Homebrew 7 may ask you to trust the tap: `brew tap The-Pixel-Boys/tap` first)
# The formula installs about 270MB because of the optional semantic-search runtime.
brew install The-Pixel-Boys/tap/shield-kya
# Scoop (not yet verified on Windows)
scoop bucket add The-Pixel-Boys https://github.com/The-Pixel-Boys/scoop-bucket.git
scoop install shield-kya
Bring AGT logs in with kya import --from agt;
the hosted console accepts the same format
(import guide).