feat(kanban): add feature summary display and agent context info

Enhance Kanban cards to show comprehensive feature information:
- Add feature summary field to display completed work details
- Show agent context info (model, progress, tasks) on cards
- Display tool usage and token consumption metrics
- Add expandable summary dialog for detailed view
- Update prompts to require summary when marking features complete
- Improve UI for waiting_approval and verified states

Modified: kanban-card.tsx, board-view.tsx, feature-loader.js,
mcp-server-factory.js, prompt-builder.js, app-store.ts
Created: agent-context-parser.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
This commit is contained in:
Kacper
2025-12-09 23:25:27 +01:00
parent 5ff7e3791a
commit ef0519adf9
8 changed files with 597 additions and 33 deletions

View File

@@ -32,8 +32,12 @@ class FeatureLoader {
/**
* Update feature status in .automaker/feature_list.json
* @param {string} featureId - The ID of the feature to update
* @param {string} status - The new status
* @param {string} projectPath - Path to the project
* @param {string} [summary] - Optional summary of what was done
*/
async updateFeatureStatus(featureId, status, projectPath) {
async updateFeatureStatus(featureId, status, projectPath, summary) {
const features = await this.loadFeatures(projectPath);
const feature = features.find((f) => f.id === featureId);
@@ -45,6 +49,11 @@ class FeatureLoader {
// Update the status field
feature.status = status;
// Update the summary field if provided
if (summary) {
feature.summary = summary;
}
// Save back to file
const featuresPath = path.join(
projectPath,
@@ -72,11 +81,14 @@ class FeatureLoader {
if (f.startedAt !== undefined) {
featureData.startedAt = f.startedAt;
}
if (f.summary !== undefined) {
featureData.summary = f.summary;
}
return featureData;
});
await fs.writeFile(featuresPath, JSON.stringify(toSave, null, 2), "utf-8");
console.log(`[FeatureLoader] Updated feature ${featureId}: status=${status}`);
console.log(`[FeatureLoader] Updated feature ${featureId}: status=${status}${summary ? `, summary="${summary}"` : ""}`);
}
/**