Faceful CLI
A small repository tool for public discovery and local draft validation.
Read product status, discover permissions and documentation, or check a structured campaign draft before handing it to the production engine. Commands produce JSON for scripts and agents.
This CLI is included in the private project checkout. It is not published to npm, PyPI or Homebrew. An authorized repository collaborator can run it with pnpm. It does not authenticate an agent, create a campaign, render media or publish content.
The product is now Faceful. The repository command remains castroom for compatibility.
Run from the project checkout
Use Node.js 24 and the pnpm version pinned in the repository. Install dependencies from the lockfile, then run a command:
corepack pnpm install --frozen-lockfile
corepack pnpm --silent castroom status
corepack pnpm --silent castroom scopes
corepack pnpm --silent castroom docs
corepack pnpm --silent castroom docs setup
Validate a bounded draft locally
corepack pnpm --silent castroom validate-plan packages/cli/examples/three-video-plan.json
The example is fictional. Validation uses the same runtime schema as the studio: a UUID operation key, a title, company context and one to three distinct draft entries. Each entry needs a title and script. Unknown fields are rejected, including client-supplied approval flags. Validation never fetches source URLs or sends the plan to a server.
The result reports validity, item count and script lengths. It does not echo scripts or grant authority. A valid plan still needs authorized accounts, an authorized avatar, exact future schedule targets and server-verified approval before any external action.
Outputs and recovery
Success is one JSON value on standard output with exit code 0. Errors are JSON on standard error with a code, message and resolution, and return exit code 1. Invalid plans include field paths and validation codes without repeating private field values.
Network and input boundaries
Public reads have a 10-second timeout and a 256 KiB response limit. Local plan files are limited to 64 KiB. The optional --origin value must be an HTTPS origin without credentials, path, query or fragment. Redirects are refused; the CLI sends no authorization header or cookies and makes no automatic retries.
corepack pnpm --silent castroom status --origin https://faceful.dtheo.dev
corepack pnpm --silent castroom --help
Package publication and authenticated production commands are separate release decisions. Do not treat this discovery CLI as evidence that the campaign execution journey is live.