@barissozen/csns 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +8 -0
- package/LICENSE +21 -0
- package/README.md +364 -0
- package/dist/agent/agent-runner.d.ts +48 -0
- package/dist/agent/agent-runner.d.ts.map +1 -0
- package/dist/agent/agent-runner.js +180 -0
- package/dist/agent/agent-runner.js.map +1 -0
- package/dist/agent/architect.d.ts +34 -0
- package/dist/agent/architect.d.ts.map +1 -0
- package/dist/agent/architect.js +156 -0
- package/dist/agent/architect.js.map +1 -0
- package/dist/agent/codebase-reader.d.ts +35 -0
- package/dist/agent/codebase-reader.d.ts.map +1 -0
- package/dist/agent/codebase-reader.js +305 -0
- package/dist/agent/codebase-reader.js.map +1 -0
- package/dist/agent/context-builder.d.ts +39 -0
- package/dist/agent/context-builder.d.ts.map +1 -0
- package/dist/agent/context-builder.js +163 -0
- package/dist/agent/context-builder.js.map +1 -0
- package/dist/agent/index.d.ts +14 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +12 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/output-parser.d.ts +27 -0
- package/dist/agent/output-parser.d.ts.map +1 -0
- package/dist/agent/output-parser.js +154 -0
- package/dist/agent/output-parser.js.map +1 -0
- package/dist/agent/process-spawner.d.ts +56 -0
- package/dist/agent/process-spawner.d.ts.map +1 -0
- package/dist/agent/process-spawner.js +153 -0
- package/dist/agent/process-spawner.js.map +1 -0
- package/dist/agent/tracer/index.d.ts +8 -0
- package/dist/agent/tracer/index.d.ts.map +1 -0
- package/dist/agent/tracer/index.js +6 -0
- package/dist/agent/tracer/index.js.map +1 -0
- package/dist/agent/tracer/reverse-engineer.d.ts +113 -0
- package/dist/agent/tracer/reverse-engineer.d.ts.map +1 -0
- package/dist/agent/tracer/reverse-engineer.js +695 -0
- package/dist/agent/tracer/reverse-engineer.js.map +1 -0
- package/dist/agent/tracer/runtime-tracer.d.ts +61 -0
- package/dist/agent/tracer/runtime-tracer.d.ts.map +1 -0
- package/dist/agent/tracer/runtime-tracer.js +484 -0
- package/dist/agent/tracer/runtime-tracer.js.map +1 -0
- package/dist/agent/tracer/semantic-analyzer.d.ts +24 -0
- package/dist/agent/tracer/semantic-analyzer.d.ts.map +1 -0
- package/dist/agent/tracer/semantic-analyzer.js +132 -0
- package/dist/agent/tracer/semantic-analyzer.js.map +1 -0
- package/dist/agent/tracer/static-analyzer.d.ts +44 -0
- package/dist/agent/tracer/static-analyzer.d.ts.map +1 -0
- package/dist/agent/tracer/static-analyzer.js +453 -0
- package/dist/agent/tracer/static-analyzer.js.map +1 -0
- package/dist/agent/tracer/tracer-agent.d.ts +61 -0
- package/dist/agent/tracer/tracer-agent.d.ts.map +1 -0
- package/dist/agent/tracer/tracer-agent.js +252 -0
- package/dist/agent/tracer/tracer-agent.js.map +1 -0
- package/dist/bin/csns.d.ts +24 -0
- package/dist/bin/csns.d.ts.map +1 -0
- package/dist/bin/csns.js +389 -0
- package/dist/bin/csns.js.map +1 -0
- package/dist/bin/pc.d.ts +13 -0
- package/dist/bin/pc.d.ts.map +1 -0
- package/dist/bin/pc.js +212 -0
- package/dist/bin/pc.js.map +1 -0
- package/dist/brief/brief-collector.d.ts +42 -0
- package/dist/brief/brief-collector.d.ts.map +1 -0
- package/dist/brief/brief-collector.js +228 -0
- package/dist/brief/brief-collector.js.map +1 -0
- package/dist/brief/index.d.ts +3 -0
- package/dist/brief/index.d.ts.map +1 -0
- package/dist/brief/index.js +3 -0
- package/dist/brief/index.js.map +1 -0
- package/dist/brief/smart-brief.d.ts +52 -0
- package/dist/brief/smart-brief.d.ts.map +1 -0
- package/dist/brief/smart-brief.js +440 -0
- package/dist/brief/smart-brief.js.map +1 -0
- package/dist/calculator/calculator.d.ts +7 -0
- package/dist/calculator/calculator.d.ts.map +1 -0
- package/dist/calculator/calculator.js +18 -0
- package/dist/calculator/calculator.js.map +1 -0
- package/dist/calculator/index.d.ts +2 -0
- package/dist/calculator/index.d.ts.map +1 -0
- package/dist/calculator/index.js +2 -0
- package/dist/calculator/index.js.map +1 -0
- package/dist/i18n/en.d.ts +6 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +136 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.d.ts +31 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +44 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/tr.d.ts +6 -0
- package/dist/i18n/tr.d.ts.map +1 -0
- package/dist/i18n/tr.js +136 -0
- package/dist/i18n/tr.js.map +1 -0
- package/dist/i18n/types.d.ts +86 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +9 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/anthropic-provider.d.ts +18 -0
- package/dist/llm/anthropic-provider.d.ts.map +1 -0
- package/dist/llm/anthropic-provider.js +55 -0
- package/dist/llm/anthropic-provider.js.map +1 -0
- package/dist/llm/factory.d.ts +21 -0
- package/dist/llm/factory.d.ts.map +1 -0
- package/dist/llm/factory.js +59 -0
- package/dist/llm/factory.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +5 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/ollama-provider.d.ts +20 -0
- package/dist/llm/ollama-provider.d.ts.map +1 -0
- package/dist/llm/ollama-provider.js +62 -0
- package/dist/llm/ollama-provider.js.map +1 -0
- package/dist/llm/openai-provider.d.ts +20 -0
- package/dist/llm/openai-provider.d.ts.map +1 -0
- package/dist/llm/openai-provider.js +65 -0
- package/dist/llm/openai-provider.js.map +1 -0
- package/dist/llm/resolve.d.ts +10 -0
- package/dist/llm/resolve.d.ts.map +1 -0
- package/dist/llm/resolve.js +21 -0
- package/dist/llm/resolve.js.map +1 -0
- package/dist/llm/types.d.ts +45 -0
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +11 -0
- package/dist/llm/types.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-layer.d.ts +54 -0
- package/dist/memory/memory-layer.d.ts.map +1 -0
- package/dist/memory/memory-layer.js +297 -0
- package/dist/memory/memory-layer.js.map +1 -0
- package/dist/orchestrator/dependency-graph.d.ts +39 -0
- package/dist/orchestrator/dependency-graph.d.ts.map +1 -0
- package/dist/orchestrator/dependency-graph.js +134 -0
- package/dist/orchestrator/dependency-graph.js.map +1 -0
- package/dist/orchestrator/escalator.d.ts +42 -0
- package/dist/orchestrator/escalator.d.ts.map +1 -0
- package/dist/orchestrator/escalator.js +163 -0
- package/dist/orchestrator/escalator.js.map +1 -0
- package/dist/orchestrator/evaluator.d.ts +34 -0
- package/dist/orchestrator/evaluator.d.ts.map +1 -0
- package/dist/orchestrator/evaluator.js +335 -0
- package/dist/orchestrator/evaluator.js.map +1 -0
- package/dist/orchestrator/index.d.ts +9 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +9 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/integration-evaluator.d.ts +59 -0
- package/dist/orchestrator/integration-evaluator.d.ts.map +1 -0
- package/dist/orchestrator/integration-evaluator.js +405 -0
- package/dist/orchestrator/integration-evaluator.js.map +1 -0
- package/dist/orchestrator/milestone-manager.d.ts +28 -0
- package/dist/orchestrator/milestone-manager.d.ts.map +1 -0
- package/dist/orchestrator/milestone-manager.js +208 -0
- package/dist/orchestrator/milestone-manager.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts +35 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.js +338 -0
- package/dist/orchestrator/orchestrator.js.map +1 -0
- package/dist/orchestrator/planner.d.ts +15 -0
- package/dist/orchestrator/planner.d.ts.map +1 -0
- package/dist/orchestrator/planner.js +87 -0
- package/dist/orchestrator/planner.js.map +1 -0
- package/dist/orchestrator/recovery.d.ts +45 -0
- package/dist/orchestrator/recovery.d.ts.map +1 -0
- package/dist/orchestrator/recovery.js +98 -0
- package/dist/orchestrator/recovery.js.map +1 -0
- package/dist/run-calculator-test.d.ts +11 -0
- package/dist/run-calculator-test.d.ts.map +1 -0
- package/dist/run-calculator-test.js +212 -0
- package/dist/run-calculator-test.js.map +1 -0
- package/dist/run-real-task.d.ts +14 -0
- package/dist/run-real-task.d.ts.map +1 -0
- package/dist/run-real-task.js +185 -0
- package/dist/run-real-task.js.map +1 -0
- package/dist/run-todo-test.d.ts +6 -0
- package/dist/run-todo-test.d.ts.map +1 -0
- package/dist/run-todo-test.js +149 -0
- package/dist/run-todo-test.js.map +1 -0
- package/dist/todo/index.d.ts +2 -0
- package/dist/todo/index.d.ts.map +1 -0
- package/dist/todo/index.js +2 -0
- package/dist/todo/index.js.map +1 -0
- package/dist/todo/server.d.ts +2 -0
- package/dist/todo/server.d.ts.map +1 -0
- package/dist/todo/server.js +32 -0
- package/dist/todo/server.js.map +1 -0
- package/dist/types/index.d.ts +412 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +100 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brief Collector — İnteraktif CLI ile SCOPE / ANTI-SCOPE Toplama
|
|
3
|
+
*
|
|
4
|
+
* Kullanıcıdan yapılandırılmış sorularla brief toplar
|
|
5
|
+
* ve MISSION.md'ye SCOPE / ANTI-SCOPE / SUCCESS CRITERIA yazar.
|
|
6
|
+
*
|
|
7
|
+
* Tasarım ilkesi #5: Human-Readable — tüm state markdown
|
|
8
|
+
* Tasarım ilkesi #2: Fail-Safe — şüphe durumunda insana sor
|
|
9
|
+
*/
|
|
10
|
+
import type { Brief, BriefScope, BriefAntiScope, StackType } from '../types/index.js';
|
|
11
|
+
export declare class BriefCollector {
|
|
12
|
+
private rl;
|
|
13
|
+
/**
|
|
14
|
+
* Interaktif CLI sorularıyla brief topla
|
|
15
|
+
*/
|
|
16
|
+
collect(): Promise<Brief>;
|
|
17
|
+
/**
|
|
18
|
+
* Programmatic brief oluşturma (test / CI için)
|
|
19
|
+
*/
|
|
20
|
+
static create(scope: BriefScope, antiScope: BriefAntiScope): Brief;
|
|
21
|
+
/**
|
|
22
|
+
* Brief'i MISSION.md'ye yaz.
|
|
23
|
+
* Mevcut dosyanın sonuna SCOPE / ANTI-SCOPE ekler veya günceller.
|
|
24
|
+
*/
|
|
25
|
+
writeMission(brief: Brief, missionPath: string): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* MISSION.md'den anti-scope bilgisini parse et
|
|
28
|
+
*/
|
|
29
|
+
static parseAntiScope(missionContent: string): BriefAntiScope;
|
|
30
|
+
/**
|
|
31
|
+
* MISSION.md'den stack tipini parse et
|
|
32
|
+
*/
|
|
33
|
+
static parseStackType(missionContent: string): StackType | null;
|
|
34
|
+
private collectScope;
|
|
35
|
+
private collectAntiScope;
|
|
36
|
+
private renderBrief;
|
|
37
|
+
private stackLabel;
|
|
38
|
+
private stripBriefSections;
|
|
39
|
+
private ask;
|
|
40
|
+
private askMultiline;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=brief-collector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-collector.d.ts","sourceRoot":"","sources":["../../src/brief/brief-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUtF,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAmD;IAE7D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;IAyB/B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,KAAK;IAQlE;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,cAAc;IAmB7D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;YAiBjD,YAAY;YAuBZ,gBAAgB;IAoB9B,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,GAAG;YAMG,YAAY;CAS3B"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brief Collector — İnteraktif CLI ile SCOPE / ANTI-SCOPE Toplama
|
|
3
|
+
*
|
|
4
|
+
* Kullanıcıdan yapılandırılmış sorularla brief toplar
|
|
5
|
+
* ve MISSION.md'ye SCOPE / ANTI-SCOPE / SUCCESS CRITERIA yazar.
|
|
6
|
+
*
|
|
7
|
+
* Tasarım ilkesi #5: Human-Readable — tüm state markdown
|
|
8
|
+
* Tasarım ilkesi #2: Fail-Safe — şüphe durumunda insana sor
|
|
9
|
+
*/
|
|
10
|
+
import { createInterface } from 'node:readline';
|
|
11
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
12
|
+
const STACK_OPTIONS = {
|
|
13
|
+
'1': 'typescript-node',
|
|
14
|
+
'2': 'react',
|
|
15
|
+
'3': 'python',
|
|
16
|
+
'4': 'go',
|
|
17
|
+
'5': 'other',
|
|
18
|
+
};
|
|
19
|
+
export class BriefCollector {
|
|
20
|
+
rl = null;
|
|
21
|
+
/**
|
|
22
|
+
* Interaktif CLI sorularıyla brief topla
|
|
23
|
+
*/
|
|
24
|
+
async collect() {
|
|
25
|
+
this.rl = createInterface({
|
|
26
|
+
input: process.stdin,
|
|
27
|
+
output: process.stdout,
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
console.log('\n╔══════════════════════════════════════════════╗');
|
|
31
|
+
console.log('║ PROJECT CONSCIOUSNESS — Brief ║');
|
|
32
|
+
console.log('╚══════════════════════════════════════════════╝\n');
|
|
33
|
+
const scope = await this.collectScope();
|
|
34
|
+
const antiScope = await this.collectAntiScope();
|
|
35
|
+
return {
|
|
36
|
+
scope,
|
|
37
|
+
antiScope,
|
|
38
|
+
collectedAt: new Date().toISOString(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
this.rl.close();
|
|
43
|
+
this.rl = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Programmatic brief oluşturma (test / CI için)
|
|
48
|
+
*/
|
|
49
|
+
static create(scope, antiScope) {
|
|
50
|
+
return {
|
|
51
|
+
scope,
|
|
52
|
+
antiScope,
|
|
53
|
+
collectedAt: new Date().toISOString(),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Brief'i MISSION.md'ye yaz.
|
|
58
|
+
* Mevcut dosyanın sonuna SCOPE / ANTI-SCOPE ekler veya günceller.
|
|
59
|
+
*/
|
|
60
|
+
async writeMission(brief, missionPath) {
|
|
61
|
+
let content;
|
|
62
|
+
try {
|
|
63
|
+
content = await readFile(missionPath, 'utf-8');
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
content = '# MISSION\n';
|
|
67
|
+
}
|
|
68
|
+
// Mevcut SCOPE/ANTI-SCOPE bölümlerini kaldır
|
|
69
|
+
content = this.stripBriefSections(content);
|
|
70
|
+
// Yeni bölümleri ekle
|
|
71
|
+
const briefSection = this.renderBrief(brief);
|
|
72
|
+
const updated = content.trimEnd() + '\n\n' + briefSection + '\n';
|
|
73
|
+
await writeFile(missionPath, updated, 'utf-8');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* MISSION.md'den anti-scope bilgisini parse et
|
|
77
|
+
*/
|
|
78
|
+
static parseAntiScope(missionContent) {
|
|
79
|
+
const antiScope = {
|
|
80
|
+
protectedFiles: [],
|
|
81
|
+
lockedDecisions: [],
|
|
82
|
+
forbiddenDeps: [],
|
|
83
|
+
breakingChanges: [],
|
|
84
|
+
};
|
|
85
|
+
const section = extractSection(missionContent, '## ANTI-SCOPE');
|
|
86
|
+
if (!section)
|
|
87
|
+
return antiScope;
|
|
88
|
+
antiScope.protectedFiles = extractListItems(section, 'Dokunulmaz dosyalar');
|
|
89
|
+
antiScope.lockedDecisions = extractListItems(section, 'Kilitli kararlar');
|
|
90
|
+
antiScope.forbiddenDeps = extractListItems(section, 'Yasaklı bağımlılıklar');
|
|
91
|
+
antiScope.breakingChanges = extractListItems(section, 'Kabul edilemez kırılmalar');
|
|
92
|
+
return antiScope;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* MISSION.md'den stack tipini parse et
|
|
96
|
+
*/
|
|
97
|
+
static parseStackType(missionContent) {
|
|
98
|
+
const section = extractSection(missionContent, '## SCOPE');
|
|
99
|
+
if (!section)
|
|
100
|
+
return null;
|
|
101
|
+
const stackLine = section.match(/\*\*Stack\*\*:\s*(.+)/i);
|
|
102
|
+
if (!stackLine)
|
|
103
|
+
return null;
|
|
104
|
+
const raw = stackLine[1].toLowerCase();
|
|
105
|
+
if (raw.includes('react'))
|
|
106
|
+
return 'react';
|
|
107
|
+
if (raw.includes('typescript') || raw.includes('node'))
|
|
108
|
+
return 'typescript-node';
|
|
109
|
+
if (raw.includes('python'))
|
|
110
|
+
return 'python';
|
|
111
|
+
if (raw.includes('go'))
|
|
112
|
+
return 'go';
|
|
113
|
+
return 'other';
|
|
114
|
+
}
|
|
115
|
+
// ── SCOPE Collection ────────────────────────────────────
|
|
116
|
+
async collectScope() {
|
|
117
|
+
console.log('━━━ SCOPE — Ne İnşa Ediyoruz? ━━━\n');
|
|
118
|
+
const whatToBuild = await this.ask('📋 Ne inşa edilecek? (Projeyi bir paragrafta anlat)\n> ');
|
|
119
|
+
console.log('\n📦 Hangi stack?\n 1. TypeScript/Node.js\n 2. React\n 3. Python\n 4. Go\n 5. Diğer');
|
|
120
|
+
const stackChoice = await this.ask('> ');
|
|
121
|
+
const stack = STACK_OPTIONS[stackChoice.trim()] ?? 'other';
|
|
122
|
+
let stackDetails;
|
|
123
|
+
if (stack === 'other') {
|
|
124
|
+
stackDetails = await this.ask(' Hangi teknoloji? > ');
|
|
125
|
+
}
|
|
126
|
+
console.log('\n🎯 Başarı nasıl görünür? (Her kriteri yeni satırda yaz, boş satır bitir)');
|
|
127
|
+
const successCriteria = await this.askMultiline('> ');
|
|
128
|
+
return { whatToBuild, stack, stackDetails, successCriteria };
|
|
129
|
+
}
|
|
130
|
+
// ── ANTI-SCOPE Collection ───────────────────────────────
|
|
131
|
+
async collectAntiScope() {
|
|
132
|
+
console.log('\n━━━ ANTI-SCOPE — Neye Dokunulmasın? ━━━\n');
|
|
133
|
+
console.log('🔒 Hangi dosyalara kesinlikle dokunulmasın? (her satıra bir dosya, boş satır bitir)');
|
|
134
|
+
const protectedFiles = await this.askMultiline('> ');
|
|
135
|
+
console.log('\n🔐 Hangi kararlar kilitli? Değiştirilmesin? (boş satır bitir)');
|
|
136
|
+
const lockedDecisions = await this.askMultiline('> ');
|
|
137
|
+
console.log('\n🚫 Hangi kütüphaneler/yaklaşımlar yasaklı? (boş satır bitir)');
|
|
138
|
+
const forbiddenDeps = await this.askMultiline('> ');
|
|
139
|
+
console.log('\n💥 Ne kırılırsa kabul edilemez? (boş satır bitir)');
|
|
140
|
+
const breakingChanges = await this.askMultiline('> ');
|
|
141
|
+
return { protectedFiles, lockedDecisions, forbiddenDeps, breakingChanges };
|
|
142
|
+
}
|
|
143
|
+
// ── Render ──────────────────────────────────────────────
|
|
144
|
+
renderBrief(brief) {
|
|
145
|
+
const { scope, antiScope } = brief;
|
|
146
|
+
const stackLabel = this.stackLabel(scope.stack, scope.stackDetails);
|
|
147
|
+
let md = `## SCOPE
|
|
148
|
+
|
|
149
|
+
**Ne inşa ediyoruz**: ${scope.whatToBuild}
|
|
150
|
+
|
|
151
|
+
**Stack**: ${stackLabel}
|
|
152
|
+
|
|
153
|
+
**Başarı Kriterleri**:
|
|
154
|
+
${scope.successCriteria.map(c => `- ${c}`).join('\n')}
|
|
155
|
+
|
|
156
|
+
## ANTI-SCOPE
|
|
157
|
+
|
|
158
|
+
**Dokunulmaz dosyalar**:
|
|
159
|
+
${antiScope.protectedFiles.length > 0 ? antiScope.protectedFiles.map(f => `- \`${f}\``).join('\n') : '- _(yok)_'}
|
|
160
|
+
|
|
161
|
+
**Kilitli kararlar**:
|
|
162
|
+
${antiScope.lockedDecisions.length > 0 ? antiScope.lockedDecisions.map(d => `- ${d}`).join('\n') : '- _(yok)_'}
|
|
163
|
+
|
|
164
|
+
**Yasaklı bağımlılıklar**:
|
|
165
|
+
${antiScope.forbiddenDeps.length > 0 ? antiScope.forbiddenDeps.map(d => `- \`${d}\``).join('\n') : '- _(yok)_'}
|
|
166
|
+
|
|
167
|
+
**Kabul edilemez kırılmalar**:
|
|
168
|
+
${antiScope.breakingChanges.length > 0 ? antiScope.breakingChanges.map(b => `- ${b}`).join('\n') : '- _(yok)_'}
|
|
169
|
+
|
|
170
|
+
## SUCCESS CRITERIA
|
|
171
|
+
|
|
172
|
+
${scope.successCriteria.map((c, i) => `${i + 1}. ${c}`).join('\n')}
|
|
173
|
+
|
|
174
|
+
> Brief toplama tarihi: ${brief.collectedAt}`;
|
|
175
|
+
return md;
|
|
176
|
+
}
|
|
177
|
+
stackLabel(stack, details) {
|
|
178
|
+
switch (stack) {
|
|
179
|
+
case 'typescript-node': return 'TypeScript + Node.js';
|
|
180
|
+
case 'react': return 'React (TypeScript)';
|
|
181
|
+
case 'python': return 'Python';
|
|
182
|
+
case 'go': return 'Go';
|
|
183
|
+
case 'other': return details ?? 'Diğer';
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
stripBriefSections(content) {
|
|
187
|
+
// ## SCOPE, ## ANTI-SCOPE, ## SUCCESS CRITERIA bölümlerini kaldır
|
|
188
|
+
return content
|
|
189
|
+
.replace(/\n## SCOPE[\s\S]*?(?=\n## [A-Z]|$)/, '')
|
|
190
|
+
.replace(/\n## ANTI-SCOPE[\s\S]*?(?=\n## [A-Z]|$)/, '')
|
|
191
|
+
.replace(/\n## SUCCESS CRITERIA[\s\S]*?(?=\n## [A-Z]|$)/, '');
|
|
192
|
+
}
|
|
193
|
+
// ── Readline Helpers ────────────────────────────────────
|
|
194
|
+
ask(prompt) {
|
|
195
|
+
return new Promise((resolve) => {
|
|
196
|
+
this.rl.question(prompt, (answer) => resolve(answer.trim()));
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async askMultiline(prompt) {
|
|
200
|
+
const lines = [];
|
|
201
|
+
while (true) {
|
|
202
|
+
const line = await this.ask(prompt);
|
|
203
|
+
if (line === '')
|
|
204
|
+
break;
|
|
205
|
+
lines.push(line);
|
|
206
|
+
}
|
|
207
|
+
return lines;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// ── Module-level Helpers ────────────────────────────────────
|
|
211
|
+
function extractSection(content, heading) {
|
|
212
|
+
const escaped = heading.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
213
|
+
const regex = new RegExp(`${escaped}\\s*\\n([\\s\\S]*?)(?=\\n## |$)`);
|
|
214
|
+
const match = content.match(regex);
|
|
215
|
+
return match?.[1]?.trim() ?? null;
|
|
216
|
+
}
|
|
217
|
+
function extractListItems(section, label) {
|
|
218
|
+
const escaped = label.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
219
|
+
const regex = new RegExp(`\\*\\*${escaped}\\*\\*:\\s*\\n([\\s\\S]*?)(?=\\n\\*\\*|$)`);
|
|
220
|
+
const match = section.match(regex);
|
|
221
|
+
if (!match?.[1])
|
|
222
|
+
return [];
|
|
223
|
+
return match[1]
|
|
224
|
+
.split('\n')
|
|
225
|
+
.filter(l => l.startsWith('- ') && !l.includes('_(yok)_'))
|
|
226
|
+
.map(l => l.replace(/^- `?/, '').replace(/`?$/, '').trim());
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=brief-collector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-collector.js","sourceRoot":"","sources":["../../src/brief/brief-collector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/brief/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/brief/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart Brief — Tek Soru → Analiz → Ürün Soruları → Otomatik Kararlar
|
|
3
|
+
*
|
|
4
|
+
* 5 adımlı akış:
|
|
5
|
+
* 1. "Ne yapmak istiyorsun?" — serbest metin
|
|
6
|
+
* 2. Brief analizi — teknik kararları otomatik al, belirsizlikleri tespit et
|
|
7
|
+
* 3. Sadece belirsiz ürün soruları sor (max 3-4, hepsi opsiyonel)
|
|
8
|
+
* 4. Anti-scope otomatik çıkar
|
|
9
|
+
* 5. Özet göster, onay al
|
|
10
|
+
*
|
|
11
|
+
* D012: SCOPE / ANTI-SCOPE yapısı (backward compatible)
|
|
12
|
+
* D020: ArchitectAgent kararları (artık otomatik)
|
|
13
|
+
*/
|
|
14
|
+
import type { SmartBriefResult, BriefAnalysis, ClarificationQuestion, ClarificationAnswer, ArchitectureDecisions, BriefAntiScope } from '../types/index.js';
|
|
15
|
+
export declare class SmartBrief {
|
|
16
|
+
private _askFn;
|
|
17
|
+
/** Test injection */
|
|
18
|
+
setAskFn(fn: (prompt: string) => Promise<string>): void;
|
|
19
|
+
/**
|
|
20
|
+
* ADIM 1: Kullanıcıdan serbest metin al
|
|
21
|
+
*/
|
|
22
|
+
askBrief(askFn?: (prompt: string) => Promise<string>): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* ADIM 2: Brief'i analiz et — teknik kararları otomatik al, belirsizlikleri bul
|
|
25
|
+
*/
|
|
26
|
+
analyzeBrief(rawInput: string): BriefAnalysis;
|
|
27
|
+
/**
|
|
28
|
+
* ADIM 3: Sadece belirsiz ürün soruları sor (opsiyonel — enter ile geç)
|
|
29
|
+
*/
|
|
30
|
+
askClarifications(questions: ClarificationQuestion[], askFn?: (prompt: string) => Promise<string>): Promise<ClarificationAnswer[]>;
|
|
31
|
+
/**
|
|
32
|
+
* ADIM 4: Anti-scope otomatik çıkar
|
|
33
|
+
*/
|
|
34
|
+
buildAntiScope(rawInput: string, analysis: BriefAnalysis, answers: ClarificationAnswer[]): BriefAntiScope;
|
|
35
|
+
/**
|
|
36
|
+
* ADIM 5: Özet oluştur (onay için)
|
|
37
|
+
*/
|
|
38
|
+
buildSummary(decisions: ArchitectureDecisions, antiScope: BriefAntiScope, criteria: string[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Tam akış: 5 adım birden — interaktif veya programmatic
|
|
41
|
+
*/
|
|
42
|
+
run(askFn?: (prompt: string) => Promise<string>): Promise<SmartBriefResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Programmatic — test / CI için (soru sormadan analiz + karar)
|
|
45
|
+
*/
|
|
46
|
+
runNonInteractive(rawInput: string, answers?: ClarificationAnswer[]): SmartBriefResult;
|
|
47
|
+
/** Analysis'ten ArchitectureDecisions oluştur */
|
|
48
|
+
private buildDecisions;
|
|
49
|
+
/** Brief'ten başarı kriterlerini çıkar */
|
|
50
|
+
private inferCriteria;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=smart-brief.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-brief.d.ts","sourceRoot":"","sources":["../../src/brief/smart-brief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EAOrB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAqI3B,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAsD;IAEpE,qBAAqB;IACrB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5E;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IA8E7C;;OAEG;IACG,iBAAiB,CACrB,SAAS,EAAE,qBAAqB,EAAE,EAClC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC1C,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgCjC;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,cAAc;IAmDjB;;OAEG;IACH,YAAY,CACV,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM;IAyCT;;OAEG;IACG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqCjF;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAmB,EAAO,GAAG,gBAAgB;IA8B1F,iDAAiD;IACjD,OAAO,CAAC,cAAc;IA+BtB,0CAA0C;IAC1C,OAAO,CAAC,aAAa;CA6BtB"}
|