-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmkdocs.yml
More file actions
212 lines (206 loc) · 8.28 KB
/
Copy pathmkdocs.yml
File metadata and controls
212 lines (206 loc) · 8.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
site_name: CMDx
site_description: Build business logic that's powerful, predictable, and maintainable.
site_author: drexed
site_url: https://drexed.github.io/cmdx/
repo_name: drexed/cmdx
repo_url: https://github.com/drexed/cmdx
edit_uri: edit/main/docs/
copyright: Drexed, Inc. © 2025 - EoT
theme:
name: material
custom_dir: docs/overrides
logo: assets/favicon.svg
favicon: assets/favicon.ico
icon:
repo: fontawesome/brands/github
font:
text: DM Sans
code: DM Mono
palette:
# Palette toggle for automatic mode
- media: "(prefers-color-scheme)"
primary: custom
accent: custom
toggle:
icon: material/brightness-auto
name: Switch to light mode
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
primary: custom
accent: custom
toggle:
icon: material/brightness-7
name: Switch to dark mode
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: custom
accent: custom
toggle:
icon: material/brightness-4
name: Switch to system preference
features:
- content.code.annotate
- content.code.copy
- content.tabs.link
- content.tooltips
- navigation.footer
- navigation.instant
- navigation.instant.prefetch
- navigation.instant.progress
- navigation.expand
- navigation.path
- navigation.sections
- navigation.tabs
- navigation.tabs.sticky
- navigation.top
- navigation.tracking
- search.highlight
- search.share
- search.suggest
markdown_extensions:
- admonition
- attr_list
- md_in_html
- pymdownx.details
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.tabbed:
alternate_style: true
- tables
- toc:
permalink: true
title: On this page
plugins:
- search
- rss:
match_path: blog/posts/.*
date_from_meta:
as_creation: date
categories:
- categories
- blog:
blog_dir: blog
blog_toc: true
post_date_format: long
post_url_format: "{slug}"
archive_date_format: MMMM yyyy
draft_if_future_date: true
categories_allowed:
- Tutorials
- Updates
- llmstxt:
markdown_description: >-
CMDx is a Ruby framework for building maintainable, observable business logic through composable command/service objects.
It brings structure, consistency, and powerful developer tools to your business processes.
full_output: llms-full.txt
sections:
"Getting Started":
- index.md: CMDx framework overview, installation, quick examples, and core concepts
- getting_started.md: Task setup and framework fundamentals (CERO pattern)
- configuration.md: Comprehensive guide to CMDx configuration
Basics:
- basics/setup.md: Task structure, inheritance, and basic setup requirements
- basics/execution.md: Task execution methods (execute vs execute!), error handling, and control flow
- basics/context.md: Context object for data sharing, input/output management, and attribute access
- basics/chain.md: Execution chain tracking for related tasks within threads
Interruptions:
- interruptions/signals.md: Intentional task interruption using skip! and fail! methods
- interruptions/faults.md: CMDx::Fault raised by execute! with task class, signal, and cleaned backtrace
- interruptions/exceptions.md: Complete exception hierarchy (Error, DeprecationError, ImplementationError, MiddlewareError, Fault) and execute vs execute! semantics
Outcomes:
- outcomes/result.md: Result objects exposing execution state, status, context, and metadata
- outcomes/states.md: Execution lifecycle states (initialized, executing, complete, interrupted)
- outcomes/statuses.md: Business outcome statuses (success, skipped, failed) and transitions
- outcomes/errors.md: Structured per-attribute error container accumulated during input/output verification and exposed on result.errors
Attributes:
- inputs/definitions.md: Attribute declarations (required/optional), validation, and type coercion
- inputs/naming.md: Customizing accessor method names with prefixes and suffixes
- inputs/coercions.md: Automatic type conversion for inputs (string to integer, date parsing, etc.)
- inputs/validations.md: Input validation rules (presence, length, format, numeric, inclusion, exclusion)
- inputs/defaults.md: Default values for optional inputs (static, dynamic, callable)
- inputs/transformations.md: Value transformation after coercion but before validation
Features:
- callbacks.md: Execution lifecycle callbacks (before_execution, on_success, on_failure, etc.)
- middlewares.md: Cross-cutting concerns wrapping task execution (authentication, caching, timeouts)
- logging.md: Structured logging with multiple formatters (JSON, KeyValue, Logstash, Line, Raw)
- internationalization.md: Multi-language support for error messages and validations (90+ locales)
- retries.md: Automatic retry functionality for transient failures with jitter and selective retries
- deprecation.md: Managing deprecated tasks with logging, warnings, or execution prevention
- outputs.md: Declaring expected context outputs that must be set after task execution
- workflows.md: Composing multiple tasks into sequential pipelines with conditional execution
More:
- testing.md: Best practices for testing CMDx tasks and workflows with RSpec
- tips_and_tricks.md: Best practices, patterns, and techniques for maintainable CMDx applications
- comparison.md: Comparison with other command/service object frameworks
- v2-migration.md: Migration guide from CMDx 1.x to 2.0
nav:
- Home: index.md
- Documentation:
- Getting Started: getting_started.md
- Configuration: configuration.md
- Basics:
- Setup: basics/setup.md
- Execution: basics/execution.md
- Context: basics/context.md
- Chain: basics/chain.md
- Interruptions:
- Signals: interruptions/signals.md
- Faults: interruptions/faults.md
- Exceptions: interruptions/exceptions.md
- Outcomes:
- Result: outcomes/result.md
- States: outcomes/states.md
- Statuses: outcomes/statuses.md
- Errors: outcomes/errors.md
- Inputs:
- Definitions: inputs/definitions.md
- Naming: inputs/naming.md
- Coercions: inputs/coercions.md
- Validations: inputs/validations.md
- Defaults: inputs/defaults.md
- Transformations: inputs/transformations.md
- Features:
- Callbacks: callbacks.md
- Middlewares: middlewares.md
- Logging: logging.md
- Internationalization: internationalization.md
- Retries: retries.md
- Deprecation: deprecation.md
- Outputs: outputs.md
- Workflows: workflows.md
- More:
- Testing: testing.md
- Tips and Tricks: tips_and_tricks.md
- Comparison: comparison.md
- v1 → v2 Migration: v2-migration.md
- Examples: https://github.com/drexed/cmdx/blob/main/examples/index.md
- References:
- API Documentation: https://drexed.github.io/cmdx/api/index.html
- llms.txt: https://drexed.github.io/cmdx/llms.txt
- llms-full.txt: https://drexed.github.io/cmdx/llms-full.txt
- AI Skills: https://github.com/drexed/cmdx/blob/main/skills
- Ecosystem:
- cmdx-i18n: https://github.com/drexed/cmdx-i18n
- cmdx-rspec: https://github.com/drexed/cmdx-rspec
- Blog: blog/index.md
extra:
generator: false
social:
- icon: fontawesome/brands/github
link: https://github.com/drexed/cmdx
- icon: fontawesome/solid/rss
link: https://drexed.github.io/cmdx/feed_rss_created.xml
extra_css:
- stylesheets/extra.css