scai
Version:
> **A local-first AI CLI for understanding, querying, and iterating on large codebases.** > **100% local • No token costs • No cloud • No prompt injection • Private by design**
47 lines (46 loc) • 2.23 kB
JavaScript
// 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."
},
// =====================================================
// ANALYSIS PHASE
// Purpose: interpret, reason, derive constraints
// =====================================================
{
action: "semanticAnalysis",
groups: ["analysis"],
description: "Perform semantic reasoning over selected source files. " +
"Identifies intent, responsibilities, side effects, risks, and cross-file relationships. " +
"Does not modify code and should only operate on already-selected relevant files."
},
// =====================================================
// 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."
},
// =====================================================
// 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."
},
];