summaryrefslogtreecommitdiff
path: root/packages/core/src/utils/paths.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/utils/paths.ts')
-rw-r--r--packages/core/src/utils/paths.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/core/src/utils/paths.ts b/packages/core/src/utils/paths.ts
index 3382c588..5370a7cb 100644
--- a/packages/core/src/utils/paths.ts
+++ b/packages/core/src/utils/paths.ts
@@ -11,6 +11,7 @@ import * as crypto from 'crypto';
export const GEMINI_DIR = '.gemini';
export const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json';
const TMP_DIR_NAME = 'tmp';
+const COMMANDS_DIR_NAME = 'commands';
/**
* Replaces the home directory with a tilde.
@@ -158,3 +159,20 @@ export function getProjectTempDir(projectRoot: string): string {
const hash = getProjectHash(projectRoot);
return path.join(os.homedir(), GEMINI_DIR, TMP_DIR_NAME, hash);
}
+
+/**
+ * Returns the absolute path to the user-level commands directory.
+ * @returns The path to the user's commands directory.
+ */
+export function getUserCommandsDir(): string {
+ return path.join(os.homedir(), GEMINI_DIR, COMMANDS_DIR_NAME);
+}
+
+/**
+ * Returns the absolute path to the project-level commands directory.
+ * @param projectRoot The absolute path to the project's root directory.
+ * @returns The path to the project's commands directory.
+ */
+export function getProjectCommandsDir(projectRoot: string): string {
+ return path.join(projectRoot, GEMINI_DIR, COMMANDS_DIR_NAME);
+}