adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
219 lines • 9.28 kB
TypeScript
import { ComplianceValidationService } from '../../services/ComplianceValidationService.js';
import { AIProcessor } from '../ai/AIProcessor.js';
import { ConfigurationManager } from '../ai/ConfigurationManager.js';
import { GenerationOptions, GenerationResult, ValidationResult } from './types';
export type { GenerationResult };
export type { GenerationOptions };
import { ProjectContext } from '../ai/types';
/**
* Class responsible for generating project documentation
*/
export declare class DocumentGenerator {
private options;
private context;
private results;
private aiProcessor;
private configManager;
protected complianceService: ComplianceValidationService;
constructor(context: string, options?: Partial<GenerationOptions>, aiProcessor?: AIProcessor, configManager?: ConfigurationManager);
/**
* Generate Data Governance Framework document
* @param context Project context
*/
generateDataGovernanceFramework(context: ProjectContext): Promise<boolean>;
/**
* Generate Data Governance Plan document
* @param context Project context
*/
generateDataGovernancePlan(context: ProjectContext): Promise<boolean>;
/**
* Save document output to file
* @param output Document output to save
* @param fileName Optional custom file name (without extension)
*/
private saveDocumentOutput;
/**
* Generate Data Lifecycle Management document
* @param context Project context
*/
generateDataLifecycleManagement(context: ProjectContext): Promise<boolean>;
/**
* Generate Master Data Management Strategy document
* @param context Project context
*/
generateMasterDataManagementStrategy(context: ProjectContext): Promise<boolean>;
getAiUserStories(context: string): Promise<string>;
getAiUserPersonas(context: string): Promise<string>;
getAiKeyRolesAndNeeds(context: string): Promise<string>;
getAiProjectCharter(context: string): Promise<string>;
getAiProjectStatementOfWork(context: string): Promise<string>;
getAiBusinessCase(context: string): Promise<string>;
getAiMissionVisionAndCoreValues(context: string): Promise<string>;
getAiProjectPurpose(context: string): Promise<string>;
getAiProjectManagementPlan(context: string): Promise<string>;
getAiDirectAndManageProjectWorkProcess(context: string): Promise<string>;
getAiPerformIntegratedChangeControlProcess(context: string): Promise<string>;
getAiDmbokDataManagementStrategy(context: string): Promise<string>;
getAiCloseProjectOrPhaseProcess(context: string): Promise<string>;
getAiPlanScopeManagement(context: string): Promise<string>;
getAiRequirementsManagementPlan(context: string): Promise<string>;
getAiCollectRequirementsProcess(context: string): Promise<string>;
getAiRequirementsDocumentation(context: string): Promise<string>;
getAiRequirementsTraceabilityMatrix(context: string): Promise<string>;
getAiDefineScopeProcess(context: string): Promise<string>;
getAiProjectScopeStatement(context: string): Promise<string>;
getAiCreateWbsProcess(context: string): Promise<string>;
getAiScopeBaseline(context: string): Promise<string>;
getAiValidateScopeProcess(context: string): Promise<string>;
getAiControlScopeProcess(context: string): Promise<string>;
getAiWorkPerformanceInformationScope(context: string): Promise<string>;
getAiScopeManagementPlan(context: string): Promise<string>;
getAiRiskManagementPlan(context: string): Promise<string>;
getAiCostManagementPlan(context: string): Promise<string>;
getAiQualityManagementPlan(context: string): Promise<string>;
getAiResourceManagementPlan(context: string): Promise<string>;
getAiCommunicationManagementPlan(context: string): Promise<string>;
getAiProcurementManagementPlan(context: string): Promise<string>;
getAiStakeholderEngagementPlan(context: string): Promise<string>;
getAiStakeholderRegister(context: string): Promise<string>;
getAiStakeholderAnalysis(context: string): Promise<string>;
getAiWbs(context: string): Promise<string>;
getAiWbsDictionary(context: string): Promise<string>;
getAiActivityList(context: string): Promise<string>;
getAiActivityDurationEstimates(context: string): Promise<string>;
getAiActivityResourceEstimates(context: string): Promise<string>;
getAiScheduleNetworkDiagram(context: string): Promise<string>;
getAiMilestoneList(context: string): Promise<string>;
getAiDevelopScheduleInput(context: string): Promise<string>;
getAiDataModelSuggestions(context: string): Promise<string>;
getAiTechStackAnalysis(context: string): Promise<string>;
getAiRiskAnalysis(context: string): Promise<string>;
getAiAcceptanceCriteria(context: string): Promise<string>;
getAiComplianceConsiderations(context: string): Promise<string>;
getAiUiUxConsiderations(context: string): Promise<string>;
getProjectKickoffPreparationsChecklist(context: string): Promise<string>;
/**
* Filter and sort tasks based on options and dependencies
*/
private filterTasks;
/**
* Generate a single document
* @param task Task to generate document for
* @returns Whether generation was successful
*/
private generateSingleDocument;
/**
* Save compliance report for a document
* @param documentKey Document key
* @param validation Compliance validation result
*/
private saveComplianceReport;
/**
* Generate compliance report content
* @param validation Compliance validation result
* @returns Formatted compliance report content
*/
private generateComplianceReportContent;
/**
* Wait for a specified amount of time
* @param ms Milliseconds to wait
*/
private delay;
/**
* Generate all documents based on options
* @returns Generation result
*/
generateAll(): Promise<GenerationResult>;
/**
* Generate a single document by key
* @param documentKey The key of the document to generate (e.g., 'summary', 'user-stories', 'project-charter')
* @returns Whether generation was successful
*/
generateOne(documentKey: string): Promise<boolean>;
/**
* Print generation summary
*/
private printSummary;
/**
* Validate that all expected documents exist
* @returns Validation result
*/
validateGeneration(): Promise<ValidationResult>;
/**
* Generate a markdown file
* @param outputDir Output directory
* @param fileName File name
* @param title Document title
* @param content Document content
*/
static generateMarkdownFile(outputDir: string, fileName: string, title: string, content: string): Promise<void>;
/**
* Generate core documents only
* @param context Project context
* @returns Generation result
*/
static generateCoreDocuments(context: string): Promise<GenerationResult>;
/**
* Generate management plans only
* @param context Project context
* @returns Generation result
*/
static generateManagementPlans(context: string): Promise<GenerationResult>;
/**
* Generate planning artifacts only
* @param context Project context
* @returns Generation result
*/
static generatePlanningArtifacts(context: string): Promise<GenerationResult>; /**
* Generate technical analysis including technical design documents
* @param context Project context
* @returns Generation result
*/
static generateTechnicalAnalysis(context: string): Promise<GenerationResult>;
/**
* Generate stakeholder documents only
* @param context Project context
* @returns Generation result
*/
static generateStakeholderDocuments(context: string): Promise<GenerationResult>; /**
* Validate PMBOK compliance across documents using the real PMBOKValidator
* @returns Comprehensive compliance validation result
*/
validatePMBOKCompliance(): Promise<{
compliance: boolean;
consistencyScore: number;
documentQuality: Record<string, any>;
validationResult?: any;
}>;
/**
* Determine overall compliance based on comprehensive validation results
* @param validationResult Full validation result from PMBOKValidator
* @returns Whether the documents meet compliance standards
*/
private determineOverallCompliance;
/**
* Generate all documents and validate PMBOK compliance
* @param context Project context
* @returns Generation and compliance result
*/
static generateAllWithPMBOKValidation(context: string): Promise<{
result: GenerationResult;
compliance: {
score: number;
details: string[];
isCompliant: boolean;
qualityReport: any;
actionableInsights: string[];
improvementRecommendations: string[];
};
}>;
/**
* Generate a comprehensive quality assessment report in markdown format
*/
private static generateQualityReport;
}
/**
* Version information
*/
export declare const documentGeneratorVersion = "2.1.3";
//# sourceMappingURL=DocumentGenerator.d.ts.map