add provider-first onboarding (#9039)

Signed-off-by: tulsi <tulsi@block.xyz>
This commit is contained in:
tulsi
2026-05-06 07:08:31 -07:00
committed by GitHub
parent f9d0c6416d
commit 6fc44bf0ed
51 changed files with 3589 additions and 37 deletions
+1
View File
@@ -6,6 +6,7 @@ export const TRANSLATION_NAMESPACES = [
"common",
"chat",
"home",
"onboarding",
"projects",
"settings",
"skills",
+2
View File
@@ -32,6 +32,7 @@ const localeResourceLoaders = {
common: () => import("./locales/en/common.json"),
chat: () => import("./locales/en/chat.json"),
home: () => import("./locales/en/home.json"),
onboarding: () => import("./locales/en/onboarding.json"),
projects: () => import("./locales/en/projects.json"),
settings: () => import("./locales/en/settings.json"),
skills: () => import("./locales/en/skills.json"),
@@ -43,6 +44,7 @@ const localeResourceLoaders = {
common: () => import("./locales/es/common.json"),
chat: () => import("./locales/es/chat.json"),
home: () => import("./locales/es/home.json"),
onboarding: () => import("./locales/es/onboarding.json"),
projects: () => import("./locales/es/projects.json"),
settings: () => import("./locales/es/settings.json"),
skills: () => import("./locales/es/skills.json"),
@@ -0,0 +1,67 @@
{
"windowTitle": "Goose setup",
"eyebrow": "First run",
"title": "Set up Goose",
"steps": {
"import": "Import",
"provider": "Provider",
"tour": "Ready"
},
"counts": {
"providers": "{{count}} provider",
"providers_plural": "{{count}} providers",
"extensions": "{{count}} extension",
"extensions_plural": "{{count}} extensions",
"sessions": "{{count}} session",
"sessions_plural": "{{count}} sessions",
"skills": "{{count}} skill",
"skills_plural": "{{count}} skills",
"projects": "{{count}} project",
"projects_plural": "{{count}} projects",
"preferences": "{{count}} preference",
"preferences_plural": "{{count}} preferences",
"none": "No importable data"
},
"import": {
"title": "Bring your setup with you",
"description": "Goose can bring over existing settings and tools it finds before you start chatting.",
"scanning": "Looking for existing Goose settings and Claude Desktop tools...",
"scanFailed": "Could not scan for existing setup.",
"emptyTitle": "No previous setup found",
"emptyDescription": "You can still configure a provider and start fresh.",
"failed": "Import failed.",
"skip": "Skip import",
"continue": "Import selected",
"next": "Continue"
},
"provider": {
"title": "Choose a default",
"description": "Pick what Goose should use for new chats. Most people should choose an AI model service like ChatGPT, Anthropic, OpenAI, Google, or Ollama.",
"readyTitle": "Already connected",
"readyDescription": "Choose the default way Goose should start new chats. You can change this any time.",
"checking": "Checking provider status...",
"noneReady": "No usable provider is ready yet.",
"setupTitle": "Connect an AI model service",
"addDifferent": "Add a different provider",
"browseAll": "Show more",
"noModels": "This provider is configured, but no models are available yet.",
"selectFailed": "Could not select this provider.",
"useCurrent": "Keep current default"
},
"tour": {
"title": "Ready to go",
"description": "Goose is ready. Here is what is available now.",
"readyWithModel": "Goose will start with {{model}}. You can switch models from Home whenever you need.",
"summary": {
"defaultTitle": "Default",
"defaultFallback": "Ready on Home",
"defaultDescription": "This is what Goose will use when you start a new chat.",
"extensionsTitle": "Extensions",
"extensionsDescription": "Connected tools are available in Settings. Imported Claude Desktop tools stay off until you enable them.",
"skillsTitle": "Skills",
"skillsDescription": "Personal skills Goose can see now. Project skills appear when you open a project."
},
"back": "Back",
"finish": "Start using Goose"
}
}
@@ -161,6 +161,12 @@
"spanish": "Spanish",
"system": "System default ({{language}})"
},
"onboarding": {
"description": "Show setup again the next time Goose opens.",
"label": "Onboarding",
"reset": "Reset onboarding",
"resetDescription": "Onboarding will appear the next time Goose opens."
},
"title": "General",
"voiceInput": {
"label": "Voice input",
@@ -0,0 +1,67 @@
{
"windowTitle": "Configuración de Goose",
"eyebrow": "Primer inicio",
"title": "Configura Goose",
"steps": {
"import": "Importar",
"provider": "Proveedor",
"tour": "Listo"
},
"counts": {
"providers": "{{count}} proveedor",
"providers_plural": "{{count}} proveedores",
"extensions": "{{count}} extensión",
"extensions_plural": "{{count}} extensiones",
"sessions": "{{count}} sesión",
"sessions_plural": "{{count}} sesiones",
"skills": "{{count}} habilidad",
"skills_plural": "{{count}} habilidades",
"projects": "{{count}} proyecto",
"projects_plural": "{{count}} proyectos",
"preferences": "{{count}} preferencia",
"preferences_plural": "{{count}} preferencias",
"none": "No hay datos para importar"
},
"import": {
"title": "Trae tu configuración",
"description": "Goose puede traer los ajustes y herramientas que encuentre antes de que empieces a chatear.",
"scanning": "Buscando ajustes de Goose y herramientas de Claude Desktop...",
"scanFailed": "No se pudo buscar configuración existente.",
"emptyTitle": "No se encontró configuración previa",
"emptyDescription": "Puedes configurar un proveedor y empezar desde cero.",
"failed": "La importación falló.",
"skip": "Omitir importación",
"continue": "Importar selección",
"next": "Continuar"
},
"provider": {
"title": "Elige un valor predeterminado",
"description": "Elige qué debe usar Goose para los chats nuevos. La mayoría debería elegir un servicio de modelos de IA como ChatGPT, Anthropic, OpenAI, Google u Ollama.",
"readyTitle": "Ya conectado",
"readyDescription": "Elige cómo debe iniciar Goose los chats nuevos. Puedes cambiarlo cuando quieras.",
"checking": "Comprobando proveedores...",
"noneReady": "Todavía no hay un proveedor utilizable.",
"setupTitle": "Conecta un servicio de modelos de IA",
"addDifferent": "Añadir otro proveedor",
"browseAll": "Mostrar más",
"noModels": "Este proveedor está configurado, pero aún no hay modelos disponibles.",
"selectFailed": "No se pudo seleccionar este proveedor.",
"useCurrent": "Mantener valor predeterminado"
},
"tour": {
"title": "Listo para empezar",
"description": "Goose está listo. Esto es lo que ya está disponible.",
"readyWithModel": "Goose empezará con {{model}}. Puedes cambiar de modelo desde Inicio cuando lo necesites.",
"summary": {
"defaultTitle": "Predeterminado",
"defaultFallback": "Listo en Inicio",
"defaultDescription": "Esto es lo que Goose usará cuando empieces un chat nuevo.",
"extensionsTitle": "Extensiones",
"extensionsDescription": "Las herramientas conectadas están disponibles en Configuración. Las herramientas importadas de Claude Desktop quedan desactivadas hasta que las habilites.",
"skillsTitle": "Habilidades",
"skillsDescription": "Habilidades personales que Goose puede ver ahora. Las habilidades de proyecto aparecen cuando abres un proyecto."
},
"back": "Atrás",
"finish": "Empezar a usar Goose"
}
}
@@ -161,6 +161,12 @@
"spanish": "Español",
"system": "Predeterminado del sistema ({{language}})"
},
"onboarding": {
"description": "Muestra la configuración otra vez la próxima vez que se abra Goose.",
"label": "Onboarding",
"reset": "Restablecer onboarding",
"resetDescription": "El onboarding aparecerá la próxima vez que se abra Goose."
},
"title": "General",
"voiceInput": {
"label": "Entrada de voz",
+3 -3
View File
@@ -11,13 +11,13 @@ const buttonVariants = cva(
variants: {
variant: {
default:
"bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
"bg-primary text-primary-foreground shadow-none hover:bg-primary/90",
destructive:
"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
"bg-destructive text-destructive-foreground shadow-none hover:bg-destructive/90",
"destructive-flat":
"bg-destructive text-destructive-foreground shadow-none hover:bg-destructive/90",
outline:
"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
"border border-input bg-background shadow-none hover:bg-accent hover:text-accent-foreground",
"outline-flat":
"border border-border-soft bg-background shadow-none hover:bg-accent hover:text-accent-foreground",
secondary: