Add quality standards and team command design patterns documentation

- Introduced a new quality standards document outlining assessment criteria for team command .md files, including completeness, pattern compliance, integration, and consistency dimensions.
- Established quality gates and issue classification for errors, warnings, and informational notes.
- Created a comprehensive team command design patterns document detailing infrastructure and collaboration patterns, including message bus integration, YAML front matter requirements, task lifecycle, five-phase execution structure, and error handling.
- Included a pattern selection guide for collaboration scenarios to enhance team interaction models.
This commit is contained in:
catlog22
2026-02-13 23:39:06 +08:00
parent 5ad7a954d4
commit cdb240d2c2
61 changed files with 5181 additions and 14525 deletions

View File

@@ -3,7 +3,7 @@
// ========================================
// Table component displaying all recent projects with MCP server statistics
import { useState, useEffect } from 'react';
import { useState, useEffect, useMemo } from 'react';
import { useIntl } from 'react-intl';
import { Folder, Clock, Database, ExternalLink } from 'lucide-react';
import { Card } from '@/components/ui/Card';
@@ -55,8 +55,11 @@ export function AllProjectsTable({
const { projects, currentProject, isLoading } = useProjectOperations();
// Use provided project paths or default to all projects
const targetProjectPaths = propProjectPaths ?? projects;
const displayProjects = maxProjects ? targetProjectPaths.slice(0, maxProjects) : targetProjectPaths;
// Memoize to stabilize the array reference and prevent useEffect infinite loops
const displayProjects = useMemo(() => {
const target = propProjectPaths ?? projects;
return maxProjects ? target.slice(0, maxProjects) : target;
}, [propProjectPaths, projects, maxProjects]);
// Fetch real project server stats on mount
useEffect(() => {

View File

@@ -473,6 +473,8 @@ export interface UseProjectOperationsReturn {
isFetchingServers: boolean;
}
const EMPTY_PROJECTS: string[] = [];
/**
* Combined hook for project operations (all projects, cross-CLI copy, other projects' servers)
*/
@@ -519,7 +521,7 @@ export function useProjectOperations(): UseProjectOperationsReturn {
};
return {
projects: projectsQuery.data?.projects ?? [],
projects: projectsQuery.data?.projects ?? EMPTY_PROJECTS,
currentProject: projectsQuery.data?.currentProject ?? projectPath ?? undefined,
isLoading: projectsQuery.isLoading,
error: projectsQuery.error,