fix baseUrl (#8347)

This commit is contained in:
Jack Amadeo
2026-04-06 15:27:14 -04:00
committed by GitHub
parent 771bc38731
commit 6a594a2094
25 changed files with 192 additions and 213 deletions
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
4. Check that all image paths are correct relative to your post's directory
@@ -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'
}
+1 -1
View File
@@ -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'
}
@@ -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'
}
]}
/>
@@ -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'
}
+3 -3
View File
@@ -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',
}
]}
/>
/>
@@ -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'
}
]}
/>
/>
@@ -9,7 +9,7 @@ import styles from '@site/src/components/Card/styles.module.css';
<h1 className={styles.pageTitle}>Managing Tools</h1>
<p className={styles.pageDescription}>
Tools are specific functions within <a href="/goose/docs/getting-started/using-extensions">extensions</a> that give goose its capabilities. Learn to control and customize how these tools work for you.
Tools are specific functions within <a href="/docs/getting-started/using-extensions">extensions</a> that give goose its capabilities. Learn to control and customize how these tools work for you.
</p>
<div className={styles.categorySection}>
+1 -1
View File
@@ -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'
}
@@ -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'
}
+3 -3
View File
@@ -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'
}
+3 -3
View File
@@ -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'
}
]}
/>
/>
+1 -1
View File
@@ -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! 🔊
<audio controls>
<source src="/goose/audio/elevenlabs-mcp-demo.mp3" type="audio/mpeg" />
<source src="/audio/elevenlabs-mcp-demo.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
+149 -158
View File
@@ -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 /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
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: <a href="/goose/grants">apply now</a>! ✨',
// backgroundColor: '#20232a',
// textColor: '#fff',
// isCloseable: false,
// },
} satisfies Preset.ThemeConfig,
};
export default config;
+6 -19
View File
@@ -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`);
});
+1 -1
View File
@@ -245,7 +245,7 @@ export default function ContentCard({
) : (
<img
style={styles.placeholderLogo}
src="/goose/img/goose.svg"
src="/img/goose.svg"
alt="Goose logo placeholder"
/>
)}
@@ -4,7 +4,7 @@ import Admonition from '@theme/Admonition';
export const PlatformExtensionNote = ({ defaultEnabled = true }) => {
return (
<Admonition type="info" title="Platform Extension">
<p>This is a <a href="/goose/docs/getting-started/using-extensions#built-in-platform-extensions">built-in platform extension</a>{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.</p>
<p>This is a <a href="/docs/getting-started/using-extensions#built-in-platform-extensions">built-in platform extension</a>{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.</p>
</Admonition>
);
};
+1 -1
View File
@@ -18,7 +18,7 @@ export const RateLimits = () => {
<br />
Some providers also have rate limits on API usage, which can affect your
experience. Check out our{" "}
<a href="/goose/docs/guides/handling-llm-rate-limits-with-goose" target="_blank">
<a href="/docs/guides/handling-llm-rate-limits-with-goose" target="_blank">
Handling Rate Limits
</a>{" "}
guide to learn how to efficiently manage these limits while using goose.
+1 -1
View File
@@ -12,7 +12,7 @@ const RecipeFields = () => {
<li><strong>Parameters</strong> to accept dynamic values</li>
<li><strong>Model and provider</strong> to specify which provider and model the recipe should use</li>
<li><strong>Extensions</strong> to select which tools are available</li>
<li><strong>Response JSON schema</strong> for <a href="/goose/docs/guides/recipes/session-recipes#structured-output-for-automation">structured output in automations</a></li>
<li><strong>Response JSON schema</strong> for <a href="/docs/guides/recipes/session-recipes#structured-output-for-automation">structured output in automations</a></li>
<li><strong>Subrecipes</strong> to attach existing subrecipes or create a new one inline</li>
</ul>
</li>
+1 -1
View File
@@ -71,7 +71,7 @@ export default function SkillDetailPage(): JSX.Element {
const handleDownload = () => {
if (skill) {
const zipUrl = `/goose/skills-data-zips/${skill.id}.zip`;
const zipUrl = `/skills-data-zips/${skill.id}.zip`;
const link = document.createElement('a');
link.href = zipUrl;
link.download = `${skill.id}.zip`;
@@ -435,7 +435,7 @@ function PageActionsMenu(): ReactNode {
<ExternalLink size={16} className="flex-shrink-0" />
</button>
<a
href="/goose/docs/mcp/goose-docs-mcp"
href="/docs/mcp/goose-docs-mcp"
className="w-full flex items-center justify-between gap-1.5 px-3 py-1.5 text-sm text-white dark:text-black hover:opacity-90 hover:-translate-y-px active:translate-y-px transition-all duration-200 ease-in-out bg-transparent rounded-b-md no-underline"
onClick={() => setDropdownOpen(false)}
>
+4 -4
View File
@@ -1,6 +1,6 @@
import type { MCPServer } from "../types/server";
const SERVERS_URL = "/goose/servers.json";
const SERVERS_URL = "/servers.json";
export async function fetchMCPServers(): Promise<MCPServer[]> {
try {
@@ -19,14 +19,14 @@ export async function fetchMCPServers(): Promise<MCPServer[]> {
export async function searchMCPServers(query: string): Promise<MCPServer[]> {
const servers = await fetchMCPServers();
const normalizedQuery = query.toLowerCase();
return servers.filter((server) => {
const normalizedName = server.name.toLowerCase();
const normalizedDescription = server.description.toLowerCase();
return (
normalizedName.includes(normalizedQuery) ||
normalizedDescription.includes(normalizedQuery)
);
});
}
}
+2 -2
View File
@@ -75,8 +75,8 @@ async function fetchSkillsManifest(): Promise<Skill[]> {
try {
// In Docusaurus, baseUrl changes automatically for PR previews.
// Example:
// prod: /goose/
// PR preview: /goose/pr-preview/pr-6752/
// prod: /
// PR preview: /pr-preview/pr-6752/
const baseUrl = siteConfig.baseUrl.endsWith("/")
? siteConfig.baseUrl
: `${siteConfig.baseUrl}/`;
+1
View File
@@ -0,0 +1 @@
goose-docs.ai