28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# CLI Internals
|
|
|
|
`internal/cli` parses terminal arguments, loads configuration, constructs app
|
|
requests, and translates app results to bounded JSON summaries. The user
|
|
contract belongs in the [CLI reference](../cli.md).
|
|
|
|
The root `--version` flag reports the build version supplied by
|
|
`internal/buildinfo`. Tagged release builds replace its development default at
|
|
link time.
|
|
|
|
For each `generate` or `run` action, `Runner` constructs one project-owned
|
|
Promptkit executor after configuration loads. It passes the executor and any
|
|
`--llm-debug-dir` request into the app. `run` accepts the debug flag as well
|
|
as `generate`; the app, not the CLI, secures and initializes the debug root.
|
|
|
|
Summaries include identity, status, safe artifact paths, and notification
|
|
provenance. They intentionally exclude module values, YAML package bodies, raw
|
|
generated text, rendered prompts, schemas, endpoints, credentials, and full
|
|
Distributor payloads. A failed action with a partial result still emits its
|
|
safe summary before its error is returned.
|
|
|
|
CLI code owns no report policy, weather collection, persistence, provider
|
|
execution, or notification policy. Focused checks:
|
|
|
|
```sh
|
|
go test ./internal/cli
|
|
```
|