CLIProduct Foundation
CLI App Surface
Executable app workspace for hi and hint
The CLI app surface is the apps/cli workspace that owns the npm executable package for Harness scaffold and update workflows.
Responsibilities
- Own
hiandhintbin entries. - Preserve existing scaffold and update behavior after the product monorepo split.
- Detect repo shape and technology signals for repo-aware setup.
- Render scaffold-managed files from the selected baseline and pack set.
- Write local files, prompts, hooks, skill directories, harness mirrors, and
.devpunks/scaffold-manifest.json. - Resolve stable scaffold baselines through the control plane, GitHub release fallback, or bundled fallback.
- Own update/diff behavior, baseline release scripts, executable release scripts, and skill sync scripts.
Boundaries
- Shared HTTP request and response contracts belong in
packages/contract. - Shared scaffold model primitives belong in
packages/scaffold. - Backend registry, auth implementation, telemetry, provenance persistence, and artifact storage belong outside the CLI app.
- Other apps and packages should consume shared packages rather than importing
apps/cliinternals.
Operator Contract
Root scripts delegate to CLI package tasks through Turborepo, so operators can still run the familiar root commands while the executable implementation lives in apps/cli. CLI behavior preservation outranks structural cleanup: moving the command into an app workspace must not change how hi scaffold, hi update, baseline publishing, or local test fixtures behave.