Skip to main content
Glama

Spec Workflow MCP

by kingkongshot
progressCalculator.ts2.09 kB
/** * Progress calculation */ import { WorkflowStatus } from './documentStatus.js'; import { getWorkflowConfirmations } from './confirmationStatus.js'; export interface WorkflowProgress { percentage: number; completedStages: number; totalStages: number; details: { requirements: StageProgress; design: StageProgress; tasks: StageProgress; }; } interface StageProgress { exists: boolean; confirmed: boolean; skipped: boolean; } export function calculateWorkflowProgress( path: string, status: WorkflowStatus ): WorkflowProgress { const confirmations = getWorkflowConfirmations(path); const details = { requirements: getStageProgress(status.requirements, confirmations.confirmed.requirements, confirmations.skipped.requirements), design: getStageProgress(status.design, confirmations.confirmed.design, confirmations.skipped.design), tasks: getStageProgress(status.tasks, confirmations.confirmed.tasks, confirmations.skipped.tasks) }; const stages = [details.requirements, details.design, details.tasks]; const completedStages = stages.filter(s => s.confirmed || s.skipped).length; const totalStages = stages.length; // Simplified progress calculation: each stage takes 1/3 // const stageProgress = 100 / totalStages; // \u672a\u4f7f\u7528 let totalProgress = 0; // Requirements stage: 30% if (details.requirements.confirmed || details.requirements.skipped) { totalProgress += 30; } // Design stage: 30% if (details.design.confirmed || details.design.skipped) { totalProgress += 30; } // Tasks stage: 40% (only if confirmed, not skipped) // Skipping tasks doesn't count as progress since it's essential for development if (details.tasks.confirmed) { totalProgress += 40; } return { percentage: Math.round(totalProgress), completedStages, totalStages, details }; } function getStageProgress( status: { exists: boolean }, confirmed: boolean, skipped: boolean ): StageProgress { return { exists: status.exists, confirmed, skipped }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kingkongshot/specs-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server