Virgil
8a7567c705
fix(cli): send prompt recovery hints to stderr
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:56:52 +00:00
Virgil
32b824a8a4
fix(cli): style prompt recovery hints
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:52:56 +00:00
Virgil
4ec7341e76
fix(cli): surface eof for empty prompts
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:48:56 +00:00
Virgil
207a38e236
fix(cli): improve prompt recovery hints
...
Co-authored-by: Virgil <virgil@lethean.io>
2026-04-02 10:37:37 +00:00
Virgil
904a5c057b
fix(cli): remove hidden chooser fallback
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:33:00 +00:00
Virgil
87513483e8
fix(cli): remove implicit chooser defaults
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:28:43 +00:00
Virgil
817bdea525
fix(cli): make legacy selection errors actionable
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:24:05 +00:00
Virgil
f71bdb3bf4
feat(cli): compile glyph shortcodes in rendered components
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:06:52 +00:00
Virgil
b8f3c9698a
fix(cli): make command registration snapshot-safe
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:45:31 +00:00
Virgil
88ec9264a9
fix(cli): strip ANSI from static frame output
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:38:45 +00:00
Virgil
5c8f08b60e
fix(cli): harden legacy select helpers
...
Security Scan / security (push) Successful in 21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:34:25 +00:00
Virgil
aa537c89ca
fix(cli): make styled helpers nil-safe
...
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:30:14 +00:00
Virgil
a035cb2169
fix(cli): treat eof as empty multi-select
...
Security Scan / security (push) Successful in 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:20:30 +00:00
Virgil
e96ea6d7c2
fix(cli): honor default selection in multi-select
Security Scan / security (push) Successful in 22s
2026-04-02 06:15:59 +00:00
Virgil
43d4bbd2dc
fix(cli): reprompt required prompts on empty input
...
Security Scan / security (push) Successful in 23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:10:37 +00:00
Virgil
a5142dea78
fix(cli): render glyphs in prompts and handle EOF
...
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:07:09 +00:00
Virgil
37310c7cbd
fix(cli): avoid hanging prompts on EOF
...
Security Scan / security (push) Successful in 24s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:01:35 +00:00
Virgil
e259ce323b
fix(cli): make stream completion idempotent
Security Scan / security (push) Successful in 20s
2026-04-02 05:30:17 +00:00
Virgil
323f408601
feat(cli): add ASCII table borders
Security Scan / security (push) Successful in 23s
2026-04-02 05:26:20 +00:00
Virgil
8b30e80688
feat(cli): add ASCII glyph fallbacks for tree and tracker
...
Security Scan / security (push) Successful in 21s
Co-authored-by: Virgil <virgil@lethean.io>
2026-04-02 05:23:01 +00:00
Virgil
e29b6e4889
fix(cli): make stream width handling rune-safe
Security Scan / security (push) Waiting to run
2026-04-02 05:13:07 +00:00
Virgil
cf9c068650
fix(cli): make width helpers rune-safe
Security Scan / security (push) Successful in 22s
2026-04-02 05:09:09 +00:00
Virgil
dc30159392
fix(cli): render glyph shortcodes in output
Security Scan / security (push) Successful in 22s
2026-04-02 05:02:35 +00:00
Virgil
7dadf41670
feat(cli): add string-to-string flag helpers
...
Security Scan / security (push) Successful in 21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:54:36 +00:00
Virgil
419e7f745b
feat(cli): add formatted security log helper
Security Scan / security (push) Successful in 19s
2026-04-02 04:47:42 +00:00
Virgil
4d127de05f
feat(cli): add security log helper
...
Security Scan / security (push) Successful in 21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:43:57 +00:00
Virgil
9fd432aed3
fix(cli): support comma and range multi-select input
Security Scan / security (push) Successful in 23s
2026-04-02 04:40:23 +00:00
Virgil
b1850124de
fix(cli): accept comma-separated multi-select input
Security Scan / security (push) Successful in 19s
2026-04-02 04:36:07 +00:00
Virgil
02d4ee74e6
feat(cli): add string array flag helpers
...
Security Scan / security (push) Successful in 22s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:31:29 +00:00
Virgil
12496ba57c
feat(cli): add external daemon stop helper
...
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:27:42 +00:00
Virgil
a2f27b9af4
feat(cli): add daemon lifecycle helper
...
Security Scan / security (push) Successful in 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:22:22 +00:00
Virgil
f13c3bf095
fix: add go check to doctor
Security Scan / security (push) Successful in 20s
2026-04-02 04:17:35 +00:00
Virgil
96aef54baf
feat(cli): add filterable generic selection
...
Security Scan / security (push) Successful in 25s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:13:45 +00:00
Virgil
4e258c80b1
feat(cli): add runtime run helpers
Security Scan / security (push) Waiting to run
2026-04-02 04:01:52 +00:00
Virgil
9c64f239a8
fix(cli): respect stdin overrides in prompts
...
Security Scan / security (push) Successful in 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:57:06 +00:00
Virgil
c6fae794b3
fix(cli): load locale sources during registration
Security Scan / security (push) Successful in 24s
2026-04-02 03:53:21 +00:00
Virgil
fcadba08b1
feat(pkg): support install refs in shorthand
...
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:47:53 +00:00
Virgil
27e44f069a
fix(cli): reset stdin on nil override
Security Scan / security (push) Successful in 20s
2026-04-02 03:42:16 +00:00
Virgil
d84d8cc838
feat: add persistent CLI flag helpers
Security Scan / security (push) Successful in 17s
2026-04-01 09:43:59 +00:00
Virgil
9aff00de1e
feat(pkg): add JSON output for pkg outdated
...
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 20:07:59 +00:00
Virgil
c74524bc58
chore: align check output with CLI wrappers
Deploy / build (push) Failing after 5s
Security Scan / security (push) Successful in 21s
2026-03-30 06:15:24 +00:00
Snider
bcbc25974e
fix(cli): resolve build errors and clean up stale API references
...
Security Scan / security (pull_request) Successful in 18s
Remove orphaned daemon_cmd_test.go referencing undefined AddDaemonCommand/
DaemonCommandConfig symbols. Update docs to reflect current API types
(CommandSetup, core.Service). Restore .gitignore entries for dist/, .env,
and coverage artefacts. Extract appendLocales helper to deduplicate locale
registration. Fix test reset to clear registeredLocales for proper isolation.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 22:56:10 +00:00
Snider
92da6e8a73
refactor: migrate to dappco.re/go/core + Options{} API
...
Deploy / build (push) Failing after 6s
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 20:01:25 +00:00
Snider
542698c579
fix: update for CoreGO API — s.core.App → s.core.App().Runtime
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-18 12:19:03 +00:00
Snider
0c1b74c637
feat: auto-derive i18n keys from command names (Conclave pattern)
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
commandService.applyI18n() walks registered commands and sets
Short/Long from cmd.{name}.short/long keys automatically. Downstream
packages no longer need to call i18n.T() for command descriptions —
the CLI Conclave handles it via service name derivation.
This is the Conclave pattern: services inside a sealed core.New()
auto-discover each other's capabilities via the lifecycle hooks.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 05:22:28 +00:00
Snider
d67295ad2a
fix: attach commands after Core startup, disable go-build SDK conflict
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 14s
Commands now attach AFTER i18n service starts — translations resolve.
go-build imports commented out until kin-openapi dep conflict is fixed.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 02:00:43 +00:00
Snider
7e7b83cd70
feat: feed RegisteredLocales into i18n ExtraFS
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 01:45:41 +00:00
Snider
ee7e9d1abf
feat: RegisterCommands accepts locale FS for automatic translation loading
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 15s
Both WithCommands() and RegisterCommands() now accept an optional
fs.FS for translations. The CLI collects them via RegisteredLocales()
and the i18n service loads them on startup.
Packages just pass their embed.FS — no i18n import needed:
cli.RegisterCommands(AddDevCommands, locales.FS)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 01:35:04 +00:00
Snider
bf994fab17
feat: embed CLI locale files, wire i18n ExtraFS
...
Deploy / build (push) Failing after 7s
Security Scan / security (push) Successful in 20s
- Added locales/en.json with 90 translation keys for doctor, pkg commands
- Main() embeds CLI locales automatically
- MainWithLocales() accepts additional FSSource for consuming binaries
- Ecosystem packages can ship their own locale files
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 00:28:52 +00:00
Snider
2efcbd59ec
refactor: move I18nService to go-i18n, simplify log wrapper
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
I18nService now lives in go-i18n as NewCoreService() — any binary can
use it without importing cli. Log convenience functions use go-log
directly. Removed LogService/NewLogService/daemon_cmd wrappers.
Root go.mod: 1 direct forge dep (core/go).
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 16:24:12 +00:00