- Notifications
You must be signed in to change notification settings - Fork1
A suite of Ruby libraries crafted to arm engineers with the magic of domain-driven design.
License
domainic/domainic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Important
We're running an experiment with Domainic::Type! Help us explore flexible type validation in Ruby by trying ouralpha release. Your feedback isinvaluable for shaping the future of domain-driven design in Ruby.
A suite of Ruby libraries crafted to arm engineers with the magic of domain-driven design.
Warning
The Domainic gem is currently in pre-release. Until v0.1.0, components must be installed individually.
Domainic is an ecosystem of Ruby gems designed to provide a comprehensive toolkit for domain-driven design. The v0.1.0release will include:
- domainic-attributer - Type-safe,self-documenting class attributes
- domainic-boundary - Clean interfaces between domain boundaries
- domainic-command - First-class command objects forbusiness operations
- domainic-type - Sophisticated type constraints andvalidation
Thedomainic
gem itself will bundle all components starting with v0.1.0. Until then:
- Components are being released individually
- You must install each component separately
- Only domainic-attributer is currently available
Install components individually:
# Gemfilegem'domainic-attributer'gem'domainic-command'gem'domainic-type'# Currently in pre-release alpha
Once v0.1.0 is released, you'll be able to install everything at once:
# Gemfilegem'domainic'# Will include all components
- domainic-attributer - A library fordefining type-safe self-documenting class attributes
- domainic-command - An implementation of the commandpattern for Ruby
- domainic-type - Stupidly granular type validations forRuby (currently in pre-release alpha)
- Clone the repository
- Run
bin/setup
to install dependencies - Run
bin/dev ci
to ensure everything is set up correctly
Domainic uses a development CLI to manage the monorepo and ensure consistent development practices. View availablecommands withbin/dev help
. Seedomainic-devfor more information.
Key commands:
bin/dev ci# Run the full CI pipeline - REQUIRED before submitting PRsbin/devtest# Run tests for specific gemsbin/dev lint# Run linters
Domainic is organized as a monorepo containing multiple gems:
domainic-attributer/
- Type-safe class attributesdomainic-boundary/
- Clean domain boundariesdomainic-command/
- Command objectsdomainic-type/
- Type constraints and validation
We welcome contributions! Please see ourContributing Guidelines for:
- Development setup and workflow
- Code style and documentation standards
- Testing requirements
- Pull request process
Before contributing, please review ourCode of Conduct.
The gem is available as open source under the terms of theMIT License.
About
A suite of Ruby libraries crafted to arm engineers with the magic of domain-driven design.
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.