← ClaudeAtlas

cli-developerlisted

Review, modify, and improve the LenserFight CLI at apps/cli/. Covers citty commands, API client integration, output formatting, TUI, and configuration.
conectlens/lenserfight · ★ 7 · AI & Automation · score 71
Install: claude install-skill conectlens/lenserfight
Work on the LenserFight CLI (`lf`). ## Scope - Source: `apps/cli/src/**` - Commands: `apps/cli/src/commands/*.ts` - Utilities: `apps/cli/src/utils/` (api, output, auth, auth-recovery, ansi, error-reporter, profiles, supabase-client, automation-objects, battle-stream-broadcaster, local-battle-engine, local-battle-paths, local-battle-storage) - Libraries: `apps/cli/src/lib/` (exec-context, safety, telemetry, redact, onboarding, combine-seeds) - TUI: `apps/cli/src/tui/` (dashboard, labyrinth, rooms, runtime-telemetry) - Adapters: `apps/cli/src/adapters/` ## CLI Structure - `src/main.ts` — entry point, uses `defineCommand` + `runMain` from **citty**; binary name is `lenserfight` / `lf` - Each command file exports a `defineCommand(...)` default and is lazy-imported in `main.ts` - `src/utils/api.ts` — `callRpc` + `handleError`; all Supabase RPC calls go through here - `src/utils/output.ts` — `printTable`, `printJson`, `truncate`; uses **consola** for logging - `src/utils/auth.ts` + `src/utils/supabase-client.ts` — auth and Supabase client - `src/utils/ansi.ts` — ANSI helper `A` and symbols `sym` - `src/lib/exec-context.ts` — `setExecContext` / `getExecContext` for `--local` / `--debug` flags - `src/lib/safety/` — `assertSafe` for input validation - `src/lib/telemetry.ts` — telemetry adapter ## Command pattern ```typescript import { defineCommand } from 'citty'; import consola from 'consola'; import { callRpc, handleError } from '../utils/api'; import { printTable, printJson }