UNPKG

scai

Version:

> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.

61 lines (60 loc) 2.76 kB
// src/utils/planActions.ts export const PLAN_ACTIONS = [ // ===================================================== // INFORMATION ACQUISITION PHASE // Purpose: gather raw information, no interpretation // ===================================================== { action: "fileSearch", groups: ["info"], description: "Search the repository for files matching a query, filename, extension, or pattern. " + "Use when the user references files or concepts not already present in context." }, // ===================================================== // ROUTING / PLANNING PHASE // Purpose: decide how execution should proceed // ===================================================== /* { action: "routeTask", groups: ["routing"], description: "Decide execution strategy based on semantic intent and scope. " + "Determines whether to proceed with direct execution, recursive planning, or plan-only output. " + "Produces executionMode and optional subtask definitions." }, */ // ===================================================== // TRANSFORM PHASE // Purpose: produce concrete changes or artifacts // ===================================================== { action: "codeTransform", groups: ["transform"], description: "Generate concrete code changes according to the execution plan and selected source files. " + "This produces structured patches or full file rewrites, but does NOT write anything to disk. " + "It should only be planned when actual code modifications are required, never for analysis purposes. " + "Must complete successfully before any 'writeFile' steps are executed." }, { action: "writeFile", groups: ["transform"], description: "Persist file changes to disk. " + "This action MUST ONLY be planned if codeTransform has already produced output, " + "and MUST come after codeTransform in the plan." }, { action: "cleanup", groups: ["transform"], description: "Normalize or post-process generated output into valid, machine-consumable structures. " + "Used when strict JSON or schema adherence is required." }, // ===================================================== // FINALIZE PHASE // Purpose: commit results and respond to the user // ===================================================== { action: "finalAnswer", groups: ["finalize"], description: "Produce the final user-facing response, explanation, or report. " + "Summarizes actions taken and results produced." }, ];