# Terminal CLI development extension

This is the source-only `lenso.terminal.cli@1.0.0` support Plugin materialized
by the Lenso CLI's existing `app create --cli --no-install` command. Its source
authority is `LioRael/lenso` commit
`0e4a0b5968986e682315766a9b58c99aa1c8dbb8`, including the bundled terminal
assets and support-package generator. It is not an npm release of `@lenso/cli`.

The selected extension recognizes App-owned `cli.ts` and `cli.rs` entries and
lowers them into ordinary terminal Command providers through its bundled Bun
compiler. It also owns its terminal router contribution. Business logic stays
in the App's command file. App selection determines whether these conventions
are active; the extension does not independently execute commands or grant
Agent permissions.

Preview and review the signed archive before copying its one root source
project into an App's source directory. Copying makes the files App-owned;
inspect discovery, then build, check and run the App using the matching CLI.
The extension requires Bun; Rust command sources also require Rust/Cargo.
Its locked consumer dependencies must be resolved with lifecycle scripts
disabled. The source archive contains no installed dependencies, credentials,
build output or automatic startup hooks. It does not contain a dependency
lock: consumers must create and review their own build lock before execution.

The preparation check admits this simple root Bun Plugin with its actual
nonempty convention declarations. Local acceptance exercised a real `cli.ts`
compiler request: it returned `lenso.convention-compiled.v1` and generated a
Bun Command provider with the requested Plugin identity. CLI discovery found
both the support Plugin and the App-owned command Plugin. This evidence covers
source discovery and compilation, not a published binary or runtime execution
on every platform.

For authoring, see the exact bundled source guide:
https://github.com/LioRael/lenso/blob/0e4a0b5968986e682315766a9b58c99aa1c8dbb8/crates/lenso-engine-app/assets/terminal/README.md

Removing support disables these conventions on the next build; already copied
App source remains owned by the App. No business data is deleted.
