V3 Core Implementation

Implements DDD domains and clean architecture patterns for TypeScript core modules.

Updated Feb 17, 2026
One-click install
npx skills add https://github.com/derbalimajd04-dot/al-wasat --skill v3-core-implementation-derbalimajd04-dot
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: V3 Core Implementation
Source: https://github.com/derbalimajd04-dot/al-wasat/tree/main/.agents/skills/v3-core-implementation
Command: npx skills add https://github.com/derbalimajd04-dot/al-wasat --skill v3-core-implementation-derbalimajd04-dot

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires inversify.

What problem does it solve? Building a modular TypeScript codebase with proper domain boundaries, dependency injection, and test coverage requires significant architectural decisions and boilerplate. This Skill provides a complete blueprint for implementing core modules using Domain-Driven Design, eliminating guesswork around entity design, repository patterns, and use case orchestration. ## Core Features & Use Cases - DDD Domain Implementation: Provides base classes for entities, value objects, and aggregate roots, plus complete domain implementations for task management, session management, and health monitoring. - Clean Architecture Setup: Defines layered structure with domain, application, and infrastructure separation, including dependency injection container configuration with Inversify. - Testing Patterns: Includes unit test patterns for domain entities and integration test patterns for SQLite repositories. - Use Case: When bootstrapping a new TypeScript backend service, use this Skill to scaffold the task management domain with entities, value objects, repositories, use cases, and tests following strict DDD conventions. ## Quick Start Ask the AI to implement the task management domain with entities, value objects, repositories, and unit tests following DDD patterns.

Frequently Asked Questions about V3 Core Implementation

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

FAQPage Schema
How do I implement DDD entities in TypeScript?▼

Create an abstract Entity base class with an identity field, equality comparison, and domain event collection. Extend it with concrete entities using private constructors and static factory methods like create() and reconstitute() to enforce invariants.

How to structure a clean architecture TypeScript project?▼

Organize code into core domains with entities, value objects, services, and repositories, plus a shared kernel for base classes and an application layer for use cases. Use path aliases in tsconfig.json to enforce clean import boundaries between layers.

What dependency injection library works with TypeScript decorators?▼

Inversify works with TypeScript decorators for dependency injection. Enable experimentalDecorators and emitDecoratorMetadata in tsconfig.json, then bind interfaces to implementations in a container with singleton scope.

How do I test domain entities with domain events?▼

Test entities by calling behavior methods and asserting on getUncommittedEvents() to verify events were raised. Use in-memory SQLite databases for repository integration tests to validate mapping between rows and reconstituted aggregates.

When should I use value objects instead of primitives?▼

Use value objects when a concept has validation rules, equality semantics, or behavior beyond a raw primitive, such as TaskId or Priority. They encapsulate invariants and make invalid states unrepresentable in the domain model.