diff --git a/.github/workflows/pr-website-preview.yml b/.github/workflows/pr-website-preview.yml
index 7e81a7aa63..01886641e2 100644
--- a/.github/workflows/pr-website-preview.yml
+++ b/.github/workflows/pr-website-preview.yml
@@ -34,7 +34,7 @@ jobs:
INKEEP_API_KEY: ${{ secrets.INKEEP_API_KEY }}
INKEEP_INTEGRATION_ID: ${{ secrets.INKEEP_INTEGRATION_ID }}
INKEEP_ORG_ID: ${{ secrets.INKEEP_ORG_ID }}
- TARGET_PATH: "/goose/pr-preview/pr-${{ github.event.number }}/"
+ TARGET_PATH: "/pr-preview/pr-${{ github.event.number }}/"
run: |
npm install
npm run build
diff --git a/documentation/blog/README.md b/documentation/blog/README.md
index 6adc2de0a4..4971e24131 100644
--- a/documentation/blog/README.md
+++ b/documentation/blog/README.md
@@ -181,7 +181,7 @@ npm start
3. Open your browser and visit:
```
-http://localhost:3000/goose/blog
+http://localhost:3000/blog
```
The development server features:
@@ -208,4 +208,4 @@ npm start
```
3. Verify your frontmatter syntax is correct (no tabs, proper indentation)
-4. Check that all image paths are correct relative to your post's directory
\ No newline at end of file
+4. Check that all image paths are correct relative to your post's directory
diff --git a/documentation/docs/experimental/remote-access/mobile-access.md b/documentation/docs/experimental/remote-access/mobile-access.md
index 2b806cde1c..99999e9c35 100644
--- a/documentation/docs/experimental/remote-access/mobile-access.md
+++ b/documentation/docs/experimental/remote-access/mobile-access.md
@@ -72,7 +72,7 @@ import mobileShots from '@site/blog/2025-12-19-goose-mobile-terminal/mobile_shot
title: 'goose Mobile Access and Native Terminal Support',
description: 'Learn about two new ways to use goose: iOS app for mobile access and native terminal support with seamless session continuity.',
thumbnailUrl: mobileShots,
- linkUrl: '/goose/blog/2025/12/19/goose-mobile-terminal',
+ linkUrl: '/blog/2025/12/19/goose-mobile-terminal',
date: '2025-12-19',
duration: '4 min read'
}
diff --git a/documentation/docs/guides/acp-clients.md b/documentation/docs/guides/acp-clients.md
index 0e7010ff03..473359ee2c 100644
--- a/documentation/docs/guides/acp-clients.md
+++ b/documentation/docs/guides/acp-clients.md
@@ -247,7 +247,7 @@ import chooseYourIde from '@site/blog/2025-10-24-intro-to-agent-client-protocol-
title: 'Intro to Agent Client Protocol (ACP): The Standard for AI Agent-Editor Integration',
description: 'Learn how to integrate AI agents like goose directly into your code editor via ACP, eliminating window-switching and vendor lock-in.',
thumbnailUrl: chooseYourIde,
- linkUrl: '/goose/blog/2025/10/24/intro-to-agent-client-protocol-acp',
+ linkUrl: '/blog/2025/10/24/intro-to-agent-client-protocol-acp',
date: '2025-10-24',
duration: '7 min read'
}
diff --git a/documentation/docs/guides/context-engineering/slash-commands.md b/documentation/docs/guides/context-engineering/slash-commands.md
index c949165c9d..602d5167ab 100644
--- a/documentation/docs/guides/context-engineering/slash-commands.md
+++ b/documentation/docs/guides/context-engineering/slash-commands.md
@@ -98,13 +98,13 @@ import ContentCardCarousel from '@site/src/components/ContentCardCarousel';
type: 'topic',
title: 'Recipes',
description: 'Check out the Recipes guide for more docs, tools, and resources to help you master goose recipes.',
- linkUrl: '/goose/docs/guides/recipes'
+ linkUrl: '/docs/guides/recipes'
},
{
type: 'topic',
title: 'Research → Plan → Implement Patterns',
description: 'See how slash commands make it easy to integrate instructions into interactive RPI workflows.',
- linkUrl: '/goose/docs/tutorials/rpi'
+ linkUrl: '/docs/tutorials/rpi'
}
]}
/>
diff --git a/documentation/docs/guides/context-engineering/using-skills.md b/documentation/docs/guides/context-engineering/using-skills.md
index 1a874d4ab8..6c5f80ea7b 100644
--- a/documentation/docs/guides/context-engineering/using-skills.md
+++ b/documentation/docs/guides/context-engineering/using-skills.md
@@ -278,7 +278,7 @@ import skillsvsmcp from '@site/blog/2025-12-22-agent-skills-vs-mcp/skills-vs-mcp
title: 'Did Skills Kill MCP?',
description: 'An overview of Agent Skills vs MCP',
thumbnailUrl: skillsvsmcp,
- linkUrl: '/goose/blog/2025/12/22/agent-skills-vs-mcp',
+ linkUrl: '/blog/2025/12/22/agent-skills-vs-mcp',
date: '2025-12-22',
duration: '4 min read'
}
diff --git a/documentation/docs/guides/creating-plans.md b/documentation/docs/guides/creating-plans.md
index c2b8d3c875..a01bc9aa0c 100644
--- a/documentation/docs/guides/creating-plans.md
+++ b/documentation/docs/guides/creating-plans.md
@@ -334,7 +334,7 @@ import blogBanner from '@site/blog/2025-12-19-does-your-ai-agent-need-a-plan/blo
title: 'Does Your AI Agent Need a Plan?',
description: 'Knowing when and how to plan with an AI agent can produce better results.',
thumbnailUrl: blogBanner,
- linkUrl: '/goose/blog/2025/12/19/does-your-ai-agent-need-a-plan',
+ linkUrl: '/blog/2025/12/19/does-your-ai-agent-need-a-plan',
date: '2025-12-19',
duration: '7 min read'
},
@@ -342,7 +342,7 @@ import blogBanner from '@site/blog/2025-12-19-does-your-ai-agent-need-a-plan/blo
type: 'topic',
title: 'Planning Complex Tasks',
description: 'Learn how to use the Plan feature to break down complex tasks into manageable, executable steps.',
- linkUrl: '/goose/docs/tutorials/plan-feature-devcontainer-setup',
+ linkUrl: '/docs/tutorials/plan-feature-devcontainer-setup',
}
]}
-/>
\ No newline at end of file
+/>
diff --git a/documentation/docs/guides/managing-tools/code-mode.md b/documentation/docs/guides/managing-tools/code-mode.md
index 8d8a373aac..c29480b12f 100644
--- a/documentation/docs/guides/managing-tools/code-mode.md
+++ b/documentation/docs/guides/managing-tools/code-mode.md
@@ -56,7 +56,7 @@ import notMcpReplacement from '@site/blog/2025-12-21-code-mode-doesnt-replace-mc
title: 'Code Mode for MCP',
description: 'Learn about the code execution approach to MCP tool calling.',
thumbnailUrl: gooseCodeMode,
- linkUrl: '/goose/blog/2025/12/15/code-mode-mcp',
+ linkUrl: '/blog/2025/12/15/code-mode-mcp',
date: '2025-12-15',
duration: '5 min read'
},
@@ -65,9 +65,9 @@ import notMcpReplacement from '@site/blog/2025-12-21-code-mode-doesnt-replace-mc
title: 'Code Mode Doesn\'t Replace MCP',
description: 'Understanding how Code Mode and MCP work together.',
thumbnailUrl: notMcpReplacement,
- linkUrl: '/goose/blog/2025/12/21/code-mode-doesnt-replace-mcp',
+ linkUrl: '/blog/2025/12/21/code-mode-doesnt-replace-mcp',
date: '2025-12-21',
duration: '8 min read'
}
]}
-/>
\ No newline at end of file
+/>
diff --git a/documentation/docs/guides/managing-tools/index.md b/documentation/docs/guides/managing-tools/index.md
index 9085badfa6..0f18f93d15 100644
--- a/documentation/docs/guides/managing-tools/index.md
+++ b/documentation/docs/guides/managing-tools/index.md
@@ -9,7 +9,7 @@ import styles from '@site/src/components/Card/styles.module.css';
Managing Tools
- Tools are specific functions within extensions that give goose its capabilities. Learn to control and customize how these tools work for you.
+ Tools are specific functions within extensions that give goose its capabilities. Learn to control and customize how these tools work for you.
diff --git a/documentation/docs/guides/mcp-sampling.md b/documentation/docs/guides/mcp-sampling.md
index ec7dd15d54..3459792145 100644
--- a/documentation/docs/guides/mcp-sampling.md
+++ b/documentation/docs/guides/mcp-sampling.md
@@ -93,7 +93,7 @@ import mcpSampling from '@site/blog/2025-12-04-mcp-sampling/mcp-sampling.png';
title: 'MCP Sampling: When Your Tools Need to Think',
description: 'Learn how MCP Sampling lets your tools call the AI instead of the other way around.',
thumbnailUrl: mcpSampling,
- linkUrl: '/goose/blog/2025/12/04/mcp-sampling',
+ linkUrl: '/blog/2025/12/04/mcp-sampling',
date: '2025-12-04',
duration: '6 min read'
}
diff --git a/documentation/docs/guides/prompt-templates.md b/documentation/docs/guides/prompt-templates.md
index b0f8378e37..94cc4d724b 100644
--- a/documentation/docs/guides/prompt-templates.md
+++ b/documentation/docs/guides/prompt-templates.md
@@ -136,7 +136,7 @@ import promptBanner from '@site/blog/2025-03-19-better-ai-prompting/prompt.png';
title: 'AI Prompting 101: How to Get the Best Responses from Your AI Agent',
description: 'Learn different prompting styles—from instruction-based to chain-of-thought—and discover which approach works best for your needs.',
thumbnailUrl: promptBanner,
- linkUrl: '/goose/blog/2025/03/19/better-ai-prompting',
+ linkUrl: '/blog/2025/03/19/better-ai-prompting',
date: '2025-03-19',
duration: '8 min read'
}
diff --git a/documentation/docs/guides/subagents.mdx b/documentation/docs/guides/subagents.mdx
index 3affebd962..2b67a874c9 100644
--- a/documentation/docs/guides/subagents.mdx
+++ b/documentation/docs/guides/subagents.mdx
@@ -358,7 +358,7 @@ import agentCoordination from '@site/blog/2025-08-14-agent-coordination-patterns
title: 'Agents, Subagents, and Multi Agents: What They Are and When to Use Them',
description: 'Compare agents, subagents, and multi agents in AI workflows. Learn how they work together and practical scenarios for each approach.',
thumbnailUrl: agentCoordination,
- linkUrl: '/goose/blog/2025/08/14/agent-coordination-patterns',
+ linkUrl: '/blog/2025/08/14/agent-coordination-patterns',
date: '2025-08-14',
duration: '4 min read'
},
@@ -376,7 +376,7 @@ import agentCoordination from '@site/blog/2025-08-14-agent-coordination-patterns
title: 'Tutorial: Using Subagents',
description: 'Spin up a team of subagents to build a fully functional app',
thumbnailUrl: 'https://block.github.io/goose/assets/images/tutorial-using-subagents-ef265627024db73e73d80e5799ed0c1a.png',
- linkUrl: '/goose/docs/tutorials/subagents',
+ linkUrl: '/docs/tutorials/subagents',
date: '2026-01-27',
duration: '1 hour'
},
@@ -403,7 +403,7 @@ import agentCoordination from '@site/blog/2025-08-14-agent-coordination-patterns
title: 'How to Choose Between Subagents and Subrecipes in goose',
description: 'Detailed guide to subagents and subrecipes in goose. Compare reusability, setup complexity, and get practical advice for choosing the right approach.',
thumbnailUrl: subagentsVsSubrecipes,
- linkUrl: '/goose/blog/2025/09/26/subagents-vs-subrecipes',
+ linkUrl: '/blog/2025/09/26/subagents-vs-subrecipes',
date: '2025-09-26',
duration: '6 min read'
}
diff --git a/documentation/docs/mcp/developer-mcp.md b/documentation/docs/mcp/developer-mcp.md
index 291ea779f2..1fb49ff900 100644
--- a/documentation/docs/mcp/developer-mcp.md
+++ b/documentation/docs/mcp/developer-mcp.md
@@ -251,13 +251,13 @@ import ContentCardCarousel from '@site/src/components/ContentCardCarousel';
type: 'topic',
title: 'Enhanced Code Editing with AI Models',
description: 'Use AI models to intelligently apply code changes',
- linkUrl: '/goose/docs/guides/enhanced-code-editing'
+ linkUrl: '/docs/guides/enhanced-code-editing'
},
{
type: 'topic',
title: 'Codebase Analysis',
description: 'Understand codebases with semantic analysis and call graphs',
- linkUrl: '/goose/docs/guides/codebase-analysis'
+ linkUrl: '/docs/guides/codebase-analysis'
}
]}
-/>
+/>
diff --git a/documentation/docs/mcp/elevenlabs-mcp.md b/documentation/docs/mcp/elevenlabs-mcp.md
index 7878c34e91..64a413619b 100644
--- a/documentation/docs/mcp/elevenlabs-mcp.md
+++ b/documentation/docs/mcp/elevenlabs-mcp.md
@@ -124,7 +124,7 @@ The script has been created and read aloud using the specified voices and style.
Press play and hear it for yourself! 🔊
diff --git a/documentation/docusaurus.config.ts b/documentation/docusaurus.config.ts
index 3e9916da71..cf1aa36045 100644
--- a/documentation/docusaurus.config.ts
+++ b/documentation/docusaurus.config.ts
@@ -13,15 +13,14 @@ const inkeepOrgId = process.env.INKEEP_ORG_ID;
const config: Config = {
title: "goose",
- tagline:
- "your local AI agent, automating engineering tasks seamlessly",
+ tagline: "your local AI agent, automating engineering tasks seamlessly",
favicon: "img/favicon.ico",
// Set the production url of your site here
- url: "https://block.github.io/",
+ url: "https://goose-docs.ai/",
// Set the // pathname under which your site is served
// For GitHub pages deployment, it is often '//'
- baseUrl: process.env.TARGET_PATH || "/goose/",
+ baseUrl: process.env.TARGET_PATH || "/",
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
@@ -29,7 +28,7 @@ const config: Config = {
projectName: "goose", // Usually your repo name.
onBrokenLinks: "throw",
-
+
markdown: {
hooks: {
onBrokenMarkdownLinks: "warn",
@@ -44,7 +43,6 @@ const config: Config = {
locales: ["en"],
},
-
headTags: [
{
tagName: "link",
@@ -52,7 +50,7 @@ const config: Config = {
rel: "alternate",
type: "text/plain",
title: "LLM context",
- href: "/goose/llms.txt",
+ href: "/llms.txt",
},
},
],
@@ -76,7 +74,7 @@ const config: Config = {
onInlineTags: "warn",
onInlineAuthors: "warn",
onUntruncatedBlogPosts: "warn",
- blogSidebarCount: 'ALL'
+ blogSidebarCount: "ALL",
},
theme: {
customCss: [
@@ -85,10 +83,13 @@ const config: Config = {
"./src/css/tailwind.css",
],
},
- gtag: process.env.NODE_ENV === 'production' ? {
- trackingID: 'G-ZS5D6SB4ZJ',
- anonymizeIP: true,
- } : false,
+ gtag:
+ process.env.NODE_ENV === "production"
+ ? {
+ trackingID: "G-ZS5D6SB4ZJ",
+ anonymizeIP: true,
+ }
+ : false,
} satisfies Preset.Options,
],
],
@@ -99,242 +100,242 @@ const config: Config = {
{
redirects: [
{
- from: '/docs/getting-started/using-goose-free',
- to: '/docs/getting-started/providers#using-goose-for-free'
+ from: "/docs/getting-started/using-goose-free",
+ to: "/docs/getting-started/providers#using-goose-for-free",
},
{
- from: '/v1/docs/getting-started/providers',
- to: '/docs/getting-started/providers'
+ from: "/v1/docs/getting-started/providers",
+ to: "/docs/getting-started/providers",
},
{
- from: '/v1/docs/getting-started/installation',
- to: '/docs/getting-started/installation'
+ from: "/v1/docs/getting-started/installation",
+ to: "/docs/getting-started/installation",
},
{
- from: '/v1/docs/quickstart',
- to: '/docs/quickstart'
+ from: "/v1/docs/quickstart",
+ to: "/docs/quickstart",
},
{
- from: '/v1/',
- to: '/'
+ from: "/v1/",
+ to: "/",
},
{
- from: '/docs/guides/custom-extensions',
- to: '/docs/tutorials/custom-extensions'
+ from: "/docs/guides/custom-extensions",
+ to: "/docs/tutorials/custom-extensions",
},
{
- from: '/docs',
- to: '/docs/category/getting-started'
+ from: "/docs",
+ to: "/docs/category/getting-started",
},
{
- from: '/v1/extensions',
- to: '/extensions'
+ from: "/v1/extensions",
+ to: "/extensions",
},
{
- from: '/v1/extensions/detail/nondeveloper',
- to: '/docs/mcp/computer-controller-mcp'
+ from: "/v1/extensions/detail/nondeveloper",
+ to: "/docs/mcp/computer-controller-mcp",
},
{
- from: '/docs/guides/managing-goose-sessions',
- to: '/docs/guides/sessions/session-management'
+ from: "/docs/guides/managing-goose-sessions",
+ to: "/docs/guides/sessions/session-management",
},
{
- from: '/docs/guides/smart-context-management',
- to: '/docs/guides/sessions/smart-context-management'
+ from: "/docs/guides/smart-context-management",
+ to: "/docs/guides/sessions/smart-context-management",
},
{
- from: '/docs/guides/share-goose-sessions',
- to: '/docs/guides/recipes/session-recipes'
+ from: "/docs/guides/share-goose-sessions",
+ to: "/docs/guides/recipes/session-recipes",
},
{
- from: '/docs/guides/session-recipes',
- to: '/docs/guides/recipes/session-recipes'
+ from: "/docs/guides/session-recipes",
+ to: "/docs/guides/recipes/session-recipes",
},
{
- from: '/docs/guides/recipe-reference',
- to: '/docs/guides/recipes/recipe-reference'
+ from: "/docs/guides/recipe-reference",
+ to: "/docs/guides/recipes/recipe-reference",
},
{
- from: '/docs/guides/recipes/sub-recipes',
- to: '/docs/guides/recipes/subrecipes'
+ from: "/docs/guides/recipes/sub-recipes",
+ to: "/docs/guides/recipes/subrecipes",
},
{
- from: '/docs/tutorials/sub-recipes-in-parallel',
- to: '/docs/tutorials/subrecipes-in-parallel'
+ from: "/docs/tutorials/sub-recipes-in-parallel",
+ to: "/docs/tutorials/subrecipes-in-parallel",
},
{
- from: '/docs/guides/tool-permissions',
- to: '/docs/guides/managing-tools/tool-permissions'
+ from: "/docs/guides/tool-permissions",
+ to: "/docs/guides/managing-tools/tool-permissions",
},
{
- from: '/docs/guides/adjust-tool-output',
- to: '/docs/guides/managing-tools/adjust-tool-output'
+ from: "/docs/guides/adjust-tool-output",
+ to: "/docs/guides/managing-tools/adjust-tool-output",
},
{
- from: '/docs/guides/benchmarking',
- to: '/docs/tutorials/benchmarking'
+ from: "/docs/guides/benchmarking",
+ to: "/docs/tutorials/benchmarking",
},
{
- from: '/docs/guides/goose-in-docker',
- to: '/docs/tutorials/goose-in-docker'
+ from: "/docs/guides/goose-in-docker",
+ to: "/docs/tutorials/goose-in-docker",
},
{
- from: '/docs/guides/multi-model/creating-plans',
- to: '/docs/guides/creating-plans'
+ from: "/docs/guides/multi-model/creating-plans",
+ to: "/docs/guides/creating-plans",
},
{
- from: '/docs/guides/config-file',
- to: '/docs/guides/config-files',
+ from: "/docs/guides/config-file",
+ to: "/docs/guides/config-files",
},
{
- from: '/docs/guides/using-goosehints',
- to: '/docs/guides/context-engineering/using-goosehints',
+ from: "/docs/guides/using-goosehints",
+ to: "/docs/guides/context-engineering/using-goosehints",
},
// MCP tutorial redirects - moved from /docs/tutorials/ to /docs/mcp/
{
- from: '/docs/tutorials/agentql-mcp',
- to: '/docs/mcp/agentql-mcp'
+ from: "/docs/tutorials/agentql-mcp",
+ to: "/docs/mcp/agentql-mcp",
},
{
- from: '/docs/tutorials/asana-mcp',
- to: '/docs/mcp/asana-mcp'
+ from: "/docs/tutorials/asana-mcp",
+ to: "/docs/mcp/asana-mcp",
},
{
- from: '/docs/tutorials/blender-mcp',
- to: '/docs/mcp/blender-mcp'
+ from: "/docs/tutorials/blender-mcp",
+ to: "/docs/mcp/blender-mcp",
},
{
- from: '/docs/tutorials/brave-mcp',
- to: '/docs/mcp/brave-mcp'
+ from: "/docs/tutorials/brave-mcp",
+ to: "/docs/mcp/brave-mcp",
},
{
- from: '/docs/tutorials/browserbase-mcp',
- to: '/docs/mcp/browserbase-mcp'
+ from: "/docs/tutorials/browserbase-mcp",
+ to: "/docs/mcp/browserbase-mcp",
},
{
- from: '/docs/tutorials/computer-controller-mcp',
- to: '/docs/mcp/computer-controller-mcp'
+ from: "/docs/tutorials/computer-controller-mcp",
+ to: "/docs/mcp/computer-controller-mcp",
},
{
- from: '/docs/tutorials/context7-mcp',
- to: '/docs/mcp/context7-mcp'
+ from: "/docs/tutorials/context7-mcp",
+ to: "/docs/mcp/context7-mcp",
},
{
- from: '/docs/tutorials/developer-mcp',
- to: '/docs/mcp/developer-mcp'
+ from: "/docs/tutorials/developer-mcp",
+ to: "/docs/mcp/developer-mcp",
},
{
- from: '/docs/tutorials/elevenlabs-mcp',
- to: '/docs/mcp/elevenlabs-mcp'
+ from: "/docs/tutorials/elevenlabs-mcp",
+ to: "/docs/mcp/elevenlabs-mcp",
},
{
- from: '/docs/tutorials/fetch-mcp',
- to: '/docs/mcp/fetch-mcp'
+ from: "/docs/tutorials/fetch-mcp",
+ to: "/docs/mcp/fetch-mcp",
},
{
- from: '/docs/tutorials/figma-mcp',
- to: '/docs/mcp/figma-mcp'
+ from: "/docs/tutorials/figma-mcp",
+ to: "/docs/mcp/figma-mcp",
},
{
- from: '/docs/tutorials/filesystem-mcp',
- to: '/docs/mcp/filesystem-mcp'
+ from: "/docs/tutorials/filesystem-mcp",
+ to: "/docs/mcp/filesystem-mcp",
},
{
- from: '/docs/tutorials/github-mcp',
- to: '/docs/mcp/github-mcp'
+ from: "/docs/tutorials/github-mcp",
+ to: "/docs/mcp/github-mcp",
},
{
- from: '/docs/tutorials/google-drive-mcp',
- to: '/docs/mcp/google-drive-mcp'
+ from: "/docs/tutorials/google-drive-mcp",
+ to: "/docs/mcp/google-drive-mcp",
},
{
- from: '/docs/tutorials/google-maps-mcp',
- to: '/docs/mcp/google-maps-mcp'
+ from: "/docs/tutorials/google-maps-mcp",
+ to: "/docs/mcp/google-maps-mcp",
},
{
- from: '/docs/tutorials/jetbrains-mcp',
- to: '/docs/mcp/jetbrains-mcp'
+ from: "/docs/tutorials/jetbrains-mcp",
+ to: "/docs/mcp/jetbrains-mcp",
},
{
- from: '/docs/tutorials/knowledge-graph-mcp',
- to: '/docs/mcp/knowledge-graph-mcp'
+ from: "/docs/tutorials/knowledge-graph-mcp",
+ to: "/docs/mcp/knowledge-graph-mcp",
},
{
- from: '/docs/tutorials/mbot-mcp',
- to: '/docs/mcp/mbot-mcp'
+ from: "/docs/tutorials/mbot-mcp",
+ to: "/docs/mcp/mbot-mcp",
},
{
- from: '/docs/tutorials/memory-mcp',
- to: '/docs/mcp/memory-mcp'
+ from: "/docs/tutorials/memory-mcp",
+ to: "/docs/mcp/memory-mcp",
},
{
- from: '/docs/tutorials/nostrbook-mcp',
- to: '/docs/mcp/nostrbook-mcp'
+ from: "/docs/tutorials/nostrbook-mcp",
+ to: "/docs/mcp/nostrbook-mcp",
},
{
- from: '/docs/tutorials/pdf-mcp',
- to: '/docs/mcp/pdf-mcp'
+ from: "/docs/tutorials/pdf-mcp",
+ to: "/docs/mcp/pdf-mcp",
},
{
- from: '/docs/tutorials/pieces-mcp',
- to: '/docs/mcp/pieces-mcp'
+ from: "/docs/tutorials/pieces-mcp",
+ to: "/docs/mcp/pieces-mcp",
},
{
- from: '/docs/tutorials/playwright-mcp',
- to: '/docs/mcp/playwright-mcp'
+ from: "/docs/tutorials/playwright-mcp",
+ to: "/docs/mcp/playwright-mcp",
},
{
- from: '/docs/tutorials/postgres-mcp',
- to: '/docs/mcp/postgres-mcp'
+ from: "/docs/tutorials/postgres-mcp",
+ to: "/docs/mcp/postgres-mcp",
},
{
- from: '/docs/tutorials/puppeteer-mcp',
- to: '/docs/mcp/puppeteer-mcp'
+ from: "/docs/tutorials/puppeteer-mcp",
+ to: "/docs/mcp/puppeteer-mcp",
},
{
- from: '/docs/tutorials/reddit-mcp',
- to: '/docs/mcp/reddit-mcp'
+ from: "/docs/tutorials/reddit-mcp",
+ to: "/docs/mcp/reddit-mcp",
},
{
- from: '/docs/tutorials/repomix-mcp',
- to: '/docs/mcp/repomix-mcp'
+ from: "/docs/tutorials/repomix-mcp",
+ to: "/docs/mcp/repomix-mcp",
},
{
- from: '/docs/tutorials/selenium-mcp',
- to: '/docs/mcp/selenium-mcp'
+ from: "/docs/tutorials/selenium-mcp",
+ to: "/docs/mcp/selenium-mcp",
},
{
- from: '/docs/tutorials/speech-mcp',
- to: '/docs/mcp/speech-mcp'
+ from: "/docs/tutorials/speech-mcp",
+ to: "/docs/mcp/speech-mcp",
},
{
- from: '/docs/tutorials/square-mcp',
- to: '/docs/mcp/square-mcp'
+ from: "/docs/tutorials/square-mcp",
+ to: "/docs/mcp/square-mcp",
},
{
- from: '/docs/tutorials/tavily-mcp',
- to: '/docs/mcp/tavily-mcp'
+ from: "/docs/tutorials/tavily-mcp",
+ to: "/docs/mcp/tavily-mcp",
},
{
- from: '/docs/tutorials/tutorial-extension',
- to: '/docs/mcp/tutorial-mcp'
+ from: "/docs/tutorials/tutorial-extension",
+ to: "/docs/mcp/tutorial-mcp",
},
{
- from: '/docs/tutorials/vscode-mcp',
- to: '/docs/mcp/vs-code-mcp'
+ from: "/docs/tutorials/vscode-mcp",
+ to: "/docs/mcp/vs-code-mcp",
},
{
- from: '/docs/tutorials/youtube-transcript',
- to: '/docs/mcp/youtube-transcript-mcp'
+ from: "/docs/tutorials/youtube-transcript",
+ to: "/docs/mcp/youtube-transcript-mcp",
},
{
- from: '/docs/guides/isolated-development-environments',
- to: '/docs/tutorials/isolated-development-environments'
+ from: "/docs/guides/isolated-development-environments",
+ to: "/docs/tutorials/isolated-development-environments",
},
{
- from: '/docs/experimental/subagents',
- to: '/docs/guides/subagents'
- }
+ from: "/docs/experimental/subagents",
+ to: "/docs/guides/subagents",
+ },
],
},
],
@@ -351,7 +352,7 @@ const config: Config = {
// Replace with your project's social card
image: "img/home-banner.png",
colorMode: {
- respectPrefersColorScheme: true
+ respectPrefersColorScheme: true,
},
navbar: {
title: "",
@@ -383,33 +384,33 @@ const config: Config = {
},
{ to: "/blog", label: "Blog", position: "left" },
{
- type: 'dropdown',
- label: 'Resources',
- position: 'left',
+ type: "dropdown",
+ label: "Resources",
+ position: "left",
items: [
{
- to: '/extensions',
- label: 'Extensions',
+ to: "/extensions",
+ label: "Extensions",
},
{
- to: '/skills',
- label: 'Skills Marketplace',
+ to: "/skills",
+ label: "Skills Marketplace",
},
{
- to: '/recipe-generator',
- label: 'Recipe Generator',
+ to: "/recipe-generator",
+ label: "Recipe Generator",
},
{
- to: '/prompt-library',
- label: 'Prompt Library',
+ to: "/prompt-library",
+ label: "Prompt Library",
},
{
- to: '/recipes',
- label: 'Recipe Cookbook',
+ to: "/recipes",
+ label: "Recipe Cookbook",
},
{
- to: 'deeplink-generator',
- label: 'Deeplink Generator',
+ to: "deeplink-generator",
+ label: "Deeplink Generator",
},
],
},
@@ -503,8 +504,7 @@ const config: Config = {
},
aiChatSettings: {
chatSubjectName: "goose",
- botAvatarSrcUrl:
- "",
+ botAvatarSrcUrl: "",
getHelpCallToActions: [
{
name: "GitHub",
@@ -517,16 +517,7 @@ const config: Config = {
quickQuestions: ["What is goose?"],
},
},
- // announcementBar: {
- // id: 'goose-grants',
- // content:
- // '✨ goose grant program now open: apply now! ✨',
- // backgroundColor: '#20232a',
- // textColor: '#fff',
- // isCloseable: false,
- // },
} satisfies Preset.ThemeConfig,
};
-
export default config;
diff --git a/documentation/scripts/serve-static.js b/documentation/scripts/serve-static.js
index ced17b3a72..2835205849 100644
--- a/documentation/scripts/serve-static.js
+++ b/documentation/scripts/serve-static.js
@@ -23,29 +23,16 @@ const serve = serveStatic(buildDir, {
});
const server = http.createServer((req, res) => {
- // Handle requests to /goose/ by serving from the build directory
- if (req.url.startsWith('/goose/')) {
- // Strip /goose/ prefix and serve the file
- req.url = req.url.substring(6); // Remove '/goose'
- serve(req, res, () => {
- res.statusCode = 404;
- res.end('Not found');
- });
- } else if (req.url === '/') {
- // Redirect root to /goose/
- res.writeHead(302, { Location: '/goose/' });
- res.end();
- } else {
- // For any other path, return 404
+ serve(req, res, () => {
res.statusCode = 404;
- res.end('Not found - try /goose/');
- }
+ res.end('Not found');
+ });
});
server.listen(port, () => {
console.log(`\n🚀 Static file server running at http://localhost:${port}`);
- console.log(`\n🏠 Homepage: http://localhost:${port}/goose/`);
+ console.log(`\n🏠 Homepage: http://localhost:${port}/`);
console.log(`\n📝 Test markdown exports:`);
- console.log(` http://localhost:${port}/goose/docs/quickstart.md`);
- console.log(` http://localhost:${port}/goose/docs/getting-started/installation.md\n`);
+ console.log(` http://localhost:${port}/docs/quickstart.md`);
+ console.log(` http://localhost:${port}/docs/getting-started/installation.md\n`);
});
diff --git a/documentation/src/components/ContentCard.tsx b/documentation/src/components/ContentCard.tsx
index 62c5c5ac34..7db86a0952 100644
--- a/documentation/src/components/ContentCard.tsx
+++ b/documentation/src/components/ContentCard.tsx
@@ -245,7 +245,7 @@ export default function ContentCard({
) : (
)}
diff --git a/documentation/src/components/PlatformExtensionNote.js b/documentation/src/components/PlatformExtensionNote.js
index 4b23effcd6..74e7ddb172 100644
--- a/documentation/src/components/PlatformExtensionNote.js
+++ b/documentation/src/components/PlatformExtensionNote.js
@@ -4,7 +4,7 @@ import Admonition from '@theme/Admonition';
export const PlatformExtensionNote = ({ defaultEnabled = true }) => {
return (
-
This is a built-in platform extension{defaultEnabled && " that's enabled by default for new users"}. Platform extensions provide core functionality and are used within goose just like external MCP server extensions.
+
This is a built-in platform extension{defaultEnabled && " that's enabled by default for new users"}. Platform extensions provide core functionality and are used within goose just like external MCP server extensions.
);
};
diff --git a/documentation/src/components/RateLimits.js b/documentation/src/components/RateLimits.js
index 6a28b14197..02f8486747 100644
--- a/documentation/src/components/RateLimits.js
+++ b/documentation/src/components/RateLimits.js
@@ -18,7 +18,7 @@ export const RateLimits = () => {
Some providers also have rate limits on API usage, which can affect your
experience. Check out our{" "}
-
+
Handling Rate Limits
{" "}
guide to learn how to efficiently manage these limits while using goose.
diff --git a/documentation/src/components/RecipeFields.js b/documentation/src/components/RecipeFields.js
index 89866c96a5..bbc7b7d0dc 100644
--- a/documentation/src/components/RecipeFields.js
+++ b/documentation/src/components/RecipeFields.js
@@ -12,7 +12,7 @@ const RecipeFields = () => {
Parameters to accept dynamic values
Model and provider to specify which provider and model the recipe should use