- Connect an AI provider and choose a default model. You can
- authenticate via OAuth or enter an API key.
+ Fusion uses AI models to plan, write, and review code for you.
+ Connect an AI provider below to get started — you can use a hosted
+ service or enter an API key.
{/* Show helper text when providers exist but none are authenticated */}
{authProviders.length > 0 && !authProviders.some((p) => p.authenticated) && (
- You can add API keys or log in to providers later from Settings.
+ Skip this step if you'd like — you can always add providers later from Settings.
)}
@@ -805,13 +806,13 @@ export function ModelOnboardingModal({
Default Model (Optional)
- Select a default model for AI tasks. You can change this later
- in Settings.
+ Pick a default model for AI tasks, or leave this blank to choose
+ later. Models vary in speed, capability, and cost.
{availableModels.length === 0 ? (
- No models available. Please configure a provider first.
+ No models available yet. Connect a provider above to see model options.
- Connect GitHub to import issues and manage pull requests. This is
- optional — you can still use Fusion without GitHub.
+ Linking GitHub lets you import issues as tasks and keep pull
+ requests in sync with your work. This is entirely optional —
+ Fusion works without it.
{!hasGithubProvider ? (
- GitHub integration is not configured. You can set it up later
+ GitHub integration isn't set up yet. You can enable it later
in Settings → Authentication.
- You can always create tasks later from the board or use{" "}
- fn task create from the CLI.
+ You can create tasks anytime from the board, or use{" "}
+ fn task create in the terminal.
)}
@@ -978,8 +980,8 @@ export function ModelOnboardingModal({
- You're ready to start using Fusion! Check out the dashboard to
- create your first task.
+ Setup complete! Head to the board to create your first task, or
+ explore the dashboard to see what's available.
)}
diff --git a/packages/dashboard/app/components/__tests__/ModelOnboardingModal.test.tsx b/packages/dashboard/app/components/__tests__/ModelOnboardingModal.test.tsx
index 48533f443..79057c2d2 100644
--- a/packages/dashboard/app/components/__tests__/ModelOnboardingModal.test.tsx
+++ b/packages/dashboard/app/components/__tests__/ModelOnboardingModal.test.tsx
@@ -308,7 +308,7 @@ describe("ModelOnboardingModal", () => {
await navigateToGitHubStep();
- expect(screen.getByText(/GitHub integration is not configured/)).toBeTruthy();
+ expect(screen.getByText(/GitHub integration isn't set up yet/)).toBeTruthy();
expect(screen.getByText("Continue without GitHub →")).toBeTruthy();
});
@@ -1179,7 +1179,7 @@ describe("ModelOnboardingModal", () => {
});
// Helper text should be visible when no providers are authenticated
- expect(screen.getByText("You can add API keys or log in to providers later from Settings.")).toBeTruthy();
+ expect(screen.getByText("Skip this step if you'd like — you can always add providers later from Settings.")).toBeTruthy();
});
it("does not show helper text on AI Setup when a provider is authenticated", async () => {
@@ -1198,7 +1198,7 @@ describe("ModelOnboardingModal", () => {
});
// Helper text should NOT be visible when a provider is authenticated
- expect(screen.queryByText("You can add API keys or log in to providers later from Settings.")).toBeNull();
+ expect(screen.queryByText("Skip this step if you'd like — you can always add providers later from Settings.")).toBeNull();
});
it("shows helper text on GitHub step when GitHub is available but not connected", async () => {
@@ -1214,7 +1214,7 @@ describe("ModelOnboardingModal", () => {
await navigateToGitHubStep();
// Helper text should be visible when GitHub is available but not connected
- expect(screen.getByText("You can connect GitHub later from Settings → Authentication.")).toBeTruthy();
+ expect(screen.getByText("No worries if you're not ready — connect GitHub anytime from Settings → Authentication.")).toBeTruthy();
});
it("does not show helper text on GitHub step when GitHub is connected", async () => {
@@ -1230,7 +1230,7 @@ describe("ModelOnboardingModal", () => {
await navigateToGitHubStep();
// Helper text should NOT be visible when GitHub is connected
- expect(screen.queryByText("You can connect GitHub later from Settings → Authentication.")).toBeNull();
+ expect(screen.queryByText("No worries if you're not ready — connect GitHub anytime from Settings → Authentication.")).toBeNull();
});
});