Barrel inventory
Flat counts, namespaces, tier and category breakdown — working tree or any git ref.
Classify exports with tiers, catch drift between refs, and ship safer semver — read-only by default, TypeScript config only.
CLI (terminal):
pnpm add -D @expgov/cli
# or: npm install -D @expgov/cliSDK (programmatic APIs only — not needed for CLI or config):
pnpm add -D @expgov/core
# or: npm install -D @expgov/coreThe @expgov/cli devDependency includes @expgov/cli/core for optional defineConfig in expgov.config.ts. npm blocks unscoped expgov (too similar to expo) — see Install.
pnpm add -D @expgov/cli
expgov init
expgov validate
expgov inventory
expgov diff HEAD
expgov timeline @4w
expgov graphInstall as a devDependency — the CLI tarball includes @expgov/cli/core for optional config types. See Install.
| Topic | What you will learn |
|---|---|
| Workflows | Copy-paste recipes for SDK setup, release review, and CI |
| Governance model | Read-only defaults, tiers, and what validate enforces |
| Install | Requirements, init, local dev, cache |
| SDK | @expgov/core — install and host contract |
| Configuration | expgov.config.ts, tiers, @sdkTier |
| Commands | Per-command reference |
| CLI flags | --json, cache, list truncation |
| JSON output | Machine-readable envelope for CI |
Governance without surprises. expgov separates inventory from enforcement. Commands are read-only except init. Tier rules live in TypeScript config you review in PRs — not hidden heuristics. Inspired by focused CLI tools: a thin host, clear defaults, and stable --json for automation.