cimplify introspect
One-shot snapshot of the current storefront (auth, project link, brand, mock seed, env keys, git) in one structured envelope. Pure local: zero API calls, runs in milliseconds, designed for agents that need to orient in a fresh directory.
introspect is the first command an agent should run when it lands in a Cimplify project. Today an agent typically reads .cimplify/project.json, package.json, lib/brand.ts, next.config.ts, and .env.local separately to figure out what's in front of it. introspect collapses all of that into one call.
It does no remote API calls: every field comes from the local filesystem and ~/.config/cimplify/auth.json. For verdicts and remediation hints, use cimplify doctor instead.
Usage
cimplify introspect # human-readable summary
cimplify introspect --json # structured envelope for agentsNo flags beyond the globals (--json, --yes).
Human output
Cimplify
CLI 0.2.9
Auth ✓ dev@example.com (biz_abc)
Project ✓ proj_xyz
last deploy: preview · abcdef0 · dep_01H…
Package my-store · @cimplify/sdk ^0.45.4
scripts: dev, build, check
Brand ✓ Currents Electronics (Store) lib/brand.ts
Theme ✓ app/globals.css
Next ✓ ISR Previous Model (cacheComponents off) next.config.ts
Mock seed: retail
Env .env.local: 4 keys · .env.example: 4 keys
Git main · cleanJSON envelope
{
"ok": true,
"data": {
"cwd": "/path/to/store",
"cli": { "version": "0.2.9" },
"auth": {
"logged_in": true,
"account_id": "act_…",
"business_id": "biz_…",
"email": "dev@example.com",
"api_base_url": "https://api.cimplify.io"
},
"project": {
"linked": true,
"id": "proj_…",
"remote_url": "git@…",
"default_branch": "main",
"framework": "nextjs-app",
"last_deployment": {
"id": "dep_…",
"sha": "abcdef0…",
"environment": "preview",
"at": "2026-05-13T12:00:00Z"
}
},
"package": {
"found": true,
"name": "my-store",
"sdk_pin": "^0.45.4",
"scripts": ["dev", "build", "check"]
},
"brand": {
"found": true,
"path": "lib/brand.ts",
"name": "Currents Electronics",
"schema_type": "Store"
},
"theme": { "globals_css_path": "app/globals.css", "has_theme_block": true },
"next_config": { "path": "next.config.ts", "cache_components": true },
"mock": { "seed": "retail" },
"env_files": [
{ "file": ".env.local", "keys": ["NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY", "…"] },
{ "file": ".env.example", "keys": ["…"] }
],
"git": { "branch": "main", "sha": "abcdef0…", "dirty": false }
}
}What it inspects
| Field | Source |
|---|---|
cli.version | Bundled into the CLI binary at build time. |
auth | ~/.config/cimplify/auth.json (XDG-compliant). |
project | .cimplify/project.json + .cimplify/state.json (the latter for the last-deployment summary). |
package | ./package.json: name, scripts, @cimplify/sdk pin. |
brand | ./lib/brand.ts (or ./src/lib/brand.ts): regex-extracts name: and schemaType:. No code execution. |
theme | ./app/globals.css: detects presence of the @theme block (Tailwind v4). |
next_config | ./next.config.{ts,mjs,js}: detects cacheComponents (should be off / absent for CF Workers compatibility) and output: "standalone". |
mock.seed | The --seed <name> flag inside package.json scripts.dev. |
env_files | Lists key names (not values) from .env.local, .env.example, .env.production. |
git | branch, short sha, and dirty flag (via git status --porcelain). |
Exit codes
introspect is reportive; it never fails because state is missing. Unauthed, unlinked, or non-Next directories simply show logged_in: false, linked: false, etc.
Exit code is always 0 unless the CLI itself is misconfigured (e.g., INTERNAL).
Compared to doctor
introspect | doctor | |
|---|---|---|
| Output style | Snapshot | Verdicts |
| Remote calls | Never | Two pings (skippable with --offline) |
| Exit code | Always 0 | 1 if any check fails |
| Use case | Orient | Pre-flight before deploy |
Run introspect to know what's there. Run doctor to know what's broken.
Component registry
67 ejectable components ship in the registry. `cimplify list` shows every component; `cimplify add <name>` copies one's source into your project. After ejection it's yours; you stop receiving SDK updates for that component, in exchange for full control over JSX, state, and behavior.
Inspect
Read-only snapshot of a storefront's catalogue, brand, and merchandising state, for humans at the terminal and agents over `--json`.