@ceyhunbilir/synaphex 1.0.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/README.md +132 -0
- package/dist/commands/configure.d.ts +2 -0
- package/dist/commands/configure.d.ts.map +1 -0
- package/dist/commands/configure.js +15 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +19 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list-outputs.d.ts +2 -0
- package/dist/commands/list-outputs.d.ts.map +1 -0
- package/dist/commands/list-outputs.js +28 -0
- package/dist/commands/list-outputs.js.map +1 -0
- package/dist/commands/load-config.d.ts +2 -0
- package/dist/commands/load-config.d.ts.map +1 -0
- package/dist/commands/load-config.js +132 -0
- package/dist/commands/load-config.js.map +1 -0
- package/dist/commands/load-memory.d.ts +2 -0
- package/dist/commands/load-memory.d.ts.map +1 -0
- package/dist/commands/load-memory.js +21 -0
- package/dist/commands/load-memory.js.map +1 -0
- package/dist/commands/save-output.d.ts +2 -0
- package/dist/commands/save-output.d.ts.map +1 -0
- package/dist/commands/save-output.js +38 -0
- package/dist/commands/save-output.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/auth.d.ts +10 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +54 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/memory.d.ts +3 -0
- package/dist/lib/memory.d.ts.map +1 -0
- package/dist/lib/memory.js +40 -0
- package/dist/lib/memory.js.map +1 -0
- package/dist/lib/output.d.ts +4 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +78 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/paths.d.ts +11 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +21 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/project.d.ts +2 -0
- package/dist/lib/project.d.ts.map +1 -0
- package/dist/lib/project.js +109 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/settings.d.ts +2 -0
- package/dist/lib/settings.d.ts.map +1 -0
- package/dist/lib/settings.js +531 -0
- package/dist/lib/settings.js.map +1 -0
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +50 -0
- package/scripts/postinstall.js +43 -0
- package/skills/fix.md +210 -0
- package/skills/init.md +69 -0
- package/skills/query.md +217 -0
- package/skills/settings.md +43 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMemoryIndex = exports.loadMemory = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const paths_1 = require("./paths");
|
|
10
|
+
async function loadMemory(projectName) {
|
|
11
|
+
const memoryDir = paths_1.Paths.memory(projectName);
|
|
12
|
+
if (!await fs_extra_1.default.pathExists(memoryDir)) {
|
|
13
|
+
return '# No project memory found\n';
|
|
14
|
+
}
|
|
15
|
+
// Read all .md files in memory directory
|
|
16
|
+
const files = await fs_extra_1.default.readdir(memoryDir);
|
|
17
|
+
const mdFiles = files
|
|
18
|
+
.filter((f) => f.endsWith('.md') && f !== 'MEMORY.md')
|
|
19
|
+
.sort();
|
|
20
|
+
if (mdFiles.length === 0) {
|
|
21
|
+
return '# No memory entries found\n';
|
|
22
|
+
}
|
|
23
|
+
let combinedContent = '# Project Memory\n\n';
|
|
24
|
+
for (const file of mdFiles) {
|
|
25
|
+
const filePath = path_1.default.join(memoryDir, file);
|
|
26
|
+
const content = await fs_extra_1.default.readFile(filePath, 'utf-8');
|
|
27
|
+
combinedContent += `## ${file}\n\n${content}\n\n---\n\n`;
|
|
28
|
+
}
|
|
29
|
+
return combinedContent;
|
|
30
|
+
}
|
|
31
|
+
exports.loadMemory = loadMemory;
|
|
32
|
+
async function getMemoryIndex(projectName) {
|
|
33
|
+
const indexPath = paths_1.Paths.memoryIndex(projectName);
|
|
34
|
+
if (!await fs_extra_1.default.pathExists(indexPath)) {
|
|
35
|
+
return '# Memory Index Not Found\n';
|
|
36
|
+
}
|
|
37
|
+
return fs_extra_1.default.readFile(indexPath, 'utf-8');
|
|
38
|
+
}
|
|
39
|
+
exports.getMemoryIndex = getMemoryIndex;
|
|
40
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/lib/memory.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,mCAAgC;AAEzB,KAAK,UAAU,UAAU,CAAC,WAAmB;IAClD,MAAM,SAAS,GAAG,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACnC,OAAO,6BAA6B,CAAC;KACtC;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC;SACrD,IAAI,EAAE,CAAC;IAEV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,6BAA6B,CAAC;KACtC;IAED,IAAI,eAAe,GAAG,sBAAsB,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;QAC1B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,eAAe,IAAI,MAAM,IAAI,OAAO,OAAO,aAAa,CAAC;KAC1D;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AA1BD,gCA0BC;AAEM,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,MAAM,SAAS,GAAG,aAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACnC,OAAO,4BAA4B,CAAC;KACrC;IAED,OAAO,kBAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AARD,wCAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAmD1C,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7F;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYxE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listOutputs = exports.saveOutput = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const crypto_1 = require("crypto");
|
|
10
|
+
const paths_1 = require("./paths");
|
|
11
|
+
function generateRunId() {
|
|
12
|
+
const now = new Date();
|
|
13
|
+
const timestamp = now
|
|
14
|
+
.toISOString()
|
|
15
|
+
.replace(/[-:]/g, '')
|
|
16
|
+
.replace(/\.\d{3}/, '');
|
|
17
|
+
const randomPart = (0, crypto_1.randomBytes)(4).toString('hex');
|
|
18
|
+
return `${timestamp.slice(0, 15)}_${randomPart}`;
|
|
19
|
+
}
|
|
20
|
+
function formatMarkdownOutput(output) {
|
|
21
|
+
const { command, task, skip_researcher, timestamp, stages } = output;
|
|
22
|
+
let markdown = `# Synaphex ${command.toUpperCase()} Pipeline Output
|
|
23
|
+
|
|
24
|
+
**Run ID**: ${output.run_id}
|
|
25
|
+
**Timestamp**: ${timestamp}
|
|
26
|
+
**Task**: ${task}
|
|
27
|
+
**Skip Researcher**: ${skip_researcher ? 'Yes' : 'No'}
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
`;
|
|
32
|
+
if (stages.examiner) {
|
|
33
|
+
markdown += `## Stage 1: Examiner\n\n${stages.examiner}\n\n---\n\n`;
|
|
34
|
+
}
|
|
35
|
+
if (stages.researcher && !skip_researcher) {
|
|
36
|
+
markdown += `## Stage 2: Researcher\n\n${stages.researcher}\n\n---\n\n`;
|
|
37
|
+
}
|
|
38
|
+
if (stages.coder) {
|
|
39
|
+
markdown += `## Stage ${skip_researcher ? '2' : '3'}: Coder\n\n${stages.coder}\n\n---\n\n`;
|
|
40
|
+
}
|
|
41
|
+
if (stages.questioner) {
|
|
42
|
+
markdown += `## Stage ${skip_researcher ? '3' : '4'}: Questioner\n\n${stages.questioner}\n\n---\n\n`;
|
|
43
|
+
}
|
|
44
|
+
if (stages.reviewer) {
|
|
45
|
+
markdown += `## Stage ${skip_researcher ? '4' : '5'}: Reviewer\n\n${stages.reviewer}\n\n---\n\n`;
|
|
46
|
+
}
|
|
47
|
+
markdown += `Generated by Synaphex on ${new Date().toLocaleString()}`;
|
|
48
|
+
return markdown;
|
|
49
|
+
}
|
|
50
|
+
async function saveOutput(projectName, output) {
|
|
51
|
+
const outputsDir = paths_1.Paths.outputs(projectName);
|
|
52
|
+
await fs_extra_1.default.ensureDir(outputsDir);
|
|
53
|
+
const runId = generateRunId();
|
|
54
|
+
const outputWithId = { ...output, run_id: runId };
|
|
55
|
+
// Save JSON
|
|
56
|
+
const jsonPath = path_1.default.join(outputsDir, `run_${runId}.json`);
|
|
57
|
+
await fs_extra_1.default.writeJSON(jsonPath, outputWithId, { spaces: 2 });
|
|
58
|
+
// Save Markdown
|
|
59
|
+
const mdContent = formatMarkdownOutput(outputWithId);
|
|
60
|
+
const mdPath = path_1.default.join(outputsDir, `run_${runId}.md`);
|
|
61
|
+
await fs_extra_1.default.writeFile(mdPath, mdContent, 'utf-8');
|
|
62
|
+
console.log(`✓ Output saved: ${jsonPath}`);
|
|
63
|
+
return runId;
|
|
64
|
+
}
|
|
65
|
+
exports.saveOutput = saveOutput;
|
|
66
|
+
async function listOutputs(projectName) {
|
|
67
|
+
const outputsDir = paths_1.Paths.outputs(projectName);
|
|
68
|
+
if (!await fs_extra_1.default.pathExists(outputsDir)) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
const files = await fs_extra_1.default.readdir(outputsDir);
|
|
72
|
+
return files
|
|
73
|
+
.filter((f) => f.endsWith('.json'))
|
|
74
|
+
.sort()
|
|
75
|
+
.reverse();
|
|
76
|
+
}
|
|
77
|
+
exports.listOutputs = listOutputs;
|
|
78
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const Paths: {
|
|
2
|
+
claudeHome: string;
|
|
3
|
+
commandsDir: string;
|
|
4
|
+
projectsDir: string;
|
|
5
|
+
project: (name: string) => string;
|
|
6
|
+
memory: (name: string) => string;
|
|
7
|
+
memoryIndex: (name: string) => string;
|
|
8
|
+
config: (name: string) => string;
|
|
9
|
+
outputs: (name: string) => string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;oBAKA,MAAM,KAAG,MAAM;mBAChB,MAAM,KAAG,MAAM;wBACV,MAAM,KAAG,MAAM;mBACpB,MAAM,KAAG,MAAM;oBACd,MAAM,KAAG,MAAM;CAChC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Paths = void 0;
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const CLAUDE_HOME = path_1.default.join(os_1.default.homedir(), '.claude');
|
|
10
|
+
const PROJECTS_DIR = path_1.default.join(CLAUDE_HOME, 'projects');
|
|
11
|
+
exports.Paths = {
|
|
12
|
+
claudeHome: CLAUDE_HOME,
|
|
13
|
+
commandsDir: path_1.default.join(CLAUDE_HOME, 'commands', 'synaphex'),
|
|
14
|
+
projectsDir: PROJECTS_DIR,
|
|
15
|
+
project: (name) => path_1.default.join(PROJECTS_DIR, name),
|
|
16
|
+
memory: (name) => path_1.default.join(PROJECTS_DIR, name, 'memory'),
|
|
17
|
+
memoryIndex: (name) => path_1.default.join(PROJECTS_DIR, name, 'memory', 'MEMORY.md'),
|
|
18
|
+
config: (name) => path_1.default.join(PROJECTS_DIR, name, 'config.md'),
|
|
19
|
+
outputs: (name) => path_1.default.join(PROJECTS_DIR, name, 'outputs'),
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAE3C,QAAA,KAAK,GAAG;IACnB,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;IAC3D,WAAW,EAAE,YAAY;IAEzB,OAAO,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;IAChE,MAAM,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC;IACzE,WAAW,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;IAC3F,MAAM,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC;IAC5E,OAAO,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC;CAC5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/lib/project.ts"],"names":[],"mappings":"AAIA,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyG1E"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initializeProject = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const paths_1 = require("./paths");
|
|
10
|
+
async function initializeProject(projectName) {
|
|
11
|
+
const projectPath = paths_1.Paths.project(projectName);
|
|
12
|
+
const memoryPath = paths_1.Paths.memory(projectName);
|
|
13
|
+
const outputsPath = paths_1.Paths.outputs(projectName);
|
|
14
|
+
const configPath = paths_1.Paths.config(projectName);
|
|
15
|
+
const memoryIndexPath = paths_1.Paths.memoryIndex(projectName);
|
|
16
|
+
// Create directories
|
|
17
|
+
await fs_extra_1.default.ensureDir(memoryPath);
|
|
18
|
+
await fs_extra_1.default.ensureDir(outputsPath);
|
|
19
|
+
// Create config.md with YAML front-matter
|
|
20
|
+
const now = new Date().toISOString();
|
|
21
|
+
const configContent = `---
|
|
22
|
+
project: ${projectName}
|
|
23
|
+
created_at: ${now}
|
|
24
|
+
agents:
|
|
25
|
+
examiner:
|
|
26
|
+
provider: claude
|
|
27
|
+
model: claude-opus-4-5
|
|
28
|
+
auth_mode: api_key
|
|
29
|
+
focus: ""
|
|
30
|
+
depth: standard
|
|
31
|
+
custom_instructions: ""
|
|
32
|
+
researcher:
|
|
33
|
+
provider: claude
|
|
34
|
+
model: claude-opus-4-5
|
|
35
|
+
auth_mode: api_key
|
|
36
|
+
focus: ""
|
|
37
|
+
depth: standard
|
|
38
|
+
custom_instructions: ""
|
|
39
|
+
coder:
|
|
40
|
+
provider: claude
|
|
41
|
+
model: claude-opus-4-5
|
|
42
|
+
auth_mode: api_key
|
|
43
|
+
focus: ""
|
|
44
|
+
depth: standard
|
|
45
|
+
custom_instructions: ""
|
|
46
|
+
questioner:
|
|
47
|
+
provider: claude
|
|
48
|
+
model: claude-opus-4-5
|
|
49
|
+
auth_mode: api_key
|
|
50
|
+
focus: ""
|
|
51
|
+
depth: standard
|
|
52
|
+
custom_instructions: ""
|
|
53
|
+
reviewer:
|
|
54
|
+
provider: claude
|
|
55
|
+
model: claude-opus-4-5
|
|
56
|
+
auth_mode: api_key
|
|
57
|
+
focus: ""
|
|
58
|
+
depth: standard
|
|
59
|
+
custom_instructions: ""
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
# Project Configuration
|
|
63
|
+
|
|
64
|
+
Each agent has its own independent LLM configuration. Edit the agents section above to customize provider, model, focus, depth, and instructions per agent.
|
|
65
|
+
|
|
66
|
+
## Supported Providers
|
|
67
|
+
|
|
68
|
+
- **claude** — Anthropic Claude (auth modes: api_key with ANTHROPIC_API_KEY, cli with claude CLI, vscode_extension with Claude Code)
|
|
69
|
+
- **gemini** — Google Gemini (auth mode: api_key with GEMINI_API_KEY)
|
|
70
|
+
- **copilot** — GitHub Copilot (auth mode: cli with gh CLI)
|
|
71
|
+
|
|
72
|
+
Created: ${now}
|
|
73
|
+
`;
|
|
74
|
+
await fs_extra_1.default.writeFile(configPath, configContent, 'utf-8');
|
|
75
|
+
// Create memory/MEMORY.md index
|
|
76
|
+
const memoryIndexContent = `# Project Memory Index: ${projectName}
|
|
77
|
+
|
|
78
|
+
Add memory entries below as the project evolves.
|
|
79
|
+
|
|
80
|
+
## Entries
|
|
81
|
+
|
|
82
|
+
- [Overview](overview.md) — project overview and context
|
|
83
|
+
`;
|
|
84
|
+
await fs_extra_1.default.writeFile(memoryIndexPath, memoryIndexContent, 'utf-8');
|
|
85
|
+
// Create memory/overview.md
|
|
86
|
+
const overviewContent = `---
|
|
87
|
+
name: Project Overview
|
|
88
|
+
description: Initial project overview
|
|
89
|
+
type: project
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
# ${projectName}
|
|
93
|
+
|
|
94
|
+
Project initialized at ${now}.
|
|
95
|
+
|
|
96
|
+
## Quick Links
|
|
97
|
+
|
|
98
|
+
- **Config**: ../config.md
|
|
99
|
+
- **Outputs**: ../outputs/ (pipeline run results)
|
|
100
|
+
`;
|
|
101
|
+
const overviewPath = path_1.default.join(memoryPath, 'overview.md');
|
|
102
|
+
await fs_extra_1.default.writeFile(overviewPath, overviewContent, 'utf-8');
|
|
103
|
+
console.log(`✓ Project initialized: ${projectPath}`);
|
|
104
|
+
console.log(` - Config: ${configPath}`);
|
|
105
|
+
console.log(` - Memory: ${memoryPath}`);
|
|
106
|
+
console.log(` - Outputs: ${outputsPath}`);
|
|
107
|
+
}
|
|
108
|
+
exports.initializeProject = initializeProject;
|
|
109
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/lib/project.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,mCAAgC;AAEzB,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,MAAM,WAAW,GAAG,aAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,aAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,aAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEvD,qBAAqB;IACrB,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEhC,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG;WACb,WAAW;cACR,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiDN,GAAG;CACb,CAAC;IAEA,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEvD,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,2BAA2B,WAAW;;;;;;;CAOlE,CAAC;IAEA,MAAM,kBAAE,CAAC,SAAS,CAAC,eAAe,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEjE,4BAA4B;IAC5B,MAAM,eAAe,GAAG;;;;;;IAMtB,WAAW;;yBAEU,GAAG;;;;;;CAM3B,CAAC;IAEA,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC;AAzGD,8CAyGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAwfA,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6EvE"}
|