Skip to content

feat(cli): ship a source-independent app starter - #26

Merged
Mathieu2301 merged 1 commit into
mainfrom
nox/miakapp-cli-app-starter-20261003
Oct 3, 2026
Merged

Mathieu2301 merged 1 commit into
mainfrom
nox/miakapp-cli-app-starter-20261003

Conversation

@Mathieu2301

Copy link
Copy Markdown
Member

Summary

  • Ship miakapp init --starter app with a self-contained application and canonical resident bridge, without requiring the platform repository or an unpublished SDK.
  • Generate pinned build/check tooling, preserve all existing files on collision, and support selected contexts and safe custom artifact paths.
  • Update CLI help, MCP, packaged agent guidance and template documentation; release CLI 4.0.0-alpha.8.

Verification

  • Parent independently ran CLI typecheck/build and 217 tests: all pass.
  • Worker ran root checks (408 tests plus smoke/contract/pack), all package checks, and an isolated tarball installation/build/check/typecheck.
  • Bridge byte-sync and npm package contents are covered by tests.
  • Registry install and generated-project dependency installation will be verified after the trusted release.

Scope

No platform deployment, home data, coordinator, physical-device or V3 changes. This fixes the public starter distribution gap; it does not claim live owner/guest acceptance or a complete personalized home from an unchanged empty starter.

A new agent with only the published CLI could not build a house app: the
guide pointed at templates/home, which needs the MiakAPI source tree and the
unpublished @miakapp/app package.

- init --starter app writes miakapp.yaml plus app/main.ts, app/miakapp.ts,
  package.json, tsconfig.json and app/README.md from the CLI's assets. Every
  target is checked first; any collision fails with exit 2 and writes nothing.
  The manifest is written last. Plain init still writes miakapp.yaml only.
- app/miakapp.ts is byte-identical to packages/app/src/index.ts (tested), so
  the starter ships the canonical bridge, not a second protocol.
- app/main.ts shows only what the home shares, grouped, with stale and empty
  states; it invents no value and calls nothing. Docs require inventory and
  adaptation before publication.
- package.json builds a Bun IIFE to the manifest's artifact (custom --artifact
  limited to plain relative .js paths) and pins this CLI and TypeScript.
- Help, MCP init schema, the bundled agent guide, CLI and root READMEs and
  the template README now separate the public starter from the optional
  source-tree developer example.
- Tests: collisions per file, option combinations, custom artifact/release,
  context defaults, help, MCP, package inclusion, bridge sync, and the built
  bundle run against a fake host DOM.
- Bump @miakapp/cli to 4.0.0-alpha.8.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@Mathieu2301
Mathieu2301 merged commit e504ea9 into main Oct 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant