summaryrefslogtreecommitdiff
path: root/packages/cli/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/config')
-rw-r--r--packages/cli/src/config/config.test.ts12
-rw-r--r--packages/cli/src/config/config.ts13
-rw-r--r--packages/cli/src/config/settings.ts1
3 files changed, 26 insertions, 0 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts
index cc0f112a..0c0761cc 100644
--- a/packages/cli/src/config/config.test.ts
+++ b/packages/cli/src/config/config.test.ts
@@ -43,6 +43,14 @@ vi.mock('@google/gemini-cli-core', async () => {
fileCount: extensionPaths?.length || 0,
}),
),
+ DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: {
+ respectGitIgnore: false,
+ respectGeminiIgnore: true,
+ },
+ DEFAULT_FILE_FILTERING_OPTIONS: {
+ respectGitIgnore: true,
+ respectGeminiIgnore: true,
+ },
};
});
@@ -479,6 +487,10 @@ describe('Hierarchical Memory Loading (config.ts) - Placeholder Suite', () => {
'/path/to/ext3/context1.md',
'/path/to/ext3/context2.md',
],
+ {
+ respectGitIgnore: false,
+ respectGeminiIgnore: true,
+ },
);
});
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts
index 2d33daa3..fd4907d0 100644
--- a/packages/cli/src/config/config.ts
+++ b/packages/cli/src/config/config.ts
@@ -15,8 +15,10 @@ import {
ApprovalMode,
DEFAULT_GEMINI_MODEL,
DEFAULT_GEMINI_EMBEDDING_MODEL,
+ DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
FileDiscoveryService,
TelemetryTarget,
+ FileFilteringOptions,
MCPServerConfig,
IDE_SERVER_NAME,
} from '@google/gemini-cli-core';
@@ -219,12 +221,14 @@ export async function loadHierarchicalGeminiMemory(
debugMode: boolean,
fileService: FileDiscoveryService,
extensionContextFilePaths: string[] = [],
+ fileFilteringOptions?: FileFilteringOptions,
): Promise<{ memoryContent: string; fileCount: number }> {
if (debugMode) {
logger.debug(
`CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory}`,
);
}
+
// Directly call the server function.
// The server function will use its own homedir() for the global path.
return loadServerHierarchicalMemory(
@@ -232,6 +236,7 @@ export async function loadHierarchicalGeminiMemory(
debugMode,
fileService,
extensionContextFilePaths,
+ fileFilteringOptions,
);
}
@@ -277,12 +282,19 @@ export async function loadCliConfig(
);
const fileService = new FileDiscoveryService(process.cwd());
+
+ const fileFiltering = {
+ ...DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
+ ...settings.fileFiltering,
+ };
+
// Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(
process.cwd(),
debugMode,
fileService,
extensionContextFilePaths,
+ fileFiltering,
);
let mcpServers = mergeMcpServers(settings, activeExtensions);
@@ -405,6 +417,7 @@ export async function loadCliConfig(
// Git-aware file filtering settings
fileFiltering: {
respectGitIgnore: settings.fileFiltering?.respectGitIgnore,
+ respectGeminiIgnore: settings.fileFiltering?.respectGeminiIgnore,
enableRecursiveFileSearch:
settings.fileFiltering?.enableRecursiveFileSearch,
},
diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts
index 24b9e9e6..3cbfe22d 100644
--- a/packages/cli/src/config/settings.ts
+++ b/packages/cli/src/config/settings.ts
@@ -81,6 +81,7 @@ export interface Settings {
// Git-aware file filtering settings
fileFiltering?: {
respectGitIgnore?: boolean;
+ respectGeminiIgnore?: boolean;
enableRecursiveFileSearch?: boolean;
};