FN-7470: show Git prerequisite during onboarding
Add Git availability checks to the first-run GitHub onboarding flow so missing host prerequisites are visible before project setup. - Probe the server-host Git CLI with a bounded core helper and expose status through the auth status API. - Render ready/missing Git prerequisite guidance in the GitHub onboarding step with install instructions and localized strings. - Cover the probe, auth route, and onboarding UI states with regression tests, docs, and a changeset. Files changed: .changeset/fn-7470-git-onboarding.md | 7 ++ docs/dashboard-guide.md | 2 + docs/getting-started.md | 2 +- packages/core/src/__tests__/git-cli-status.test.ts | 83 +++++++++++++++++++++ packages/core/src/git-cli-status.ts | 56 ++++++++++++++ packages/core/src/index.ts | 7 ++ packages/dashboard/app/api/legacy.ts | 8 ++ .../app/components/ModelOnboardingModal.css | 59 +++++++++++++++ .../app/components/ModelOnboardingModal.tsx | 53 ++++++++++++- .../__tests__/ModelOnboardingModal.test.tsx | 87 ++++++++++++++++++++++ .../dashboard/src/__tests__/routes-auth.test.ts | 62 ++++++++++++++- .../dashboard/src/routes/register-auth-routes.ts | 13 +++- packages/i18n/locales/en/app.json | 11 ++- packages/i18n/locales/es/app.json | 44 ++++++++++- packages/i18n/locales/fr/app.json | 44 ++++++++++- packages/i18n/locales/ko/app.json | 44 ++++++++++- packages/i18n/locales/zh-CN/app.json | 44 ++++++++++- packages/i18n/locales/zh-TW/app.json | 44 ++++++++++- packages/i18n/src/resources.d.ts | 9 +++ 19 files changed, 661 insertions(+), 18 deletions(-) Fusion-Task-Id: FN-7470 Fusion-Task-Lineage: 56d6f118-0d82-4f89-bcaa-b01e72a1bf8b Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -2338,14 +2338,22 @@ export async function probeProviderModels(params: ProbeModelsParams): Promise<Pr
|
||||
});
|
||||
}
|
||||
|
||||
export interface GitCliStatus {
|
||||
available: boolean;
|
||||
version?: string;
|
||||
installUrl?: string;
|
||||
}
|
||||
|
||||
/** Fetch authentication status for all OAuth providers */
|
||||
export function fetchAuthStatus(options?: FetchOptions): Promise<{
|
||||
providers: AuthProvider[];
|
||||
ghCli?: { available: boolean; authenticated: boolean };
|
||||
gitCli?: GitCliStatus;
|
||||
}> {
|
||||
return dedupe("/auth/status", () => api<{
|
||||
providers: AuthProvider[];
|
||||
ghCli?: { available: boolean; authenticated: boolean };
|
||||
gitCli?: GitCliStatus;
|
||||
}>("/auth/status"), options);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user