domain

Generate DDD module structures, boilerplate code, and testing templates in Rails applications.

504|85|Updated Jul 8, 2019
One-click install
npx skills add https://github.com/RailsEventStore/ecommerce --skill domain-railseventstore
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain
Source: https://github.com/RailsEventStore/ecommerce/tree/main/.claude/skills/domain
Command: npx skills add https://github.com/RailsEventStore/ecommerce --skill domain-railseventstore

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

It provides a systematic approach to creating and expanding domain models with clear boundaries, command definitions, and event handling, improving code organization and scalability.

Core Features & Use Cases

  • Structured Domain Creation: Guides the setup of domain directories, files, and boilerplate code for new bounded contexts.
  • Command and Event Generation: Facilitates the creation of command classes, event classes, and aggregate roots adhering to best practices.
  • Use Case: When building a new feature such as order management, this Skill helps rapidly scaffold the necessary domain components for consistent implementation.

Quick Start

Ask for assistance to create a new domain called 'inventory' with its commands, events, and aggregate structure.

Frequently Asked Questions about domain

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

FAQPage Schema
How do I structure a new bounded context in a Rails application?

To structure a bounded context in a Rails application, you can generate the directory structure, boilerplate code, and testing templates for aggregates, commands, and events. This systematic approach ensures clear boundaries and adherence to domain-driven design conventions for maintainable code.

How do I generate boilerplate code for aggregates, commands, and events?

You can generate boilerplate code for aggregates, commands, and events by requesting a new domain scaffold. The Skill automatically creates the necessary command classes, event classes, and aggregate roots, facilitating rapid development while adhering to domain-driven design best practices.

When do I need domain-driven design modules for complex domains?

You need domain-driven design modules when building scalable bounded contexts in complex software systems. They provide a systematic approach to creating and expanding domain models with clear boundaries, which is essential for maintaining code organization as features grow.

Can I use this to scaffold an order management domain with commands and events?

Yes, you can scaffold an order management domain by asking the Skill to create a new domain. It will rapidly generate the necessary aggregate structure, command classes, and event components for consistent implementation of the order management feature.

Does this approach enforce domain-driven design conventions and best practices?

Yes, this approach ensures adherence to domain-driven design conventions and best practices. It guides the setup of domain directories and boilerplate code, improving maintainability by systematically structuring bounded contexts, command definitions, and event handling.