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.
- package/README.md +67 -30
- package/dist/adapters/cli/SDDToolAdapter.d.ts +22 -1
- package/dist/adapters/cli/SDDToolAdapter.js +399 -17
- package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
- package/dist/application/services/TemplateService.d.ts +17 -0
- package/dist/application/services/TemplateService.js +367 -24
- package/dist/application/services/TemplateService.js.map +1 -1
- package/dist/index.js +1210 -13
- package/dist/index.js.map +1 -1
- package/mcp-server.js +1501 -0
- package/package.json +3 -3
- package/minimal-working-server.js +0 -66
|
@@ -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
|
-
###
|
|
83
|
-
**Objective:**
|
|
99
|
+
### FR-3: Quality Standards
|
|
100
|
+
**Objective:** Maintain high code quality and testing standards
|
|
84
101
|
|
|
85
102
|
#### Acceptance Criteria
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
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
|
-
|
|
140
|
+
${this.generateArchitectureDescription(packageJson, projectAnalysis)}
|
|
109
141
|
|
|
110
142
|
### Key Components
|
|
111
|
-
|
|
143
|
+
${this.generateComponentDescriptions(projectAnalysis).map(comp => `- **${comp.name}**: ${comp.description}`).join('\n')}
|
|
112
144
|
|
|
113
145
|
### Data Models
|
|
114
|
-
|
|
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
|
-
|
|
151
|
+
${this.generateDetailedTechStack(packageJson)}
|
|
120
152
|
|
|
121
153
|
### Design Patterns
|
|
122
|
-
|
|
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
|
-
|
|
162
|
+
${this.generateAPIInterfaces(packageJson, projectAnalysis)}
|
|
128
163
|
|
|
129
|
-
###
|
|
130
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
149
|
-
- [Subtask description]
|
|
150
|
-
- [Subtask description]
|
|
151
|
-
- _Requirements: [requirement references]_
|
|
212
|
+
## Deployment Tasks
|
|
152
213
|
|
|
153
|
-
[
|
|
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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"}
|