feat: Update feature list and add project initialization utilities

- Removed obsolete feature from feature_list.json related to context file deletion.
- Added new features for keyboard shortcuts in Kanban and context management.
- Introduced project initialization utilities to create necessary .automaker directory structure and files when opening a new project.
- Updated the AgentOutputModal and other components to reference the new agents-context directory.
- Enhanced Playwright tests for context file management and project initialization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Cody Seibert
2025-12-09 02:26:32 -05:00
parent 76d37fc714
commit e4b45f53f3
12 changed files with 1095 additions and 50 deletions

View File

@@ -324,7 +324,7 @@ class AutoModeService {
*/
async readContextFile(projectPath, featureId) {
try {
const contextPath = path.join(projectPath, ".automaker", "context", `${featureId}.md`);
const contextPath = path.join(projectPath, ".automaker", "agents-context", `${featureId}.md`);
const content = await fs.readFile(contextPath, "utf-8");
return content;
} catch (error) {
@@ -632,7 +632,7 @@ Begin by assessing what's been done and what remains to be completed.`;
if (!projectPath) return;
try {
const contextDir = path.join(projectPath, ".automaker", "context");
const contextDir = path.join(projectPath, ".automaker", "agents-context");
// Ensure directory exists
try {
@@ -655,6 +655,24 @@ Begin by assessing what's been done and what remains to be completed.`;
}
}
/**
* Delete agent context file for a feature
*/
async deleteContextFile(projectPath, featureId) {
if (!projectPath) return;
try {
const contextPath = path.join(projectPath, ".automaker", "agents-context", `${featureId}.md`);
await fs.unlink(contextPath);
console.log(`[AutoMode] Deleted agent context for feature ${featureId}`);
} catch (error) {
// File might not exist, which is fine
if (error.code !== 'ENOENT') {
console.error("[AutoMode] Failed to delete context file:", error);
}
}
}
/**
* Implement a single feature using Claude Agent SDK
* Uses a Plan-Act-Verify loop with detailed phase logging
@@ -895,6 +913,11 @@ Begin by assessing what's been done and what remains to be completed.`;
await fs.writeFile(featuresPath, JSON.stringify(toSave, null, 2), "utf-8");
console.log(`[AutoMode] Updated feature ${featureId}: status=${status}`);
// Delete agent context file when feature is verified
if (status === "verified") {
await this.deleteContextFile(projectPath, featureId);
}
}
/**