// ========================================== // PROJECT OVERVIEW VIEW // ========================================== function renderProjectOverview() { // Show stats grid and search (may be hidden by MCP view) if (typeof showStatsAndSearch === 'function') showStatsAndSearch(); const container = document.getElementById('mainContent'); const project = workflowData.projectOverview; if (!project) { container.innerHTML = `
Run /workflow:init to initialize project analysis
${escapeHtml(project.description || 'No description available')}
${escapeHtml(comp.description)}
${escapeHtml(comp.path)}
No key components identified
'}No development history available
'; const categories = [ { key: 'feature', label: 'Features', icon: '', badgeClass: 'bg-primary-light text-primary' }, { key: 'enhancement', label: 'Enhancements', icon: '', badgeClass: 'bg-success-light text-success' }, { key: 'bugfix', label: 'Bug Fixes', icon: '', badgeClass: 'bg-destructive/10 text-destructive' }, { key: 'refactor', label: 'Refactorings', icon: '', badgeClass: 'bg-warning-light text-warning' }, { key: 'docs', label: 'Documentation', icon: '', badgeClass: 'bg-muted text-muted-foreground' } ]; const totalEntries = categories.reduce((sum, cat) => sum + (devIndex[cat.key]?.length || 0), 0); if (totalEntries === 0) { return 'No development history entries
'; } return `${escapeHtml(entry.description)}
` : ''}