diff options
Diffstat (limited to 'packages/cli/src/ui/commands/setupGithubCommand.ts')
| -rw-r--r-- | packages/cli/src/ui/commands/setupGithubCommand.ts | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/packages/cli/src/ui/commands/setupGithubCommand.ts b/packages/cli/src/ui/commands/setupGithubCommand.ts index 1b5b3277..84d6b5af 100644 --- a/packages/cli/src/ui/commands/setupGithubCommand.ts +++ b/packages/cli/src/ui/commands/setupGithubCommand.ts @@ -11,6 +11,7 @@ import { getGitRepoRoot, getLatestGitHubRelease, isGitHubRepository, + getGitHubRepoInfo, } from '../../utils/gitUtils.js'; import { @@ -18,6 +19,27 @@ import { SlashCommand, SlashCommandActionReturn, } from './types.js'; +import { getUrlOpenCommand } from '../../ui/utils/commandUtils.js'; + +// Generate OS-specific commands to open the GitHub pages needed for setup. +function getOpenUrlsCommands(readmeUrl: string): string[] { + // Determine the OS-specific command to open URLs, ex: 'open', 'xdg-open', etc + const openCmd = getUrlOpenCommand(); + + // Build a list of URLs to open + const urlsToOpen = [readmeUrl]; + + const repoInfo = getGitHubRepoInfo(); + if (repoInfo) { + urlsToOpen.push( + `https://github.com/${repoInfo.owner}/${repoInfo.repo}/settings/secrets/actions`, + ); + } + + // Create and join the individual commands + const commands = urlsToOpen.map((url) => `${openCmd} "${url}"`); + return commands; +} export const setupGithubCommand: SlashCommand = { name: 'setup-github', @@ -71,11 +93,14 @@ export const setupGithubCommand: SlashCommand = { commands.push(curlCommand); } + const readmeUrl = `https://github.com/google-github-actions/run-gemini-cli/blob/${releaseTag}/README.md#quick-start`; + commands.push( - `echo "Successfully downloaded ${workflows.length} workflows. Follow the steps in https://github.com/google-github-actions/run-gemini-cli/blob/${releaseTag}/README.md#quick-start (skipping the /setup-github step) to complete setup."`, - `open https://github.com/google-github-actions/run-gemini-cli/blob/${releaseTag}/README.md#quick-start`, + `echo "Successfully downloaded ${workflows.length} workflows. Follow the steps in ${readmeUrl} (skipping the /setup-github step) to complete setup."`, ); + commands.push(...getOpenUrlsCommands(readmeUrl)); + const command = `(${commands.join(' && ')})`; return { type: 'tool', |
