Lightweight Spec-Driven Development Framework with integrated PM² methodology

v1.0.0 MIT License TypeScript PM² Compliant

About LumiSDD

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.

Install

npm install @xflofoxx/LumiSDD

Key Features

📋 Spec Management

Create specifications with requirements, constraints, and metadata. Support for JSON Schema and OpenAPI.

✅ Schema Validation

Built-in JSON Schema validation (Draft-07, 2020-12) and OpenAPI 2.0/3.0/3.1 validation.

💻 Code Generation

Generate TypeScript types and Markdown documentation automatically from specifications.

📊 Compliance Tracking

Track requirement status and generate compliance reports over time.

🏛️ PM² Integration

Full PM² methodology workflow with phases, roles, deliverables, and phase gates.

🔒 Type Safety

Full TypeScript support with strict typing and generated type definitions.

Why LumiSDD?

❌ Traditional Development

  • Code-centric approach
  • Documentation as afterthought
  • Manual validation
  • Unclear requirements
  • Ad-hoc processes

✅ LumiSDD Approach

  • Specification-centric
  • Documentation generated
  • Automated schema validation
  • Tracked, verifiable requirements
  • PM² methodology integration

Quick Start

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);

PM² Methodology

This project follows the PM² Project Management Methodology developed by the European Commission. PM² provides a structured approach with four phases:

🚀 Initiating

Define project charter, stakeholders, and initial risks.

📝 Planning

Create handbook, work plan, schedule, and budget.

⚡ Executing

Implement deliverables and monitor progress.

🎯 Closing

Deliver final outputs and document lessons learned.