feat: add templates for epics, product brief, and requirements PRD

- Created a new directory structure for epics and stories with templates for individual epics and an index file.
- Added a product brief template for generating product brief documents in Phase 2.
- Introduced a requirements PRD template for generating a Product Requirements Document as a directory of individual requirement files in Phase 3.

feat: implement V2PipelineTab component for Memory V2 management

- Developed the V2PipelineTab component to manage extraction and consolidation processes.
- Included ExtractionCard and ConsolidationCard components to handle respective functionalities.
- Added JobsList component to display job statuses and allow filtering by job kind.

feat: create hooks for Memory V2 pipeline

- Implemented custom hooks for managing extraction and consolidation statuses, as well as job listings.
- Added mutation hooks to trigger extraction and consolidation processes with automatic query invalidation on success.
This commit is contained in:
catlog22
2026-02-27 13:27:27 +08:00
parent 99a3561f71
commit dd72e95e4d
57 changed files with 11018 additions and 1915 deletions

View File

@@ -158,6 +158,50 @@
"session-state-watch": {
"name": "Session State Watch",
"description": "Watch for session metadata file changes (workflow-session.json)"
},
"stop-notify": {
"name": "Stop Notify",
"description": "Notify dashboard when Claude finishes responding"
},
"auto-format-on-write": {
"name": "Auto Format on Write",
"description": "Auto-format files after Claude writes or edits them"
},
"auto-lint-on-write": {
"name": "Auto Lint on Write",
"description": "Auto-lint files after Claude writes or edits them"
},
"block-sensitive-files": {
"name": "Block Sensitive Files",
"description": "Block modifications to sensitive files (.env, secrets, credentials)"
},
"git-auto-stage": {
"name": "Git Auto Stage",
"description": "Auto stage all modified files when Claude finishes responding"
},
"post-edit-index": {
"name": "Post Edit Index",
"description": "Notify indexing service when files are modified"
},
"session-end-summary": {
"name": "Session End Summary",
"description": "Send session summary to dashboard on session end"
},
"project-state-inject": {
"name": "Project State Inject",
"description": "Inject project guidelines and recent dev history at session start"
},
"memory-v2-extract": {
"name": "Memory V2 Extract",
"description": "Trigger Phase 1 extraction when session ends (after idle period)"
},
"memory-v2-auto-consolidate": {
"name": "Memory V2 Auto Consolidate",
"description": "Trigger Phase 2 consolidation after extraction jobs complete"
},
"memory-sync-dashboard": {
"name": "Memory Sync Dashboard",
"description": "Sync memory V2 status to dashboard on changes"
}
},
"actions": {

View File

@@ -109,5 +109,50 @@
"vectorRank": "Vector #{rank}",
"ftsRank": "FTS #{rank}",
"heatScore": "Heat: {score}"
},
"v2": {
"title": "Memory V2 Pipeline",
"extraction": {
"title": "Extraction",
"description": "Extract structured memories from CLI sessions",
"trigger": "Trigger Extraction",
"extracting": "Extracting...",
"extracted": "Extracted",
"recentJobs": "Recent Jobs",
"triggered": "Extraction triggered",
"triggerError": "Failed to trigger extraction"
},
"consolidation": {
"title": "Consolidation",
"description": "Consolidate extraction results into MEMORY.md",
"trigger": "Trigger Consolidation",
"consolidating": "Consolidating...",
"preview": "Preview",
"memoryMd": "MEMORY.md",
"exists": "Exists",
"notExists": "Not Exists",
"inputs": "Inputs",
"triggered": "Consolidation triggered",
"triggerError": "Failed to trigger consolidation"
},
"jobs": {
"title": "Jobs",
"kind": "Kind",
"key": "Key",
"status": "Status",
"error": "Error",
"noJobs": "No jobs found",
"allKinds": "All Kinds",
"extraction": "Extraction",
"consolidation": "Consolidation"
},
"status": {
"idle": "Idle",
"running": "Running",
"completed": "Completed",
"done": "Done",
"error": "Error",
"pending": "Pending"
}
}
}

View File

@@ -213,13 +213,46 @@
"warning": "Approaching Limit",
"normal": "Normal",
"characters": "characters",
"lines": "lines",
"maxLimit": "Max",
"quickPresets": "Quick presets:",
"statsInfo": "Statistics",
"requiredLength": "Required specs length:",
"matchedLength": "Keyword-matched length:",
"remaining": "Remaining space:",
"loadError": "Failed to load stats",
"saveSuccess": "Settings saved successfully",
"saveError": "Failed to save settings"
"saveError": "Failed to save settings",
"filesList": "Injection Files",
"files": "files",
"noFiles": "No files match this command",
"loadingPreview": "Loading preview...",
"commandPreview": "Command Injection Preview",
"commandPreviewDesc": "Preview the content that would be injected by different CLI commands",
"previewTitle": "Injection Preview"
},
"commandPreview": {
"default": {
"label": "All Categories",
"description": "Load all required specs without category filter"
},
"exploration": {
"label": "Exploration",
"description": "Specs for code exploration, analysis, debugging"
},
"planning": {
"label": "Planning",
"description": "Specs for task planning, requirements"
},
"execution": {
"label": "Execution",
"description": "Specs for implementation, testing, deployment"
},
"general": {
"label": "General",
"description": "Specs that apply to all stages"
}
},
"settings": {
@@ -231,9 +264,27 @@
"defaultReadModeHelp": "The default read mode for newly created personal specs",
"selectReadMode": "Select read mode",
"autoEnable": "Auto Enable New Specs",
"autoEnableDescription": "Automatically enable newly created personal specs",
"autoEnableDescription": "New personal specs are set to required (readMode=required) by default and automatically included in context injection",
"specStatistics": "Spec Statistics",
"totalSpecs": "Total: {count} spec files"
"totalSpecs": "Total: {count} spec files",
"devProgressInjection": "Development Progress Injection",
"devProgressInjectionDesc": "Control how development progress from project-tech.json is injected into AI context",
"enableDevProgress": "Enable Injection",
"enableDevProgressDesc": "Include development history in AI context",
"maxEntries": "Max Entries per Category",
"maxEntriesDesc": "Maximum number of entries to include per category (1-50)",
"includeCategories": "Include Categories",
"categoriesDesc": "Click to toggle category inclusion",
"devProgressStats": "{total} entries from {sessions} sessions, last updated: {date}",
"devProgressStatsNoDate": "{total} entries from {sessions} sessions"
},
"devCategory": {
"feature": "Feature",
"enhancement": "Enhancement",
"bugfix": "Bug Fix",
"refactor": "Refactor",
"docs": "Docs"
},
"dialog": {