summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/setupGithubCommand.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/commands/setupGithubCommand.ts')
-rw-r--r--packages/cli/src/ui/commands/setupGithubCommand.ts29
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',