feat(migration): implement workspace layout migration and testing
- Added `migrate-layout.ts` to handle migration from old workspace layouts to the new `devclaw/` structure. - Introduced `migrate-layout.test.ts` for comprehensive tests covering various migration scenarios. - Updated `workspace.ts` to ensure default files are created post-migration, including `workflow.yaml` and role-specific prompts. - Refactored role instruction handling to accommodate new directory structure. - Enhanced project registration to scaffold prompt files in the new `devclaw/projects/<project>/prompts/` directory. - Adjusted setup tool descriptions and logic to reflect changes in file structure. - Updated templates to align with the new workflow configuration and role instructions.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
|
||||
import { join, dirname } from "node:path";
|
||||
import { DATA_DIR } from "./setup/migrate-layout.js";
|
||||
|
||||
const MAX_LOG_LINES = 50;
|
||||
|
||||
@@ -13,7 +14,7 @@ export async function log(
|
||||
event: string,
|
||||
data: Record<string, unknown>,
|
||||
): Promise<void> {
|
||||
const filePath = join(workspaceDir, "log", "audit.log");
|
||||
const filePath = join(workspaceDir, DATA_DIR, "log", "audit.log");
|
||||
const entry = JSON.stringify({
|
||||
ts: new Date().toISOString(),
|
||||
event,
|
||||
|
||||
Reference in New Issue
Block a user