Smart bare cyberine
Running cyberine with no subcommand is now state-aware:
- No providers + TTY: welcome banner -> "Set up now? [Y/n]" -> runs
cyberine setupinline -> offerscyberine init-> launches the fleet TUI hub. - Providers authed + TTY: launches the fleet TUI hub directly (with a one-line nudge if
.cyberine/config.jsonis missing). - No TTY (CI/pipe): prints a one-line status + the single next command, exits 0.
For an AUTHED user (TTY or not), an unwired Claude Code install gets its own one-line nudge —
Claude Code is not wired — run: cyberine plugin install — printed alongside the state above
whenever claudeCodeWired() (src/core/claudeCodeWiring.ts) is false (the plugin not symlinked,
or a skill missing, or the MCP server not registered). Unauthenticated users see the first-run flow
instead and are not shown this line.
cyberine --help / cyberine -h still prints the full reference.
Project-level setup — cyberine init
cyberine init is the per-repo counterpart to cyberine setup. It detects which providers/CLIs are usable on the current machine, suggests a default fleet and mode, and writes...
0. Global cyberine command (cross-directory run monitor, à la claude agents)
After npm link, the cyberine command works from ANY directory: