From 2a1ad1f5d961b9f9593a6016eea7dd398bdeed0b Mon Sep 17 00:00:00 2001 From: Billy Biggs Date: Fri, 13 Jun 2025 09:19:08 -0700 Subject: Update contextFileName to support an optional list of strings (#1001) --- packages/cli/src/config/extension.ts | 17 ++++++++++------- packages/cli/src/config/settings.ts | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'packages/cli/src/config') diff --git a/packages/cli/src/config/extension.ts b/packages/cli/src/config/extension.ts index 9dd33e1b..685c0b74 100644 --- a/packages/cli/src/config/extension.ts +++ b/packages/cli/src/config/extension.ts @@ -16,7 +16,7 @@ export interface ExtensionConfig { name: string; version: string; mcpServers?: Record; - contextFileName?: string; + contextFileName?: string | string[]; } export function loadExtensions(workspaceDir: string): ExtensionConfig[] { @@ -76,12 +76,15 @@ function loadExtensionsFromDir(dir: string): ExtensionConfig[] { } if (extensionConfig.contextFileName) { - const contextFilePath = path.join( - extensionDir, - extensionConfig.contextFileName, - ); - if (fs.existsSync(contextFilePath)) { - extensionConfig.contextFileName = contextFilePath; + const contextFileNames = Array.isArray(extensionConfig.contextFileName) + ? extensionConfig.contextFileName + : [extensionConfig.contextFileName]; + const resolvedPaths = contextFileNames + .map((fileName) => path.join(extensionDir, fileName)) + .filter((filePath) => fs.existsSync(filePath)); + if (resolvedPaths.length > 0) { + extensionConfig.contextFileName = + resolvedPaths.length === 1 ? resolvedPaths[0] : resolvedPaths; } } else { const contextFilePath = path.join(extensionDir, 'gemini.md'); diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index e00ebb79..25f9d79d 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -35,7 +35,7 @@ export interface Settings { mcpServerCommand?: string; mcpServers?: Record; showMemoryUsage?: boolean; - contextFileName?: string; + contextFileName?: string | string[]; accessibility?: AccessibilitySettings; telemetry?: boolean; preferredEditor?: string; -- cgit v1.2.3