Safety Model
Mere CLI is read-first. The root command plane helps humans and agents discover live command contracts before product work begins.
Defaults
Pre-invite waitlist access has one explicit browser handoff:
mere business waitlist join --email you@example.comThe waitlist flow uses Turnstile plus an email magic link before signup capture. The CLI opens the protected page; it does not submit the email directly.
Invite-code onboarding has one explicit setup action:
mere business onboard start INVITE_CODE --jsonThat command may open the browser and create/provision a workspace from the invite. After a workspace exists, use read-only workflows first:
mere onboard --workspace WORKSPACE_ID --json
mere ops audit --workspace WORKSPACE_ID --json
mere ops workspace-snapshot --workspace WORKSPACE_ID --json
mere mcp serveOperators and agents entering an already-provisioned workspace can start at mere onboard --workspace ....
Guardrails
- The root CLI never adds
--yes. - The root CLI never adds
--confirm. - Destructive commands keep app-local semantics.
- Permanent deletes, refunds, disconnects, and releases require product-owned guardrails.
- MCP registers read-only tools by default.
- Write, destructive, and external MCP tools require
mere mcp serve --allow-writesorMERE_MCP_ALLOW_WRITES=1. - Bundled adapter command names, route shapes, env var names, and default URLs are intentionally public.
- Security must come from server-side authentication, authorization, tenant/workspace scoping, and internal-token checks.
- Adapter manifests must mark command risk honestly:
read,write,destructive, orexternal.
Audit Trail
Root commands, delegated commands, and MCP invocations append redacted metadata to:
~/.local/state/mere/audit.ndjsonProduct secrets remain in app-local session/profile stores.
Before A Mutation
- Run
mere apps manifest --app APP --json. - Confirm the command path from the manifest.
- Confirm
risk,supportsJson,supportsData,requiresYes, andrequiresConfirm. - Prefer
--data-file FILEfor structured payloads. - Use destructive guardrails only when the user explicitly approved the action and target.
Publication Invariant
The CLI is a headless client. Anything in a bundled adapter may be read by an attacker, including internal endpoint paths. A route is safe to expose through adapter source only when missing credentials, wrong credentials, and valid credentials without the correct tenant/workspace/store access are rejected by the service.