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>
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>
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>
core/cli is now a pure library (pkg/cli). The binary moves to
cmd/core/ as a separate sub-module with its own go.mod.
Removed from binary: gocmd (→ lint/go-build), service (→ go-process),
session (→ go-session), module (→ go-scm), plugin (→ go-scm).
Removed from framework: go-crypt, workspace, daemon_cmd.
Root go.mod: 1 direct forge dep (core/go). Cross-compiles CGO_ENABLED=0.
Co-Authored-By: Virgil <virgil@lethean.io>
Strip 21 blank imports that dragged go-ml, go-devops, go-build, etc.
into the CLI binary. core CLI should only have its own commands.
Fixes marketplace.NewInstaller call to match current signature.
Direct deps: core/go only (was: 22 forge packages).
Binary: 24MB (was: ~80MB). Cross-compiles with CGO_ENABLED=0.
Co-Authored-By: Virgil <virgil@lethean.io>
Resolve stale forge.lthn.ai/core/cli v0.1.0 references (tag never existed,
earliest is v0.0.1) and regenerate go.sum via workspace-aware go mod tidy.
Co-Authored-By: Virgil <virgil@lethean.io>
Consistent with cmd/service stopDaemon — polls process directly
instead of PID file removal to avoid PID reuse false positives.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reads .core/manifest.yaml, resolves daemon specs, and manages lifecycle
via the go-process registry (~/.core/daemons/). Supports health checks,
detached process launch, and per-project daemon tracking.
Co-Authored-By: Virgil <virgil@lethean.io>
Remove PIDFile, HealthServer, Daemon, DaemonOptions, HealthCheck,
Run, and RunWithTimeout from daemon.go — all now live in go-process.
Retain Mode type (ModeInteractive/ModePipe/ModeDaemon), DetectMode(),
IsTTY(), IsStdinTTY(), and IsStderrTTY() as CLI-specific helpers.
Co-Authored-By: Virgil <virgil@lethean.io>
Provides a reusable daemon CLI command builder that registers
start/stop/status/run subcommands. Consumers (go-ai, ide, etc.)
call AddDaemonCommand(root, config) with a RunForeground callback
for their business logic. Uses go-process for PID file, health
server, and daemon lifecycle management.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wraps cobra.RangeArgs for parity with ExactArgs, MinimumNArgs,
MaximumNArgs — allows go-devops to drop its direct cobra import.
Co-Authored-By: Virgil <virgil@lethean.io>
Moved from core/go during docs cleanup — these belong with the CLI
that orchestrates the ecosystem, not the DI framework.
- ecosystem.md: full module inventory and dependency graph
- 3 active plans (authentik-traefik, core-help design/plan)
- 13 completed design plans (MCP, go-api, cli-meta, go-forge, etc.)
Co-Authored-By: Virgil <virgil@lethean.io>
Move Go dev commands (test, fmt, lint, fuzz, qa, tools) into cli.
core/cli is now the sole producer of the 'core' binary.
Co-Authored-By: Virgil <virgil@lethean.io>
Archive 3 completed plan files to docs/plans/completed/:
- core-ide-job-runner-design: All components (poller, dispatcher, journal,
6 handlers, headless/desktop mode) were implemented and operational.
Code extracted to core/ide and core/go during Feb 2026 monorepo split.
- bugseti-hub-service-design + plan: All 8 Go-side tasks implemented
(config fields, HubService types, HTTP helpers, AutoRegister, write ops,
read ops, pending queue, main.go wiring). Code extracted to core/bugseti
on 16 Feb 2026.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move frame-bubbletea design and plan to docs/plans/completed/ with
completion summary. Frame now implements tea.Model with full bubbletea
lifecycle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>