summaryrefslogtreecommitdiff
path: root/packages/cli/src/utils/gitUtils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/utils/gitUtils.ts')
-rw-r--r--packages/cli/src/utils/gitUtils.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/cli/src/utils/gitUtils.ts b/packages/cli/src/utils/gitUtils.ts
new file mode 100644
index 00000000..d510008c
--- /dev/null
+++ b/packages/cli/src/utils/gitUtils.ts
@@ -0,0 +1,26 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import { execSync } from 'child_process';
+
+/**
+ * Checks if a directory is within a git repository hosted on GitHub.
+ * @returns true if the directory is in a git repository with a github.com remote, false otherwise
+ */
+export function isGitHubRepository(): boolean {
+ try {
+ const remotes = execSync('git remote -v', {
+ encoding: 'utf-8',
+ });
+
+ const pattern = /github\.com/;
+
+ return pattern.test(remotes);
+ } catch (_error) {
+ // If any filesystem error occurs, assume not a git repo
+ return false;
+ }
+}