mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-15 02:42:45 +08:00
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:
@@ -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(() => {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user