Files
tkmind_go/documentation/src/components/CLIExtensionInstructions.js
T
Ebony Louis 2a29985be1 docs: Add Context7 MCP Server Tutorial (#2640)
Co-authored-by: Rizel Scarlett <rizel@squareup.com>
2025-05-22 13:17:42 -07:00

205 lines
5.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import React from 'react';
import CodeBlock from '@theme/CodeBlock';
export default function CLIExtensionInstructions({
name,
command,
timeout = 300,
envVars = [],
infoNote,
}) {
const hasEnvVars = envVars.length > 0;
const envStepText = hasEnvVars
? `Add environment variable${envVars.length > 1 ? 's' : ''} for ${name}`
: 'Choose No when asked to add environment variables';
return (
<div>
<ol>
<li>Run the <code>configure</code> command:</li>
</ol>
<CodeBlock language="sh">{`goose configure`}</CodeBlock>
<ol start={2}>
<li>Choose to add a <code>Command-line Extension</code>.</li>
</ol>
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension
└`}</CodeBlock>
<ol start={3}>
<li>Give your extension a name.</li>
</ol>
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
// highlight-start
◆ What would you like to call this extension?
│ ${name}
// highlight-end
└`}</CodeBlock>
<ol start={4}>
<li>Enter the command to run when this extension is used.</li>
</ol>
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ ${name}
│
// highlight-start
◆ What command should be run?
│ ${command}
// highlight-end
└`}</CodeBlock>
<ol start={5}>
<li>
Enter the number of seconds Goose should wait for actions to complete before timing out. Default is <code>300</code> seconds.
</li>
</ol>
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ ${name}
│
◇ What command should be run?
│ ${command}
│
// highlight-start
◆ Please set the timeout for this tool (in secs):
│ ${timeout}
// highlight-end
└`}</CodeBlock>
<ol start={6}>
<li>Choose to add a description. If you select <code>Yes</code>, you’ll be prompted to enter a description for the extension.</li>
</ol>
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ ${name}
│
◇ What command should be run?
│ ${command}
│
◇ Please set the timeout for this tool (in secs):
│ ${timeout}
│
// highlight-start
◆ Would you like to add a description?
│ No
// highlight-end
└`}</CodeBlock>
<ol start={7}>
<li>{envStepText}</li>
</ol>
{!hasEnvVars && (
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ ${name}
│
◇ What command should be run?
│ ${command}
│
◇ Please set the timeout for this tool (in secs):
│ ${timeout}
│
◇ Would you like to add a description?
│ No
│
// highlight-start
◆ Would you like to add environment variables?
│ No
// highlight-end
└ Added ${name} extension`}</CodeBlock>
)}
{hasEnvVars && (
<>
{infoNote && <div className="alert alert--info">{infoNote}</div>}
<CodeBlock language="sh">{`┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ ${name}
│
◇ What command should be run?
│ ${command}
│
◇ Please set the timeout for this tool (in secs):
│ ${timeout}
│
◇ Would you like to add a description?
│ No
│
// highlight-start
◆ Would you like to add environment variables?
│ Yes
${envVars
.map(
({ key, value }, i) => `│
◇ Environment variable name:
│ ${key}
│
◇ Environment variable value:
│ ${value}
│
◇ Add another environment variable?
│ ${i === envVars.length - 1 ? 'No' : 'Yes'}`
)
.join('\n')}
// highlight-end
└ Added ${name} extension`}</CodeBlock>
</>
)}
</div>
);
}