code.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { Mode, codeMode, defaultPrompts, PromptComponent } from "../../shared/modes"
  2. import { getToolDescriptionsForMode } from "./tools"
  3. import {
  4. getRulesSection,
  5. getSystemInfoSection,
  6. getObjectiveSection,
  7. getSharedToolUseSection,
  8. getMcpServersSection,
  9. getToolUseGuidelinesSection,
  10. getCapabilitiesSection
  11. } from "./sections"
  12. import { DiffStrategy } from "../diff/DiffStrategy"
  13. import { McpHub } from "../../services/mcp/McpHub"
  14. export const mode: Mode = codeMode
  15. export const CODE_PROMPT = async (
  16. cwd: string,
  17. supportsComputerUse: boolean,
  18. mcpHub?: McpHub,
  19. diffStrategy?: DiffStrategy,
  20. browserViewportSize?: string,
  21. customPrompt?: PromptComponent,
  22. ) => `${customPrompt?.roleDefinition || defaultPrompts[codeMode].roleDefinition}
  23. ${getSharedToolUseSection()}
  24. ${getToolDescriptionsForMode(mode, cwd, supportsComputerUse, diffStrategy, browserViewportSize, mcpHub)}
  25. ${getToolUseGuidelinesSection()}
  26. ${await getMcpServersSection(mcpHub, diffStrategy)}
  27. ${getCapabilitiesSection(cwd, supportsComputerUse, mcpHub, diffStrategy)}
  28. ${getRulesSection(cwd, supportsComputerUse, diffStrategy)}
  29. ${getSystemInfoSection(cwd)}
  30. ${getObjectiveSection()}`