Files
tkmind_go/documentation/docusaurus.config.ts
T

533 lines
14 KiB
TypeScript
Raw Normal View History

2025-01-24 13:04:43 -08:00
import { themes as prismThemes } from "prism-react-renderer";
import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";
2025-03-24 14:56:40 +01:00
import tailwindPlugin from "./plugins/tailwind-config.cjs";
2025-01-24 13:04:43 -08:00
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
2025-01-26 12:38:46 -05:00
require("dotenv").config();
2025-01-24 23:05:43 +01:00
const inkeepApiKey = process.env.INKEEP_API_KEY;
const inkeepIntegrationId = process.env.INKEEP_INTEGRATION_ID;
const inkeepOrgId = process.env.INKEEP_ORG_ID;
2025-01-24 13:04:43 -08:00
const config: Config = {
2025-09-14 01:11:05 -05:00
title: "goose",
2025-01-24 13:04:43 -08:00
tagline:
2025-09-14 01:11:05 -05:00
"your local AI agent, automating engineering tasks seamlessly",
2025-01-24 13:04:43 -08:00
favicon: "img/favicon.ico",
// Set the production url of your site here
url: "https://block.github.io/",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
2025-02-03 20:01:58 -08:00
baseUrl: process.env.TARGET_PATH || "/goose/",
2025-01-24 13:04:43 -08:00
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "block", // Usually your GitHub org/user name.
projectName: "goose", // Usually your repo name.
onBrokenLinks: "throw",
2025-11-21 15:37:41 -06:00
markdown: {
hooks: {
onBrokenMarkdownLinks: "warn",
},
},
2025-01-24 13:04:43 -08:00
// Even if you don't use internationalization, you can use this field to set
// useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: "en",
locales: ["en"],
},
2025-12-01 04:44:20 +01:00
headTags: [
{
tagName: "link",
attributes: {
rel: "alternate",
type: "text/plain",
title: "LLM context",
href: "/goose/llms.txt",
},
},
],
2025-01-24 13:04:43 -08:00
presets: [
[
"classic",
{
docs: {
sidebarPath: "./sidebars.ts",
},
blog: {
showReadingTime: true,
readingTime: ({ content, frontMatter, defaultReadingTime }) =>
frontMatter.reading_time ?? defaultReadingTime({ content }),
2025-01-24 13:04:43 -08:00
feedOptions: {
type: ["rss", "atom"],
xslt: true,
},
// Useful options to enforce blogging best practices
onInlineTags: "warn",
onInlineAuthors: "warn",
onUntruncatedBlogPosts: "warn",
2025-03-17 18:30:21 +01:00
blogSidebarCount: 'ALL'
2025-01-24 13:04:43 -08:00
},
theme: {
2025-03-24 14:56:40 +01:00
customCss: [
"./src/css/custom.css",
"./src/css/extensions.css",
"./src/css/tailwind.css",
],
2025-01-24 13:04:43 -08:00
},
gtag: process.env.NODE_ENV === 'production' ? {
2025-07-08 09:08:34 -04:00
trackingID: 'G-ZS5D6SB4ZJ',
anonymizeIP: true,
2025-10-20 17:07:55 -04:00
} : false,
2025-01-24 13:04:43 -08:00
} satisfies Preset.Options,
],
],
2025-01-28 16:21:27 +01:00
plugins: [
require.resolve("./plugins/custom-webpack.cjs"),
2025-01-28 16:21:27 +01:00
[
"@docusaurus/plugin-client-redirects",
{
redirects: [
{
from: '/docs/getting-started/using-goose-free',
2025-02-05 08:09:47 -06:00
to: '/docs/getting-started/providers#using-goose-for-free'
},
2025-01-28 16:21:27 +01:00
{
from: '/v1/docs/getting-started/providers',
2025-02-05 08:09:47 -06:00
to: '/docs/getting-started/providers'
2025-01-28 16:21:27 +01:00
},
{
from: '/v1/docs/getting-started/installation',
2025-02-05 08:09:47 -06:00
to: '/docs/getting-started/installation'
2025-01-28 16:21:27 +01:00
},
{
2025-01-28 16:31:22 +01:00
from: '/v1/docs/quickstart',
2025-02-05 08:09:47 -06:00
to: '/docs/quickstart'
2025-01-28 16:21:27 +01:00
},
{
from: '/v1/',
2025-02-05 08:09:47 -06:00
to: '/'
2025-01-31 13:22:57 -06:00
},
{
2025-02-05 08:09:47 -06:00
from: '/docs/guides/custom-extensions',
to: '/docs/tutorials/custom-extensions'
},
{
from: '/docs',
to: '/docs/category/getting-started'
2025-03-24 14:56:40 +01:00
},
{
from: '/v1/extensions',
to: '/extensions'
2025-04-22 22:49:26 -04:00
},
{
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/smart-context-management',
to: '/docs/guides/sessions/smart-context-management'
},
2025-04-22 22:49:26 -04:00
{
from: '/docs/guides/share-goose-sessions',
2025-06-28 00:00:06 -04:00
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'
2025-06-22 17:24:55 -05:00
},
{
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/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/benchmarking',
to: '/docs/tutorials/benchmarking'
},
{
from: '/docs/guides/goose-in-docker',
to: '/docs/tutorials/goose-in-docker'
},
{
2025-12-01 15:10:33 -08:00
from: '/docs/guides/multi-model/creating-plans',
to: '/docs/guides/creating-plans'
},
{
from: '/docs/guides/config-file',
to: '/docs/guides/config-files',
},
2025-12-17 11:04:13 -08:00
{
from: '/docs/guides/using-goosehints',
to: '/docs/guides/context-engineering/using-goosehints',
},
2025-06-22 17:24:55 -05:00
// MCP tutorial redirects - moved from /docs/tutorials/ to /docs/mcp/
{
from: '/docs/tutorials/agentql-mcp',
to: '/docs/mcp/agentql-mcp'
},
{
from: '/docs/tutorials/asana-mcp',
to: '/docs/mcp/asana-mcp'
},
{
from: '/docs/tutorials/blender-mcp',
to: '/docs/mcp/blender-mcp'
},
{
from: '/docs/tutorials/brave-mcp',
to: '/docs/mcp/brave-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/context7-mcp',
to: '/docs/mcp/context7-mcp'
},
{
from: '/docs/tutorials/developer-mcp',
to: '/docs/mcp/developer-mcp'
},
{
from: '/docs/tutorials/elevenlabs-mcp',
to: '/docs/mcp/elevenlabs-mcp'
},
{
from: '/docs/tutorials/fetch-mcp',
to: '/docs/mcp/fetch-mcp'
},
{
from: '/docs/tutorials/figma-mcp',
to: '/docs/mcp/figma-mcp'
},
{
from: '/docs/tutorials/filesystem-mcp',
to: '/docs/mcp/filesystem-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-maps-mcp',
to: '/docs/mcp/google-maps-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/mbot-mcp',
to: '/docs/mcp/mbot-mcp'
},
{
from: '/docs/tutorials/memory-mcp',
to: '/docs/mcp/memory-mcp'
},
{
from: '/docs/tutorials/nostrbook-mcp',
to: '/docs/mcp/nostrbook-mcp'
},
{
from: '/docs/tutorials/pdf-mcp',
to: '/docs/mcp/pdf-mcp'
},
{
from: '/docs/tutorials/pieces-mcp',
to: '/docs/mcp/pieces-mcp'
},
{
from: '/docs/tutorials/playwright-mcp',
to: '/docs/mcp/playwright-mcp'
},
{
from: '/docs/tutorials/postgres-mcp',
to: '/docs/mcp/postgres-mcp'
},
{
from: '/docs/tutorials/puppeteer-mcp',
to: '/docs/mcp/puppeteer-mcp'
},
{
from: '/docs/tutorials/reddit-mcp',
to: '/docs/mcp/reddit-mcp'
},
{
from: '/docs/tutorials/repomix-mcp',
to: '/docs/mcp/repomix-mcp'
},
{
from: '/docs/tutorials/selenium-mcp',
to: '/docs/mcp/selenium-mcp'
},
{
from: '/docs/tutorials/speech-mcp',
to: '/docs/mcp/speech-mcp'
},
{
from: '/docs/tutorials/square-mcp',
to: '/docs/mcp/square-mcp'
},
{
from: '/docs/tutorials/tavily-mcp',
to: '/docs/mcp/tavily-mcp'
},
{
from: '/docs/tutorials/tutorial-extension',
to: '/docs/mcp/tutorial-mcp'
},
{
from: '/docs/tutorials/vscode-mcp',
2025-07-27 02:24:27 -04:00
to: '/docs/mcp/vs-code-mcp'
2025-06-22 17:24:55 -05:00
},
{
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/experimental/subagents',
to: '/docs/guides/subagents'
2025-06-22 17:24:55 -05:00
}
2025-03-24 14:56:40 +01:00
],
2025-01-28 16:21:27 +01:00
},
],
2025-03-24 14:56:40 +01:00
tailwindPlugin,
2025-11-21 15:37:41 -06:00
[
require.resolve("./plugins/markdown-export.cjs"),
{
enabled: true,
},
],
2025-01-28 16:21:27 +01:00
],
2025-01-24 23:05:43 +01:00
themes: ["@inkeep/docusaurus/chatButton", "@inkeep/docusaurus/searchBar"],
2025-01-24 13:04:43 -08:00
themeConfig: {
// Replace with your project's social card
image: "img/home-banner.png",
colorMode: {
respectPrefersColorScheme: true
},
2025-01-24 13:04:43 -08:00
navbar: {
title: "",
logo: {
alt: "Block Logo",
src: "img/logo_light.png",
srcDark: "img/logo_dark.png",
},
items: [
{
to: "/docs/quickstart",
label: "Quickstart",
position: "left",
},
{
2025-06-22 17:24:55 -05:00
to: "/docs/category/guides",
2025-01-24 13:04:43 -08:00
position: "left",
label: "Docs",
},
{
2025-02-24 07:47:46 -06:00
to: "/docs/category/tutorials",
2025-01-24 13:04:43 -08:00
position: "left",
2025-02-24 07:47:46 -06:00
label: "Tutorials",
2025-01-24 13:04:43 -08:00
},
2025-06-25 03:02:28 +03:00
{
to: "/docs/category/mcp-servers",
position: "left",
label: "MCPs",
},
2025-05-23 05:17:36 +10:00
{ to: "/blog", label: "Blog", position: "left" },
2025-03-31 07:29:37 -04:00
{
2025-05-23 05:17:36 +10:00
type: 'dropdown',
label: 'Resources',
position: 'left',
items: [
{
to: '/extensions',
label: 'Extensions',
},
2026-01-28 22:46:18 -05:00
{
to: '/skills',
label: 'Skills Marketplace',
},
2025-05-23 05:17:36 +10:00
{
to: '/recipe-generator',
label: 'Recipe Generator',
},
{
to: '/prompt-library',
label: 'Prompt Library',
},
{
to: '/recipes',
label: 'Recipe Cookbook',
},
2025-05-23 05:17:36 +10:00
{
2025-05-27 19:17:07 +02:00
to: 'deeplink-generator',
label: 'Deeplink Generator',
2025-05-23 05:17:36 +10:00
},
],
2025-03-31 07:29:37 -04:00
},
2025-02-24 07:47:46 -06:00
2025-01-24 13:04:43 -08:00
{
2025-10-23 12:37:45 -04:00
href: "https://discord.gg/goose-oss",
2025-01-24 13:04:43 -08:00
label: "Discord",
2025-02-24 07:47:46 -06:00
position: "right",
2025-01-24 13:04:43 -08:00
},
{
href: "https://github.com/block/goose",
label: "GitHub",
2025-02-24 07:47:46 -06:00
position: "right",
2025-01-24 13:04:43 -08:00
},
],
},
footer: {
links: [
{
2025-01-25 10:14:27 -06:00
title: "Quick Links",
2025-01-24 13:04:43 -08:00
items: [
{
2025-09-26 23:44:38 -05:00
label: "Install goose",
2025-01-25 10:14:27 -06:00
to: "docs/getting-started/installation",
},
{
label: "Extensions",
2025-03-24 14:56:40 +01:00
to: "/extensions",
2025-01-24 13:04:43 -08:00
},
],
},
{
title: "Community",
items: [
2025-06-16 17:33:53 -04:00
{
label: "Spotlight",
to: "community",
},
2025-01-24 13:04:43 -08:00
{
label: "Discord",
2025-10-23 12:37:45 -04:00
href: "https://discord.gg/goose-oss",
2025-01-24 13:04:43 -08:00
},
{
label: "YouTube",
2025-09-07 19:30:48 -05:00
href: "https://www.youtube.com/@goose-oss",
2025-01-24 13:04:43 -08:00
},
{
label: "LinkedIn",
2025-09-07 19:30:48 -05:00
href: "https://www.linkedin.com/company/goose-oss",
2025-01-24 13:04:43 -08:00
},
{
label: "Twitter / X",
2025-09-07 19:30:48 -05:00
href: "https://x.com/goose_oss",
2025-01-24 13:04:43 -08:00
},
{
label: "BlueSky",
2025-02-05 08:46:45 -06:00
href: "https://bsky.app/profile/opensource.block.xyz",
2025-01-24 13:04:43 -08:00
},
2025-02-10 12:13:52 -06:00
{
label: "Nostr",
href: "https://njump.me/opensource@block.xyz",
},
2025-01-24 13:04:43 -08:00
],
},
{
title: "More",
items: [
{
label: "Blog",
to: "/blog",
},
{
label: "GitHub",
href: "https://github.com/block/goose",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} Block, Inc.`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.nightOwl,
},
2025-01-24 23:05:43 +01:00
inkeepConfig: {
baseSettings: {
2025-01-26 12:38:46 -05:00
apiKey: inkeepApiKey,
integrationId: inkeepIntegrationId,
organizationId: inkeepOrgId,
primaryBrandColor: "#1E1E1E",
2025-01-24 23:05:43 +01:00
},
aiChatSettings: {
2025-01-26 12:38:46 -05:00
chatSubjectName: "goose",
botAvatarSrcUrl:
2025-01-28 16:21:27 +01:00
"",
2025-01-26 12:38:46 -05:00
getHelpCallToActions: [
{
name: "GitHub",
url: "https://github.com/block/goose",
icon: {
builtIn: "FaGithub",
},
},
],
2025-09-26 23:44:38 -05:00
quickQuestions: ["What is goose?"],
2025-01-26 12:38:46 -05:00
},
},
2025-11-13 07:51:37 -06:00
// announcementBar: {
// id: 'goose-grants',
// content:
// '✨ goose grant program now open: <a href="/goose/grants">apply now</a>! ✨',
// backgroundColor: '#20232a',
// textColor: '#fff',
// isCloseable: false,
// },
2025-01-24 13:04:43 -08:00
} satisfies Preset.ThemeConfig,
};
export default config;