Lightweight Spec-Driven Development Framework with integrated PM² methodology
LumiSDD (Lightweight Methodology for Spec-Driven Development) is a modern, type-safe framework that brings Spec-Driven Development (SDD) to life. Built with TypeScript, it provides comprehensive tools for managing specifications, validating schemas, generating code, and tracking compliance—all with integrated PM² project management methodology from the European Commission.
SDD treats specifications as first-class citizens in the software development lifecycle. Instead of writing code first and documenting later, LumiSDD encourages: define first, validate automatically, generate code, and track compliance.
Create specifications with requirements, constraints, and metadata. Support for JSON Schema and OpenAPI.
Built-in JSON Schema validation (Draft-07, 2020-12) and OpenAPI 2.0/3.0/3.1 validation.
Generate TypeScript types and Markdown documentation automatically from specifications.
Track requirement status and generate compliance reports over time.
Full PM² methodology workflow with phases, roles, deliverables, and phase gates.
Full TypeScript support with strict typing and generated type definitions.
import { Spec, TypeScriptGenerator, JsonSchemaValidator, ComplianceTracker } from '@xflofoxx/lumisdk';
// 1. Create a specification
const spec = Spec.create({
name: 'UserService',
version: '1.0.0',
description: 'User management service',
schema: {
type: 'object',
properties: {
id: { type: 'string' },
name: { type: 'string' },
email: { type: 'string', format: 'email' }
},
required: ['id', 'name', 'email']
},
requirements: [{
id: 'REQ-001',
description: 'User can register with valid email',
priority: 'high',
status: 'completed',
testable: true,
acceptanceCriteria: ['Email validated', 'User persisted']
}]
});
// 2. Generate TypeScript types
const generator = new TypeScriptGenerator();
console.log(generator.generate(spec).code);
// 3. Validate data
const validator = new JsonSchemaValidator();
const result = validator.validateJsonSchema(
{ id: '1', name: 'John', email: 'john@example.com' },
spec.schema!
);
// 4. Track compliance
const tracker = new ComplianceTracker(registry);
tracker.trackChange(spec.id, 'REQ-001', 'verified');
console.log(tracker.generateReport(spec.id).compliancePercentage);This project follows the PM² Project Management Methodology developed by the European Commission. PM² provides a structured approach with four phases:
Define project charter, stakeholders, and initial risks.
Create handbook, work plan, schedule, and budget.
Implement deliverables and monitor progress.
Deliver final outputs and document lessons learned.