sdd-mcp-server 1.1.21 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,24 +70,51 @@ let TemplateService = class TemplateService {
70
70
  return content;
71
71
  }
72
72
  async generateRequirementsTemplate(project) {
73
+ // Analyze project for real requirements
74
+ const packageJson = await this.getPackageJsonAnalysis(project.path);
75
+ const projectAnalysis = await this.analyzeProjectStructure(project.path);
73
76
  const template = `# Requirements Document
74
77
 
75
78
  ## Introduction
76
79
  {{project.name}} - Requirements specification for {{project.metadata.language}} locale.
77
80
 
81
+ **Product Description:** ${packageJson.description || 'Product requirements specification'}
82
+
78
83
  Generated on: {{timestamp}}
79
84
 
80
- ## Requirements
85
+ ## Functional Requirements
86
+
87
+ ### FR-1: Core Functionality
88
+ **Objective:** ${this.generateCoreObjective(packageJson, projectAnalysis)}
89
+
90
+ #### Acceptance Criteria
91
+ ${this.generateAcceptanceCriteria(packageJson, projectAnalysis).map((criteria, index) => `${index + 1}. ${criteria}`).join('\n')}
92
+
93
+ ### FR-2: Technology Integration
94
+ **Objective:** Implement robust technology stack integration
95
+
96
+ #### Acceptance Criteria
97
+ ${this.generateTechRequirements(packageJson).map((req, index) => `${index + 1}. ${req}`).join('\n')}
81
98
 
82
- ### Requirement 1: [Title]
83
- **Objective:** [Objective statement]
99
+ ### FR-3: Quality Standards
100
+ **Objective:** Maintain high code quality and testing standards
84
101
 
85
102
  #### Acceptance Criteria
86
- 1. WHEN [condition] THEN [expected behavior]
87
- 2. WHERE [context] THE system SHALL [requirement]
88
- 3. IF [condition] THEN [expected result]
103
+ ${this.generateQualityRequirements(packageJson).map((req, index) => `${index + 1}. ${req}`).join('\n')}
104
+
105
+ ## Non-Functional Requirements
106
+
107
+ ### NFR-1: Performance
108
+ - System SHALL respond within acceptable time limits
109
+ - Memory usage SHALL remain within reasonable bounds
89
110
 
90
- [Additional requirements to be added...]
111
+ ### NFR-2: Reliability
112
+ - System SHALL handle errors gracefully
113
+ - System SHALL maintain data integrity
114
+
115
+ ### NFR-3: Maintainability
116
+ - Code SHALL follow established conventions
117
+ - System SHALL be well-documented
91
118
  `;
92
119
  const data = {
93
120
  project,
@@ -96,38 +123,54 @@ Generated on: {{timestamp}}
96
123
  return await this.templateEngine.render(template, data);
97
124
  }
98
125
  async generateDesignTemplate(project) {
126
+ // Analyze project for real design information
127
+ const packageJson = await this.getPackageJsonAnalysis(project.path);
128
+ const projectAnalysis = await this.analyzeProjectStructure(project.path);
99
129
  const template = `# Technical Design Document
100
130
 
101
131
  ## Project: {{project.name}}
102
132
 
133
+ **Product Description:** ${packageJson.description || 'Technical design specification'}
134
+
103
135
  Generated on: {{timestamp}}
104
136
 
105
137
  ## Architecture Overview
106
138
 
107
139
  ### System Architecture
108
- [Architecture description]
140
+ ${this.generateArchitectureDescription(packageJson, projectAnalysis)}
109
141
 
110
142
  ### Key Components
111
- [Component descriptions]
143
+ ${this.generateComponentDescriptions(projectAnalysis).map(comp => `- **${comp.name}**: ${comp.description}`).join('\n')}
112
144
 
113
145
  ### Data Models
114
- [Data model definitions]
146
+ ${this.generateDataModels(packageJson, projectAnalysis).map(model => `- **${model}**: Data structure definition`).join('\n')}
115
147
 
116
148
  ## Implementation Details
117
149
 
118
150
  ### Technology Stack
119
- [Technology decisions]
151
+ ${this.generateDetailedTechStack(packageJson)}
120
152
 
121
153
  ### Design Patterns
122
- [Pattern choices and rationale]
154
+ ${this.generateDesignPatterns(packageJson, projectAnalysis).map(pattern => `- **${pattern}**: Applied for maintainability and scalability`).join('\n')}
155
+
156
+ ### Dependencies
157
+ ${this.generateDependencyAnalysis(packageJson)}
123
158
 
124
159
  ## Interface Specifications
125
160
 
126
161
  ### API Interfaces
127
- [Interface definitions]
162
+ ${this.generateAPIInterfaces(packageJson, projectAnalysis)}
128
163
 
129
- ### Data Schemas
130
- [Schema specifications]
164
+ ### Module Interfaces
165
+ ${this.generateModuleInterfaces(projectAnalysis)}
166
+
167
+ ## Configuration
168
+
169
+ ### Environment Variables
170
+ ${this.generateEnvVarSpecs(packageJson)}
171
+
172
+ ### Build Configuration
173
+ ${this.generateBuildConfig(packageJson)}
131
174
  `;
132
175
  const data = {
133
176
  project,
@@ -136,21 +179,41 @@ Generated on: {{timestamp}}
136
179
  return await this.templateEngine.render(template, data);
137
180
  }
138
181
  async generateTasksTemplate(project) {
182
+ // Analyze project for real implementation tasks
183
+ const packageJson = await this.getPackageJsonAnalysis(project.path);
184
+ const projectAnalysis = await this.analyzeProjectStructure(project.path);
185
+ const tasks = this.generateImplementationTasks(packageJson, projectAnalysis);
139
186
  const template = `# Implementation Plan
140
187
 
188
+ ## Project: {{project.name}}
189
+
190
+ **Product Description:** ${packageJson.description || 'Implementation task breakdown'}
191
+
141
192
  Generated on: {{timestamp}}
142
193
 
143
- - [ ] 1. [Main Task Title]
144
- - [Subtask description]
145
- - [Subtask description]
146
- - _Requirements: [requirement references]_
194
+ ## Development Phase Tasks
195
+
196
+ ${tasks.development.map((task, index) => `- [ ] ${index + 1}. ${task.title}
197
+ ${task.subtasks.map(subtask => ` - ${subtask}`).join('\n')}
198
+ - _Requirements: ${task.requirements}_`).join('\n\n')}
199
+
200
+ ## Integration Phase Tasks
201
+
202
+ ${tasks.integration.map((task, index) => `- [ ] ${index + 1}. ${task.title}
203
+ ${task.subtasks.map(subtask => ` - ${subtask}`).join('\n')}
204
+ - _Requirements: ${task.requirements}_`).join('\n\n')}
205
+
206
+ ## Quality Assurance Tasks
207
+
208
+ ${tasks.quality.map((task, index) => `- [ ] ${index + 1}. ${task.title}
209
+ ${task.subtasks.map(subtask => ` - ${subtask}`).join('\n')}
210
+ - _Requirements: ${task.requirements}_`).join('\n\n')}
147
211
 
148
- - [ ] 2. [Next Task Title]
149
- - [Subtask description]
150
- - [Subtask description]
151
- - _Requirements: [requirement references]_
212
+ ## Deployment Tasks
152
213
 
153
- [Additional tasks to be added...]
214
+ ${tasks.deployment.map((task, index) => `- [ ] ${index + 1}. ${task.title}
215
+ ${task.subtasks.map(subtask => ` - ${subtask}`).join('\n')}
216
+ - _Requirements: ${task.requirements}_`).join('\n\n')}
154
217
  `;
155
218
  const data = {
156
219
  project,
@@ -423,6 +486,286 @@ Generated on: {{timestamp}}
423
486
  return date.toISOString();
424
487
  });
425
488
  }
489
+ // Helper methods for project analysis and content generation
490
+ async getPackageJsonAnalysis(projectPath) {
491
+ try {
492
+ const packagePath = `${projectPath}/package.json`;
493
+ if (await this.fileSystem.exists(packagePath)) {
494
+ const content = await this.fileSystem.readFile(packagePath);
495
+ return JSON.parse(content);
496
+ }
497
+ }
498
+ catch (error) {
499
+ this.logger.warn('Failed to read package.json', { error });
500
+ }
501
+ return {};
502
+ }
503
+ async analyzeProjectStructure(projectPath) {
504
+ try {
505
+ const entries = await this.fileSystem.readdir(projectPath);
506
+ return {
507
+ directories: entries.filter(entry => !entry.includes('.')),
508
+ files: entries.filter(entry => entry.includes('.')),
509
+ hasSource: entries.includes('src'),
510
+ hasTests: entries.includes('test') || entries.includes('__tests__'),
511
+ hasDocs: entries.includes('docs') || entries.includes('documentation')
512
+ };
513
+ }
514
+ catch (error) {
515
+ this.logger.warn('Failed to analyze project structure', { error });
516
+ }
517
+ return { directories: [], files: [] };
518
+ }
519
+ generateCoreObjective(packageJson, projectAnalysis) {
520
+ if (packageJson.description) {
521
+ return `Deliver ${packageJson.description} with full functionality and reliability`;
522
+ }
523
+ if (packageJson.keywords?.length > 0) {
524
+ return `Implement ${packageJson.keywords.join(', ')} functionality`;
525
+ }
526
+ return 'Deliver core application functionality';
527
+ }
528
+ generateAcceptanceCriteria(packageJson, projectAnalysis) {
529
+ const criteria = [];
530
+ if (packageJson.scripts?.test) {
531
+ criteria.push('WHEN tests are run THEN all tests SHALL pass');
532
+ }
533
+ if (packageJson.scripts?.build) {
534
+ criteria.push('WHEN build is executed THEN system SHALL compile without errors');
535
+ }
536
+ if (packageJson.scripts?.lint) {
537
+ criteria.push('WHERE code quality is checked THE system SHALL meet linting standards');
538
+ }
539
+ if (packageJson.main || packageJson.bin) {
540
+ criteria.push('WHEN application starts THEN system SHALL initialize successfully');
541
+ }
542
+ criteria.push('IF errors occur THEN system SHALL handle them gracefully');
543
+ return criteria.length > 0 ? criteria : ['System SHALL meet functional requirements'];
544
+ }
545
+ generateTechRequirements(packageJson) {
546
+ const requirements = [];
547
+ const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
548
+ if (deps?.typescript) {
549
+ requirements.push('System SHALL use TypeScript for type safety');
550
+ }
551
+ if (deps?.express || deps?.fastify) {
552
+ requirements.push('System SHALL implement RESTful API endpoints');
553
+ }
554
+ if (deps?.react || deps?.vue || deps?.angular) {
555
+ requirements.push('System SHALL provide responsive user interface');
556
+ }
557
+ if (deps?.jest || deps?.mocha || deps?.vitest) {
558
+ requirements.push('System SHALL include comprehensive test coverage');
559
+ }
560
+ return requirements.length > 0 ? requirements : ['System SHALL integrate required technologies'];
561
+ }
562
+ generateQualityRequirements(packageJson) {
563
+ const requirements = [];
564
+ if (packageJson.scripts?.lint) {
565
+ requirements.push('Code SHALL pass linting checks');
566
+ }
567
+ if (packageJson.scripts?.typecheck) {
568
+ requirements.push('Code SHALL pass type checking');
569
+ }
570
+ if (packageJson.scripts?.test) {
571
+ requirements.push('Code SHALL maintain test coverage standards');
572
+ }
573
+ requirements.push('Code SHALL follow established conventions');
574
+ return requirements;
575
+ }
576
+ generateArchitectureDescription(packageJson, projectAnalysis) {
577
+ let description = '';
578
+ if (packageJson.type === 'module') {
579
+ description += 'Modern ES Module-based architecture. ';
580
+ }
581
+ if (projectAnalysis.hasSource) {
582
+ description += 'Modular source code organization with clear separation of concerns. ';
583
+ }
584
+ if (packageJson.dependencies?.express) {
585
+ description += 'RESTful API server architecture using Express.js framework. ';
586
+ }
587
+ if (packageJson.dependencies?.typescript || packageJson.devDependencies?.typescript) {
588
+ description += 'Type-safe development with TypeScript compilation. ';
589
+ }
590
+ return description || 'Application architecture to be defined based on requirements.';
591
+ }
592
+ generateComponentDescriptions(projectAnalysis) {
593
+ const components = [];
594
+ if (projectAnalysis.hasSource) {
595
+ components.push({ name: 'Core Module', description: 'Main application logic and business rules' });
596
+ }
597
+ if (projectAnalysis.hasTests) {
598
+ components.push({ name: 'Test Suite', description: 'Automated testing framework and test cases' });
599
+ }
600
+ if (projectAnalysis.hasDocs) {
601
+ components.push({ name: 'Documentation', description: 'Project documentation and API specifications' });
602
+ }
603
+ return components.length > 0 ? components : [
604
+ { name: 'Application Core', description: 'Main application functionality' }
605
+ ];
606
+ }
607
+ generateDataModels(packageJson, projectAnalysis) {
608
+ const models = [];
609
+ if (packageJson.dependencies?.mongoose || packageJson.dependencies?.mongodb) {
610
+ models.push('MongoDB Document Models');
611
+ }
612
+ if (packageJson.dependencies?.sequelize || packageJson.dependencies?.typeorm) {
613
+ models.push('Relational Database Models');
614
+ }
615
+ if (packageJson.dependencies?.graphql) {
616
+ models.push('GraphQL Schema Models');
617
+ }
618
+ return models.length > 0 ? models : ['Application Data Models'];
619
+ }
620
+ generateDetailedTechStack(packageJson) {
621
+ const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
622
+ const stack = [];
623
+ if (deps?.typescript)
624
+ stack.push('- **TypeScript**: Type-safe JavaScript development');
625
+ if (deps?.node || packageJson.engines?.node)
626
+ stack.push(`- **Node.js**: ${packageJson.engines?.node || 'Runtime environment'}`);
627
+ if (deps?.express)
628
+ stack.push('- **Express.js**: Web application framework');
629
+ if (deps?.react)
630
+ stack.push('- **React**: User interface library');
631
+ if (deps?.vue)
632
+ stack.push('- **Vue.js**: Progressive frontend framework');
633
+ if (deps?.jest)
634
+ stack.push('- **Jest**: Testing framework');
635
+ return stack.length > 0 ? stack.join('\n') : '- Technology stack to be defined';
636
+ }
637
+ generateDesignPatterns(packageJson, projectAnalysis) {
638
+ const patterns = [];
639
+ if (packageJson.dependencies?.inversify) {
640
+ patterns.push('Dependency Injection');
641
+ }
642
+ if (projectAnalysis.hasSource) {
643
+ patterns.push('Modular Architecture');
644
+ }
645
+ if (packageJson.dependencies?.express || packageJson.dependencies?.fastify) {
646
+ patterns.push('MVC Pattern');
647
+ }
648
+ return patterns.length > 0 ? patterns : ['Standard Design Patterns'];
649
+ }
650
+ generateDependencyAnalysis(packageJson) {
651
+ const production = Object.keys(packageJson.dependencies || {});
652
+ const development = Object.keys(packageJson.devDependencies || {});
653
+ let analysis = '';
654
+ if (production.length > 0) {
655
+ analysis += `**Production Dependencies:** ${production.length} packages\n`;
656
+ analysis += production.slice(0, 5).map(dep => `- ${dep}`).join('\n');
657
+ if (production.length > 5)
658
+ analysis += `\n- ... and ${production.length - 5} more`;
659
+ }
660
+ if (development.length > 0) {
661
+ analysis += `\n\n**Development Dependencies:** ${development.length} packages\n`;
662
+ analysis += development.slice(0, 5).map(dep => `- ${dep}`).join('\n');
663
+ if (development.length > 5)
664
+ analysis += `\n- ... and ${development.length - 5} more`;
665
+ }
666
+ return analysis || 'Dependencies to be analyzed';
667
+ }
668
+ generateAPIInterfaces(packageJson, projectAnalysis) {
669
+ if (packageJson.dependencies?.express || packageJson.dependencies?.fastify) {
670
+ return `RESTful API endpoints following OpenAPI specification:
671
+ - GET /api/health - Health check endpoint
672
+ - Authentication and authorization middleware
673
+ - Request/response validation
674
+ - Error handling middleware`;
675
+ }
676
+ return 'Interface specifications to be defined';
677
+ }
678
+ generateModuleInterfaces(projectAnalysis) {
679
+ if (projectAnalysis.hasSource) {
680
+ return `Internal module interfaces:
681
+ - Clear module boundaries and exports
682
+ - Consistent API patterns across modules
683
+ - Type definitions for all public interfaces`;
684
+ }
685
+ return 'Module interfaces to be defined';
686
+ }
687
+ generateEnvVarSpecs(packageJson) {
688
+ const envVars = [];
689
+ if (packageJson.dependencies?.express || packageJson.dependencies?.fastify) {
690
+ envVars.push('- `PORT`: Server port (default: 3000)');
691
+ envVars.push('- `NODE_ENV`: Environment mode (development/production)');
692
+ }
693
+ envVars.push('- `LOG_LEVEL`: Logging level (debug/info/warn/error)');
694
+ return envVars.join('\n');
695
+ }
696
+ generateBuildConfig(packageJson) {
697
+ let config = '';
698
+ if (packageJson.scripts?.build) {
699
+ config += `Build process: \`${packageJson.scripts.build}\`\n`;
700
+ }
701
+ if (packageJson.scripts?.start) {
702
+ config += `Start command: \`${packageJson.scripts.start}\`\n`;
703
+ }
704
+ if (packageJson.type === 'module') {
705
+ config += 'Module type: ES Modules\n';
706
+ }
707
+ return config || 'Build configuration to be defined';
708
+ }
709
+ generateImplementationTasks(packageJson, projectAnalysis) {
710
+ const tasks = {
711
+ development: [],
712
+ integration: [],
713
+ quality: [],
714
+ deployment: []
715
+ };
716
+ // Development tasks
717
+ if (projectAnalysis.hasSource) {
718
+ tasks.development.push({
719
+ title: 'Implement Core Modules',
720
+ subtasks: ['Set up module structure', 'Implement business logic', 'Add error handling'],
721
+ requirements: 'FR-1, FR-2'
722
+ });
723
+ }
724
+ if (packageJson.dependencies?.express) {
725
+ tasks.development.push({
726
+ title: 'Develop API Endpoints',
727
+ subtasks: ['Create route handlers', 'Add middleware', 'Implement validation'],
728
+ requirements: 'FR-2'
729
+ });
730
+ }
731
+ // Integration tasks
732
+ if (packageJson.dependencies?.mongodb || packageJson.dependencies?.mongoose) {
733
+ tasks.integration.push({
734
+ title: 'Database Integration',
735
+ subtasks: ['Set up database connection', 'Create data models', 'Implement queries'],
736
+ requirements: 'NFR-2'
737
+ });
738
+ }
739
+ // Quality tasks
740
+ if (packageJson.scripts?.test) {
741
+ tasks.quality.push({
742
+ title: 'Test Implementation',
743
+ subtasks: ['Write unit tests', 'Add integration tests', 'Ensure test coverage'],
744
+ requirements: 'FR-3, NFR-3'
745
+ });
746
+ }
747
+ if (packageJson.scripts?.lint) {
748
+ tasks.quality.push({
749
+ title: 'Code Quality Assurance',
750
+ subtasks: ['Run linting checks', 'Fix code style issues', 'Add documentation'],
751
+ requirements: 'NFR-3'
752
+ });
753
+ }
754
+ // Deployment tasks
755
+ if (packageJson.scripts?.build) {
756
+ tasks.deployment.push({
757
+ title: 'Build and Package',
758
+ subtasks: ['Run build process', 'Optimize for production', 'Create deployment artifacts'],
759
+ requirements: 'NFR-1'
760
+ });
761
+ }
762
+ tasks.deployment.push({
763
+ title: 'Deployment Configuration',
764
+ subtasks: ['Set up environment variables', 'Configure production settings', 'Deploy to target environment'],
765
+ requirements: 'NFR-1, NFR-2'
766
+ });
767
+ return tasks;
768
+ }
426
769
  };
427
770
  TemplateService = __decorate([
428
771
  injectable(),
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateService.js","sourceRoot":"","sources":["../../../src/application/services/TemplateService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateService.js","sourceRoot":"","sources":["../../../src/application/services/TemplateService.ts"],"names":[],"mappings":"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"}