1
0
Fork 0
forked from lthn/LEM
LEM/cmd/lemcmd/setup.go
Snider 061dd4cedd feat: wire 'lem setup --data' CLI command
Register setup group with data subcommand that hydrates cold
compressed JSONL.zst training data into warm DuckDB tables.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-28 12:20:28 +00:00

26 lines
1 KiB
Go

// setup.go — CLI registration for `lem setup` commands.
package lemcmd
import (
"forge.lthn.ai/core/cli/pkg/cli"
"forge.lthn.ai/lthn/lem/pkg/lem"
)
func addSetupCommands(root *cli.Command) {
setupGroup := cli.NewGroup("setup", "Setup commands", "Initialise LEM data and environment.")
var dataCfg lem.SetupOpts
dataCmd := cli.NewCommand("data", "Hydrate cold storage into DuckDB + InfluxDB", "",
func(cmd *cli.Command, args []string) error {
return lem.RunSetup(dataCfg)
},
)
cli.StringFlag(dataCmd, &dataCfg.Root, "root", "", ".", "LEM repo root directory")
cli.StringFlag(dataCmd, &dataCfg.DB, "db", "", "", "DuckDB path (defaults to LEM_DB env, then ./lem.duckdb)")
cli.StringFlag(dataCmd, &dataCfg.Influx, "influx", "", "", "InfluxDB URL (default http://10.69.69.165:8181)")
cli.StringFlag(dataCmd, &dataCfg.InfluxDB, "influx-db", "", "", "InfluxDB database (default training)")
cli.BoolFlag(dataCmd, &dataCfg.SkipInflux, "skip-influx", "", false, "Skip InfluxDB backfill")
setupGroup.AddCommand(dataCmd)
root.AddCommand(setupGroup)
}