@bobmatnyc/claude-pm-portfolio-manager
Version:
Claude PM Portfolio Management Dashboard - React-based monitoring and reporting for Claude PM managed projects
66 lines (65 loc) • 1.91 kB
TypeScript
export interface ProjectData {
id: string;
name: string;
path: string;
status: "active" | "inactive" | "completed";
healthScore?: number;
lastActivity?: Date;
tickets?: TicketData[];
}
export interface TicketData {
id: string;
title: string;
status: "pending" | "in_progress" | "completed" | "blocked" | "todo" | "planning";
priority: "critical" | "high" | "medium" | "low";
milestone: string;
assignee?: string;
storyPoints?: number;
epic?: string;
type: "epic" | "issue" | "task" | "pr";
created?: string;
updated?: string;
assignedAgents?: string[];
agentProgress?: Record<string, number>;
}
export interface DashboardMetrics {
totalProjects: number;
activeProjects: number;
openTickets: number;
healthScore: number;
}
export interface GitActivity {
id: string;
message: string;
author: string;
timestamp: Date;
project: string;
sha: string;
}
declare class ClaudePmService {
private readonly managedProjectsPath;
private getTicketAgentAssignments;
private fetchTicketsFromAPI;
private getProjectTickets;
private getSimulatedTickets;
private normalizeStatus;
private normalizePriority;
getDashboardMetrics(): Promise<DashboardMetrics>;
getProjects(): Promise<ProjectData[]>;
private getLastGitActivity;
private formatProjectName;
private getFallbackProjects;
getTickets(): Promise<TicketData[]>;
private getFallbackTickets;
getProjectHealth(_projectId: string): Promise<number>;
getRecentActivity(limit?: number): Promise<GitActivity[]>;
getProjectAgentSummary(projectPath: string): Promise<{
totalAgents: number;
activeAgents: number;
workingAgents: number;
assignedTickets: number;
averageLoad: number;
}>;
}
export declare const claudePmService: ClaudePmService;
export {};