MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / generateSystemPrompt

Function generateSystemPrompt

src/core/webview/generateSystemPrompt.ts:12–70  ·  view source on GitHub ↗
(provider: ClineProvider, message: WebviewMessage)

Source from the content-addressed store, hash-verified

10import { ClineProvider } from "./ClineProvider"
11
12export const generateSystemPrompt = async (provider: ClineProvider, message: WebviewMessage) => {
13 const {
14 apiConfiguration,
15 customModePrompts,
16 customInstructions,
17 mcpEnabled,
18 experiments,
19 language,
20 enableSubfolderRules,
21 } = await provider.getState()
22
23 const diffStrategy = new MultiSearchReplaceDiffStrategy()
24
25 const cwd = provider.cwd
26
27 const mode = message.mode ?? defaultModeSlug
28 const customModes = await provider.customModesManager.getCustomModes()
29
30 const rooIgnoreInstructions = provider.getCurrentTask()?.rooIgnoreController?.getInstructions()
31
32 // Create a temporary API handler to check model info for stealth mode.
33 // This avoids relying on an active Cline instance which might not exist during preview.
34 let modelInfo: { isStealthModel?: boolean } | undefined
35 try {
36 const tempApiHandler = buildApiHandler(apiConfiguration)
37 modelInfo = tempApiHandler.getModel().info
38 } catch (error) {
39 console.error("Error fetching model info for system prompt preview:", error)
40 }
41
42 const systemPrompt = await SYSTEM_PROMPT(
43 provider.context,
44 cwd,
45 false, // supportsComputerUse — browser removed
46 mcpEnabled ? provider.getMcpHub() : undefined,
47 diffStrategy,
48 mode,
49 customModePrompts,
50 customModes,
51 customInstructions,
52 experiments,
53 language,
54 rooIgnoreInstructions,
55 {
56 todoListEnabled: apiConfiguration?.todoListEnabled ?? true,
57 useAgentRules: vscode.workspace.getConfiguration(Package.name).get<boolean>("useAgentRules") ?? true,
58 enableSubfolderRules: enableSubfolderRules ?? false,
59 newTaskRequireTodos: vscode.workspace
60 .getConfiguration(Package.name)
61 .get<boolean>("newTaskRequireTodos", false),
62 isStealthModel: modelInfo?.isStealthModel,
63 },
64 undefined, // todoList
65 undefined, // modelId
66 provider.getSkillsManager(),
67 )
68
69 return systemPrompt

Callers 1

webviewMessageHandlerFunction · 0.90

Calls 12

buildApiHandlerFunction · 0.90
SYSTEM_PROMPTFunction · 0.90
getCustomModesMethod · 0.80
getMcpHubMethod · 0.80
getSkillsManagerMethod · 0.80
getStateMethod · 0.65
getCurrentTaskMethod · 0.65
getModelMethod · 0.65
errorMethod · 0.65
getMethod · 0.65
getConfigurationMethod · 0.65
getInstructionsMethod · 0.45

Tested by

no test coverage detected