mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
315 lines
20 KiB
Plaintext
315 lines
20 KiB
Plaintext
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
│ INIT MODULES DEPENDENCY GRAPH │
|
|
│ Visual Reference │
|
|
└──────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
LEGEND:
|
|
┌─────┐ = Init Module
|
|
[═════] = External Dependency
|
|
{─────} = Internal Project File
|
|
───────> = Import Relationship
|
|
⚠️ = Compilation Warning
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ EXTERNAL DEPENDENCIES │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
[chalk] Terminal colors & formatting (7 modules depend on it) ⚠️
|
|
[ora] Spinner animations (1 module depends on it) ⚠️
|
|
[fs-extra] Enhanced file system operations (3 modules)
|
|
[path] Node.js path utilities (3 modules)
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ INTERNAL DEPENDENCIES │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
{../../types} FleetConfig, InitOptions interfaces (4 modules)
|
|
{../../utils/ProcessExit} Safe process exit utility (1 module)
|
|
{../../../package.json} Version info via require (2 modules)
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ MODULE DEPENDENCY GRAPH │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌────────────────────────────────────────────────────────────────────────────┐
|
|
│ index.ts (278 lines) │
|
|
│ Main Orchestrator - Entry Point │
|
|
│ Exports: initCommand + 6 re-exports │
|
|
└────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
├─────────> [chalk] ⚠️
|
|
├─────────> [ora] ⚠️
|
|
├─────────> {../../types} (FleetConfig, InitOptions)
|
|
├─────────> {../../utils/ProcessExit}
|
|
├─────────> {../../../package.json} (version)
|
|
│
|
|
├─────────> ┌─────────────────────────────────────────────┐
|
|
│ │ directory-structure.ts (73 lines) │
|
|
│ │ Creates .agentic-qe directory structure │
|
|
│ │ Exports: createDirectoryStructure() │
|
|
│ └─────────────────────────────────────────────┘
|
|
│ │
|
|
│ ├─────────> [fs-extra]
|
|
│ ├─────────> [path]
|
|
│ └─────────> [chalk] ⚠️
|
|
│
|
|
├─────────> ┌─────────────────────────────────────────────┐
|
|
│ │ database-init.ts (32 lines) │
|
|
│ │ Initializes AgentDB & memory databases │
|
|
│ │ Exports: initializeDatabases() │
|
|
│ │ Status: TODO - implementation pending │
|
|
│ └─────────────────────────────────────────────┘
|
|
│ │
|
|
│ ├─────────> [path]
|
|
│ ├─────────> [chalk] ⚠️
|
|
│ └─────────> {../../types} (FleetConfig)
|
|
│
|
|
├─────────> ┌─────────────────────────────────────────────┐
|
|
│ │ claude-config.ts (46 lines) │
|
|
│ │ Generates Claude Code settings & MCP │
|
|
│ │ Exports: generateClaudeSettings() │
|
|
│ │ setupMCPServer() │
|
|
│ │ Status: TODO - implementation pending │
|
|
│ └─────────────────────────────────────────────┘
|
|
│ │
|
|
│ ├─────────> [chalk] ⚠️
|
|
│ └─────────> {../../types} (FleetConfig)
|
|
│
|
|
├─────────> ┌─────────────────────────────────────────────┐
|
|
│ │ documentation.ts (26 lines) │
|
|
│ │ Copies reference docs to project │
|
|
│ │ Exports: copyDocumentation() │
|
|
│ │ Status: TODO - implementation pending │
|
|
│ └─────────────────────────────────────────────┘
|
|
│ │
|
|
│ └─────────> [chalk] ⚠️
|
|
│
|
|
└─────────> ┌─────────────────────────────────────────────┐
|
|
│ bash-wrapper.ts (25 lines) │
|
|
│ Creates aqe command wrapper script │
|
|
│ Exports: createBashWrapper() │
|
|
│ Status: TODO - implementation pending │
|
|
└─────────────────────────────────────────────┘
|
|
│
|
|
└─────────> [chalk] ⚠️
|
|
|
|
|
|
┌────────────────────────────────────────────────────────────────────────────┐
|
|
│ STANDALONE MODULES (No Imports) │
|
|
└────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ fleet-config.ts (254 lines) │
|
|
│ Configuration Persistence & Validation │
|
|
│ │
|
|
│ Exports: │
|
|
│ • createFleetConfig(config) - Write config to disk │
|
|
│ • validateFleetConfig(config) - Validate configuration │
|
|
│ • fleetConfigExists() - Check if config exists │
|
|
│ • loadFleetConfig() - Load existing config │
|
|
│ • mergeFleetConfig(existing, new) - Merge configurations │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
├─────────> [fs-extra]
|
|
├─────────> {../../types} (FleetConfig)
|
|
└─────────> {../../../package.json} (version)
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ utils.ts (335 lines) ⚠️ OVER LIMIT │
|
|
│ Shared Utility Functions │
|
|
│ │
|
|
│ Exports: 22 functions │
|
|
│ File System: ensureDirectory, fileExists, directoryExists, │
|
|
│ safeWriteJson, safeReadJson, safeWriteFile, │
|
|
│ createDirectories │
|
|
│ Logging: logSuccess, logWarning, logError, logInfo, logExists │
|
|
│ Paths: getBaseDir, getDataDir, getConfigDir, getAgentsDir, │
|
|
│ getDocsDir, getRelativePath, formatFileSize │
|
|
│ Validation: validateRange, validateEnum │
|
|
│ Parsing: parseCommaSeparated │
|
|
│ Meta: getPackageVersion │
|
|
│ │
|
|
│ ⚠️ ISSUE: 335 lines (35 over 300-line limit) │
|
|
│ 📋 ACTION: Split into 4 modules (file, log, path, validation) │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
├─────────> [fs-extra]
|
|
├─────────> [path]
|
|
└─────────> [chalk] ⚠️
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ IMPORT CONSOLIDATION VIEW │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
External Dependencies Usage:
|
|
[chalk] Used by 7/8 modules (87.5%) ⚠️ All have TS1259 warnings
|
|
[ora] Used by 1/8 modules (12.5%) ⚠️ Has TS1259 warning
|
|
[fs-extra] Used by 3/8 modules (37.5%)
|
|
[path] Used by 3/8 modules (37.5%)
|
|
|
|
Internal Dependencies Usage:
|
|
{../../types} Used by 4/8 modules (50%)
|
|
{../../utils/ProcessExit} Used by 1/8 modules (12.5%)
|
|
{../../../package.json} Used by 2/8 modules (25%)
|
|
|
|
Cross-Module Imports (within init/):
|
|
index.ts imports from 5 other init modules
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ EXPORT CONSOLIDATION │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
Total Exported Functions: 40+ functions
|
|
|
|
By Module:
|
|
utils.ts 22 functions (55% of all exports) ⚠️ TOO CONCENTRATED
|
|
fleet-config.ts 5 functions (12%)
|
|
index.ts 7 functions (18%) - includes re-exports
|
|
Other modules 1-2 each (15%)
|
|
|
|
By Function Type:
|
|
Async operations: ~30 functions (75%)
|
|
Sync utilities: ~10 functions (25%)
|
|
|
|
All exports are properly typed with TypeScript interfaces ✅
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ CRITICAL PATH ANALYSIS │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
Initialization Flow (Sequential):
|
|
1. index.ts.initCommand() called by CLI
|
|
2. prepareConfiguration() validates options
|
|
3. Phase execution loop begins:
|
|
└─> directory-structure.createDirectoryStructure()
|
|
└─> database-init.initializeDatabases()
|
|
└─> claude-config.generateClaudeSettings()
|
|
└─> claude-config.setupMCPServer()
|
|
└─> documentation.copyDocumentation()
|
|
└─> bash-wrapper.createBashWrapper()
|
|
|
|
Error Handling:
|
|
• Critical phases stop execution and trigger rollback
|
|
• Non-critical phases log warnings and continue
|
|
• Rollback executes in reverse order
|
|
|
|
Dependencies Required Before Execution:
|
|
✅ chalk - Terminal formatting
|
|
✅ ora - Progress spinners
|
|
✅ fs-extra - File operations
|
|
✅ path - Path handling
|
|
✅ FleetConfig type definition
|
|
✅ InitOptions type definition
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ SUGGESTED REFACTORING │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
Current Structure:
|
|
src/cli/init/
|
|
├── index.ts (278 lines)
|
|
├── fleet-config.ts (254 lines)
|
|
├── directory-structure.ts (73 lines)
|
|
├── database-init.ts (32 lines)
|
|
├── claude-config.ts (46 lines)
|
|
├── documentation.ts (26 lines)
|
|
├── bash-wrapper.ts (25 lines)
|
|
└── utils.ts (335 lines) ⚠️ OVER LIMIT
|
|
|
|
Recommended Structure:
|
|
src/cli/init/
|
|
├── index.ts (278 lines)
|
|
├── fleet-config.ts (254 lines)
|
|
├── directory-structure.ts (73 lines)
|
|
├── database-init.ts (32 lines)
|
|
├── claude-config.ts (46 lines)
|
|
├── documentation.ts (26 lines)
|
|
├── bash-wrapper.ts (25 lines)
|
|
└── utils/
|
|
├── index.ts (20 lines) - Re-export all utilities
|
|
├── file-utils.ts (90 lines)
|
|
├── log-utils.ts (60 lines)
|
|
├── path-utils.ts (50 lines)
|
|
└── validation-utils.ts (65 lines)
|
|
|
|
Benefits:
|
|
✅ All modules under 300-line limit
|
|
✅ Better organization by function type
|
|
✅ Easier to test individual utility categories
|
|
✅ Reduces cognitive load when reading code
|
|
✅ Maintains backward compatibility (re-export index)
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ COMPILATION STATUS │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
Module Compilation Status:
|
|
✅ fleet-config.ts - NO ERRORS (no chalk import)
|
|
⚠️ bash-wrapper.ts - TS1259 (chalk import)
|
|
⚠️ claude-config.ts - TS1259 (chalk import)
|
|
⚠️ database-init.ts - TS1259 (chalk import)
|
|
⚠️ directory-structure.ts - TS1259 (chalk import)
|
|
⚠️ documentation.ts - TS1259 (chalk import)
|
|
⚠️ index.ts - TS1259 (chalk + ora imports)
|
|
⚠️ utils.ts - TS1259 (chalk import)
|
|
|
|
Full Build Blocker:
|
|
❌ 100+ TypeScript errors in frontend files:
|
|
• App.tsx
|
|
• src/components/Dashboard/Dashboard.tsx
|
|
• src/components/Dashboard/DashboardHeader.tsx
|
|
• src/contexts/DashboardContext.tsx
|
|
• src/hooks/useKeyboardShortcuts.ts
|
|
|
|
Error Type: Missing --jsx flag and React type definitions
|
|
|
|
Resolution Plan:
|
|
1. Fix frontend compilation errors separately
|
|
2. Verify init modules compile in full build
|
|
3. If TS1259 persists, change to: import * as chalk from 'chalk';
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ NEXT STEPS │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
|
|
Priority 1 (Critical):
|
|
[ ] Split utils.ts into 4 modules
|
|
[ ] Create utils/index.ts with re-exports
|
|
[ ] Update imports in affected modules (if needed)
|
|
[ ] Verify all modules under 300 lines
|
|
|
|
Priority 2 (Important):
|
|
[ ] Fix frontend compilation errors
|
|
[ ] Run full build: npm run build
|
|
[ ] Verify init modules compile correctly
|
|
[ ] Resolve TS1259 warnings if they persist
|
|
|
|
Priority 3 (Testing):
|
|
[ ] Add integration tests
|
|
[ ] Test module loading
|
|
[ ] Test import/export chains
|
|
[ ] Verify error handling
|
|
|
|
Priority 4 (Documentation):
|
|
[ ] Add JSDoc examples
|
|
[ ] Create usage guide
|
|
[ ] Document configuration options
|
|
[ ] Update CHANGELOG.md
|
|
|
|
────────────────────────────────────────────────────────────────────────────────
|
|
|
|
Generated: 2025-11-22 11:45 UTC
|
|
Verified By: QE Specialist Agent
|
|
Status: ⚠️ PARTIAL - Minor fixes needed
|
|
Confidence: 🟢 HIGH - Architecture is solid
|