refactor(rebrand): rename & rebrand CI → CIAgent across all source and test files
- Type renames: CIConfig → CIAgentConfig, DEFAULT_CI_CONFIG → DEFAULT_CIAGENT_CONFIG - Type renames: CiMetadata → CIAgentMetadata, ParsedCiCommit → ParsedCIAgentCommit - Function renames: initCI → initCIAgent, isCIInitialized → isCIAgentInitialized - Function renames: extractCiBlock → extractCIAgentBlock, parseCiBlock → parseCIAgentBlock - Class renames: CiFiles → CIAgentFiles - Import paths: ci-files.js → ciagent-files.js - Directory paths: .ci/ → .ciagent/ across all source and test files - Check names: ".ci directory exists" → ".ciagent directory exists" - Check names: "CI config valid" → "CIAgent config valid" - Temp dir names: ci-*-test- → ciagent-*-test- - CLI examples: "ci init" → "ciagent init" - Fix deepMerge infinite recursion bug in config.ts - ---ci---/---/ci--- block markers preserved unchanged - All 31 test suites, 370 tests passing ---ci--- phase: 1 milestone: v0.5 plan: 07 task: 07-01-01 status: execute ---/ci---
This commit is contained in:
+18
-18
@@ -2,15 +2,15 @@ import * as fs from "node:fs";
|
||||
import * as path from "node:path";
|
||||
import * as os from "node:os";
|
||||
import { ClarifyPhase, saveSpecification, loadSpecification } from "../core/clarify.js";
|
||||
import { DEFAULT_CI_CONFIG } from "../types/config.js";
|
||||
import { DEFAULT_CIAGENT_CONFIG } from "../types/config.js";
|
||||
import { Specification, parseSpecification } from "../types/specification.js";
|
||||
|
||||
describe("ClarifyPhase", () => {
|
||||
let tempDir: string;
|
||||
|
||||
beforeEach(() => {
|
||||
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ci-clarify-test-"));
|
||||
fs.mkdirSync(path.join(tempDir, ".ci"), { recursive: true });
|
||||
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ciagent-clarify-test-"));
|
||||
fs.mkdirSync(path.join(tempDir, ".ciagent"), { recursive: true });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@@ -41,7 +41,7 @@ describe("ClarifyPhase", () => {
|
||||
|
||||
describe("generateQuestions", () => {
|
||||
it("generates questions for missing requirements", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
expect(questions.length).toBeGreaterThan(0);
|
||||
const reqQuestion = questions.find((q) => q.category === "requirements");
|
||||
@@ -50,7 +50,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("generates questions for missing constraints", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
const constraintQuestion = questions.find((q) => q.category === "constraints");
|
||||
expect(constraintQuestion).toBeDefined();
|
||||
@@ -58,7 +58,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("generates deployment question when deploy is mentioned without deploy constraint", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithRequirements);
|
||||
const deployQuestion = questions.find((q) => q.category === "deployment");
|
||||
expect(deployQuestion).toBeDefined();
|
||||
@@ -66,8 +66,8 @@ describe("ClarifyPhase", () => {
|
||||
|
||||
it("respects clarify_budget", () => {
|
||||
const limitedConfig = {
|
||||
...DEFAULT_CI_CONFIG,
|
||||
autonomy: { ...DEFAULT_CI_CONFIG.autonomy, clarify_budget: 1 },
|
||||
...DEFAULT_CIAGENT_CONFIG,
|
||||
autonomy: { ...DEFAULT_CIAGENT_CONFIG.autonomy, clarify_budget: 1 },
|
||||
};
|
||||
const clarify = new ClarifyPhase(limitedConfig, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
@@ -75,7 +75,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("assigns sequential question IDs", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
for (let i = 0; i < questions.length; i++) {
|
||||
expect(questions[i].id).toBe(`Q-${String(i + 1).padStart(3, "0")}`);
|
||||
@@ -83,7 +83,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("sorts questions by impact priority", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
const priorityOrder = { critical: 0, high: 1, medium: 2, low: 3 };
|
||||
for (let i = 1; i < questions.length; i++) {
|
||||
@@ -96,7 +96,7 @@ describe("ClarifyPhase", () => {
|
||||
|
||||
describe("answerQuestion", () => {
|
||||
it("records an answer to a question", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
expect(questions.length).toBeGreaterThan(0);
|
||||
|
||||
@@ -107,7 +107,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("returns null for unknown question ID", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const result = clarify.answerQuestion("Q-999", "answer");
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
@@ -115,7 +115,7 @@ describe("ClarifyPhase", () => {
|
||||
|
||||
describe("acceptDefaults", () => {
|
||||
it("accepts defaults for all unanswered questions", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
clarify.generateQuestions(specWithoutRequirements);
|
||||
const result = clarify.acceptDefaults();
|
||||
|
||||
@@ -125,7 +125,7 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("preserves manually answered questions", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
const questions = clarify.generateQuestions(specWithoutRequirements);
|
||||
if (questions.length > 0) {
|
||||
clarify.answerQuestion(questions[0].id, "My answer");
|
||||
@@ -138,11 +138,11 @@ describe("ClarifyPhase", () => {
|
||||
});
|
||||
|
||||
it("saves clarify responses file", () => {
|
||||
const clarify = new ClarifyPhase(DEFAULT_CI_CONFIG, tempDir);
|
||||
const clarify = new ClarifyPhase(DEFAULT_CIAGENT_CONFIG, tempDir);
|
||||
clarify.generateQuestions(specWithoutRequirements);
|
||||
clarify.acceptDefaults();
|
||||
|
||||
const responsesPath = path.join(tempDir, ".ci", "clarify-responses.md");
|
||||
const responsesPath = path.join(tempDir, ".ciagent", "clarify-responses.md");
|
||||
expect(fs.existsSync(responsesPath)).toBe(true);
|
||||
const content = fs.readFileSync(responsesPath, "utf-8");
|
||||
expect(content).toContain("Clarify Phase Responses");
|
||||
@@ -154,8 +154,8 @@ describe("saveSpecification / loadSpecification", () => {
|
||||
let tempDir: string;
|
||||
|
||||
beforeEach(() => {
|
||||
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ci-spec-test-"));
|
||||
fs.mkdirSync(path.join(tempDir, ".ci"), { recursive: true });
|
||||
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "ciagent-spec-test-"));
|
||||
fs.mkdirSync(path.join(tempDir, ".ciagent"), { recursive: true });
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
|
||||
Reference in New Issue
Block a user