FN-5805: add fn onboard command with sequential runOnboard flow
Add a new interactive onboarding CLI flow that guides first-time setup end to end. - add new `fn onboard` command wiring in CLI entrypoint and usage help - implement `runOnboard()` with sequential prompts for central DB, provider auth, init, test mode, and project maxConcurrent - persist `cliOnboardingCompletedAt` marker in global settings with `--force` rerun support - add onboarding command tests and global settings regression coverage - document `fn onboard` usage and options in CLI reference - add a minor changeset for published `@runfusion/fusion` Files changed: .changeset/fn-5805-onboard-command.md | 5 + docs/cli-reference.md | 20 ++ packages/cli/src/bin.ts | 10 + packages/cli/src/commands/__tests__/onboard.test.ts| 193 ++++++++++++++++ packages/cli/src/commands/onboard.ts | 249 +++++++++++++++++++++ packages/core/src/__tests__/global-settings.test.ts| 11 + packages/core/src/index.ts | 2 +- packages/core/src/settings-schema.ts | 1 + packages/core/src/types.ts | 4 + 9 files changed, 494 insertions(+), 1 deletion(-) Fusion-Task-Id: FN-5805 Fusion-Task-Lineage: b1bcaf27-9bd7-4569-b685-225a97fa1200
This commit is contained in:
@@ -131,6 +131,7 @@ async function loadCommandHandlers() {
|
||||
const { runProjectList, runProjectAdd, runProjectRemove, runProjectShow, runProjectInfo, runProjectSetDefault, runProjectDetect } = await import("./commands/project.js");
|
||||
const { runNodeList, runNodeConnect, runNodeDisconnect, runNodeShow, runNodeHealth, runMeshStatus } = await import("./commands/node.js");
|
||||
const { runInit } = await import("./commands/init.js");
|
||||
const { runOnboard } = await import("./commands/onboard.js");
|
||||
const { runAgentStop, runAgentStart } = await import("./commands/agent.js");
|
||||
const { runAgentImport } = await import("./commands/agent-import.js");
|
||||
const { runAgentExport } = await import("./commands/agent-export.js");
|
||||
@@ -212,6 +213,7 @@ async function loadCommandHandlers() {
|
||||
runNodeHealth,
|
||||
runMeshStatus,
|
||||
runInit,
|
||||
runOnboard,
|
||||
runAgentStop,
|
||||
runAgentStart,
|
||||
runAgentImport,
|
||||
@@ -253,6 +255,7 @@ fn — AI-orchestrated task board
|
||||
Usage:
|
||||
fn Launch the dashboard (same as fn dashboard)
|
||||
fn init [opts] Initialize a new fn project (--name, --path, --git)
|
||||
fn onboard [--force] Run the interactive onboarding wizard
|
||||
fn dashboard Start the board web UI
|
||||
fn dashboard --paused Start with automation paused
|
||||
fn dashboard --dev Start web UI only (no AI engine)
|
||||
@@ -623,6 +626,7 @@ async function main() {
|
||||
runNodeHealth,
|
||||
runMeshStatus,
|
||||
runInit,
|
||||
runOnboard,
|
||||
runAgentStop,
|
||||
runAgentStart,
|
||||
runAgentImport,
|
||||
@@ -671,6 +675,12 @@ async function main() {
|
||||
break;
|
||||
}
|
||||
|
||||
case "onboard": {
|
||||
const force = args.includes("--force");
|
||||
await runOnboard({ force });
|
||||
break;
|
||||
}
|
||||
|
||||
case "dashboard": {
|
||||
// Initialize native module resolution for Bun binary before starting dashboard
|
||||
// This sets up the paths so node-pty can find its native assets
|
||||
|
||||
Reference in New Issue
Block a user