typescript-ddd-standards

Define TypeScript Domain-Driven Design standards for layered backend projects.

Updated Nov 15, 2025
One-click install
npx skills add https://github.com/posiposi/dragons-counter --skill typescript-ddd-standards
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: typescript-ddd-standards
Source: https://github.com/posiposi/dragons-counter/tree/main/.claude/skills/typescript-ddd-standards
Command: npx skills add https://github.com/posiposi/dragons-counter --skill typescript-ddd-standards

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill defines a clear, repeatable standard for implementing Domain-Driven Design in TypeScript backends, reducing ambiguity and boosting code quality across teams.

Core Features & Use Cases

  • DDD layering: Provides guidance for domain, application/use cases, ports, and adapters to enforce clean boundaries.
  • Consistent patterns: Prescribes factory methods, immutability, value objects, entities, aggregates, and domain services.
  • Adoption guidance: Includes practical examples and best practices for NestJS-style architectures to improve maintainability and testability.
  • Use Case Scenarios: When starting a new backend project, apply these standards to scaffold a robust, extensible architecture.

Quick Start

Apply these TypeScript DDD standards to structure a new NestJS backend project.

Frequently Asked Questions about typescript-ddd-standards

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a TypeScript backend project using Domain-Driven Design?

Structure a TypeScript DDD backend by applying layered architectures: separate domain, use cases, adapters, and ports to enforce explicit boundaries. This standard prescribes patterns for entities, aggregates, and services to improve maintainability and testability across teams.

What is the best way to implement aggregates and value objects in TypeScript?

The best way to implement aggregates and value objects in TypeScript is by enforcing immutability and using factory-based object creation. This approach ensures consistent domain modeling and explicit separation of concerns within your backend architecture.

Can I apply these DDD coding standards to a NestJS backend project?

Yes, you can apply these DDD coding standards to a NestJS backend project. The standard includes practical examples and best practices specifically tailored for NestJS-style architectures to help scaffold robust, extensible domain layers.

Why does TypeScript DDD require factory methods for object creation?

TypeScript DDD requires factory methods for object creation to enforce immutability and maintain explicit separation of concerns. This pattern reduces ambiguity during instantiation and ensures domain entities and value objects remain in a valid state.

When do I need ports and adapters in a TypeScript DDD architecture?

You need ports and adapters in a TypeScript DDD architecture when defining clean boundaries between the domain layer and external dependencies. This pattern isolates use cases and domain logic from infrastructure concerns, boosting testability and maintainability.