ddd-service-specialist

Design and enforce domain-driven services with QueryBuilder patterns in PHP/Symfony.

3|Updated Feb 12, 2024
One-click install
npx skills add https://github.com/mgamadeus/ddd --skill ddd-service-specialist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd-service-specialist
Source: https://github.com/mgamadeus/ddd/tree/main/.claude/skills/ddd-service-specialist
Command: npx skills add https://github.com/mgamadeus/ddd --skill ddd-service-specialist

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The DDD Service Specialist helps teams design and implement domain-driven design services, enforces business rules across service layers, and provides templates for QueryBuilder patterns and rights protection within mgamadeus/ddd, enabling consistent, scalable domain logic.

Core Features & Use Cases

  • Service-oriented architecture guidance for domain-bound services (EntitiesService) and cross-cutting services.
  • Rights protection and access control integration in DB repositories, with best-practice patterns and templates.
  • QueryBuilder pattern templates and architectural conventions to ensure consistent, safe data access across domains.
  • Real-world scenario guidance for building domain services that manage entity lifecycles and repository interactions.

Quick Start

Create a new Domain Orders service extending EntitiesService and implement a rights-aware query to filter by the current user's location.

Frequently Asked Questions about ddd-service-specialist

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

FAQPage Schema
How do I design domain-driven services in PHP that enforce business logic and rights protection?

To design domain-driven services in PHP, you can extend entity-bound service base classes and implement rights-aware QueryBuilder patterns across repositories to ensure consistent business logic and access control.

How do I implement a rights-aware QueryBuilder pattern in Symfony repositories?

You can implement a rights-aware QueryBuilder pattern by using provided architectural templates within your repositories. This ensures safe, consistent data access and integrates access control directly into your database queries.

What is an EntitiesService in domain-driven design architecture?

An EntitiesService is a domain-bound service that manages entity lifecycles and repository interactions. It provides a structured base class for encapsulating business logic and ensuring consistent cross-cutting concerns.

Can I use this approach to build custom services outside of entity-bound operations?

Yes, you can build custom services for cross-cutting concerns that operate outside of entity-bound operations. The architecture supports both EntitiesService extensions and standalone custom services using container-based resolution.

Do I need container-based resolution to implement DDD services in PHP?

Yes, container-based resolution is required to properly instantiate and manage your domain-driven design services. It ensures adherence to DDD architecture conventions and handles dependencies for service base classes.