ace-handbook 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/handbook/config.yml +4 -0
  3. data/.ace-defaults/nav/protocols/guide-sources/ace-handbook.yml +19 -0
  4. data/.ace-defaults/nav/protocols/tmpl-sources/ace-handbook.yml +10 -0
  5. data/.ace-defaults/nav/protocols/wfi-sources/ace-handbook.yml +19 -0
  6. data/CHANGELOG.md +362 -0
  7. data/LICENSE +21 -0
  8. data/README.md +42 -0
  9. data/Rakefile +12 -0
  10. data/exe/ace-handbook +6 -0
  11. data/handbook/guides/ai-agent-integration.g.md +625 -0
  12. data/handbook/guides/atom-pattern.g.md +371 -0
  13. data/handbook/guides/changelog.g.md +333 -0
  14. data/handbook/guides/cli-dry-cli.g.md +276 -0
  15. data/handbook/guides/cli-support-cli.g.md +277 -0
  16. data/handbook/guides/coding-standards/ruby.md +41 -0
  17. data/handbook/guides/coding-standards/rust.md +19 -0
  18. data/handbook/guides/coding-standards/typescript.md +20 -0
  19. data/handbook/guides/coding-standards.g.md +134 -0
  20. data/handbook/guides/debug-troubleshooting.g.md +62 -0
  21. data/handbook/guides/error-handling/ruby.md +29 -0
  22. data/handbook/guides/error-handling/rust.md +59 -0
  23. data/handbook/guides/error-handling/typescript.md +38 -0
  24. data/handbook/guides/error-handling.g.md +207 -0
  25. data/handbook/guides/meta/agents-definition.g.md +823 -0
  26. data/handbook/guides/meta/guides-definition.g.md +322 -0
  27. data/handbook/guides/meta/markdown-definition.g.md +210 -0
  28. data/handbook/guides/meta/tools-definition.g.md +159 -0
  29. data/handbook/guides/meta/workflow-instructions-definition.g.md +367 -0
  30. data/handbook/guides/mono-repo-patterns.g.md +92 -0
  31. data/handbook/guides/multi-agent-research.g.md +251 -0
  32. data/handbook/guides/performance/ruby.md +25 -0
  33. data/handbook/guides/performance/rust.md +48 -0
  34. data/handbook/guides/performance/typescript.md +32 -0
  35. data/handbook/guides/performance.g.md +211 -0
  36. data/handbook/guides/prompt-caching.g.md +83 -0
  37. data/handbook/guides/quality-assurance/ruby.md +33 -0
  38. data/handbook/guides/quality-assurance/rust.md +41 -0
  39. data/handbook/guides/quality-assurance/typescript.md +49 -0
  40. data/handbook/guides/quality-assurance.g.md +222 -0
  41. data/handbook/guides/strategic-planning.g.md +69 -0
  42. data/handbook/guides/troubleshooting/ruby.md +21 -0
  43. data/handbook/guides/troubleshooting/rust.md +20 -0
  44. data/handbook/guides/troubleshooting/typescript.md +36 -0
  45. data/handbook/guides/workflow-context-embedding.g.md +286 -0
  46. data/handbook/skills/as-handbook-init-project/SKILL.md +34 -0
  47. data/handbook/skills/as-handbook-manage-agents/SKILL.md +35 -0
  48. data/handbook/skills/as-handbook-manage-guides/SKILL.md +35 -0
  49. data/handbook/skills/as-handbook-manage-workflows/SKILL.md +35 -0
  50. data/handbook/skills/as-handbook-parallel-research/SKILL.md +29 -0
  51. data/handbook/skills/as-handbook-perform-delivery/SKILL.md +35 -0
  52. data/handbook/skills/as-handbook-review-guides/SKILL.md +32 -0
  53. data/handbook/skills/as-handbook-review-workflows/SKILL.md +32 -0
  54. data/handbook/skills/as-handbook-synthesize-research/SKILL.md +29 -0
  55. data/handbook/skills/as-handbook-update-docs/SKILL.md +35 -0
  56. data/handbook/skills/as-release/SKILL.md +50 -0
  57. data/handbook/skills/as-release-bump-version/SKILL.md +28 -0
  58. data/handbook/skills/as-release-rubygems-publish/SKILL.md +58 -0
  59. data/handbook/skills/as-release-update-changelog/SKILL.md +28 -0
  60. data/handbook/templates/completed-work-documentation.md +59 -0
  61. data/handbook/templates/cookbooks/cookbook.template.md +237 -0
  62. data/handbook/templates/research-comparison.template.md +175 -0
  63. data/handbook/workflow-instructions/handbook/init-project.wf.md +629 -0
  64. data/handbook/workflow-instructions/handbook/manage-agents.wf.md +379 -0
  65. data/handbook/workflow-instructions/handbook/manage-guides.wf.md +294 -0
  66. data/handbook/workflow-instructions/handbook/manage-workflows.wf.md +292 -0
  67. data/handbook/workflow-instructions/handbook/parallel-research.wf.md +328 -0
  68. data/handbook/workflow-instructions/handbook/perform-delivery.wf.md +267 -0
  69. data/handbook/workflow-instructions/handbook/research.wf.md +247 -0
  70. data/handbook/workflow-instructions/handbook/review-guides.wf.md +348 -0
  71. data/handbook/workflow-instructions/handbook/review-workflows.wf.md +299 -0
  72. data/handbook/workflow-instructions/handbook/synthesize-research.wf.md +429 -0
  73. data/handbook/workflow-instructions/handbook/update-docs.wf.md +338 -0
  74. data/lib/ace/handbook/atoms/provider_registry.rb +70 -0
  75. data/lib/ace/handbook/cli/commands/status.rb +36 -0
  76. data/lib/ace/handbook/cli/commands/sync.rb +36 -0
  77. data/lib/ace/handbook/cli.rb +51 -0
  78. data/lib/ace/handbook/models/skill_document.rb +25 -0
  79. data/lib/ace/handbook/molecules/skill_projection.rb +54 -0
  80. data/lib/ace/handbook/organisms/provider_syncer.rb +106 -0
  81. data/lib/ace/handbook/organisms/skill_inventory.rb +54 -0
  82. data/lib/ace/handbook/organisms/status_collector.rb +181 -0
  83. data/lib/ace/handbook/version.rb +7 -0
  84. data/lib/ace/handbook.rb +28 -0
  85. metadata +227 -0
@@ -0,0 +1,367 @@
1
+ ---
2
+ doc-type: guide
3
+ title: Writing Effective Workflow Instructions
4
+ purpose: Documentation for ace-handbook/handbook/guides/meta/workflow-instructions-definition.g.md
5
+ ace-docs:
6
+ last-updated: 2026-02-22
7
+ last-checked: 2026-03-21
8
+ ---
9
+
10
+ # Writing Effective Workflow Instructions
11
+
12
+
13
+ This guide explains how to create and structure the Markdown-based workflow instructions used by the AI agent within this project. Effective instructions are clear, specific, and provide sufficient context for the AI to perform tasks accurately and efficiently.
14
+ **Important:** These instructions are designed to be *read and followed by the AI agent*. They are not scripts to be executed directly in a shell. The user typically invokes a workflow by asking the agent to follow the steps outlined in a specific instruction file, often providing necessary inputs like file paths.
15
+
16
+ ## Core Principles
17
+
18
+ 1. **Clarity & Specificity**: Instructions should be unambiguous. Use clear action verbs and define expected inputs and outputs precisely. Avoid vague language.
19
+ 2. **Self-Containment**: Each workflow should be independently executable without requiring external references. Embed all necessary templates, examples, and context directly within the workflow.
20
+ 3. **Context Loading**: Include a `## Project Context Loading` section that lists specific files an AI agent should load before executing the workflow. This replaces the need for cross-workflow dependencies.
21
+ 4. **Structured Format**: Use consistent Markdown sections:
22
+ - `## Goal` - Clear objective statement
23
+ - `## Prerequisites` - Required conditions
24
+ - `## Project Context Loading` - Files to load
25
+ - `## High-Level Execution Plan` - Planning and execution phases with checkboxes
26
+ - `## Process Steps` - Detailed implementation steps
27
+ - `## Success Criteria` - Validation points
28
+ 5. **Embedded Content**: Instead of referencing external templates or guides, embed the essential content directly. This includes:
29
+ - Template structures
30
+ - Example commands
31
+ - Common patterns
32
+ - Format specifications
33
+ 6. **Focus**: Each workflow instruction should address a single, well-defined process or goal. Complex workflows should still be self-contained rather than split into sub-workflows.
34
+ 7. **Examples**: Provide concrete examples of inputs, outputs, or expected results inline. Embed template content rather than referencing external files.
35
+ 8. **Planning Before Execution**: Include a high-level execution plan with planning and execution phases, using checkboxes for task tracking during workflow execution.
36
+
37
+ ## Handling Technology-Specific Content
38
+
39
+ Workflow instructions should be self-contained while remaining practical across different technology stacks. This is achieved through embedded examples and patterns rather than external references.
40
+
41
+ ### Embedding Technology Examples
42
+
43
+ When dealing with technology-specific content:
44
+
45
+ 1. **Embed Common Examples**: Include examples for multiple common technologies directly in the workflow:
46
+ ```markdown
47
+ ### Common Test Commands
48
+ - Ruby: `bundle exec rspec`
49
+ - Node.js: `npm test`
50
+ - Python: `pytest`
51
+ - Rust: `cargo test`
52
+ ```
53
+
54
+ 2. **Use Inline Pattern Sections**: Create sections that show patterns for different stacks:
55
+ ```markdown
56
+ ### Version File Locations
57
+ - Node.js: `package.json`
58
+ - Ruby: `*.gemspec` or `lib/*/version.rb`
59
+ - Python: `setup.py` or `pyproject.toml`
60
+ - Rust: `Cargo.toml`
61
+ ```
62
+
63
+ 3. **Provide Template Adaptations**: When embedding templates, show variations:
64
+ ```markdown
65
+ ### Build Commands
66
+ ```bash
67
+ # TODO: Replace with project-specific build command
68
+ # Examples:
69
+ # - Ruby: bundle install
70
+ # - Node.js: npm install && npm run build
71
+ # - Python: pip install -r requirements.txt
72
+ # - Rust: cargo build --release
73
+ ```
74
+ ```
75
+
76
+ This approach ensures workflows remain self-contained and immediately usable without external lookups, while providing practical guidance for different technology stacks.
77
+
78
+ ## Standard Workflow Instruction Structure
79
+
80
+ All workflow instructions should follow this standardized structure for consistency and self-containment:
81
+
82
+ ```markdown
83
+ # [Workflow Name] Workflow Instruction
84
+
85
+ ## Goal
86
+
87
+ Clearly state the primary objective of this workflow. What problem does it solve or what process does it facilitate?
88
+
89
+ ## Prerequisites
90
+
91
+ - List any conditions that must be met before starting
92
+ - Required tools, permissions, or project state
93
+ - Do NOT reference other workflows that must be run first
94
+
95
+ ## Project Context Loading
96
+
97
+ * Load project objectives: `docs/vision.md`
98
+ * Load architecture: `docs/architecture.md`
99
+ * Load current release: `dev-taskflow/current/*/`
100
+ * [Other specific files relevant to this workflow]
101
+
102
+ ## High-Level Execution Plan
103
+
104
+ ### Planning Phase
105
+ * [ ] [Planning step 1]
106
+ * [ ] [Planning step 2]
107
+ * [ ] [Planning step 3]
108
+
109
+ ### Execution Phase
110
+ - [ ] [Execution step 1]
111
+ - [ ] [Execution step 2]
112
+ - [ ] [Execution step 3]
113
+
114
+ ## Process Steps
115
+
116
+ 1. **Step Name**: Detailed description
117
+ * Sub-steps with specific actions
118
+ * Embed any necessary templates or examples here
119
+ * Include commands inline rather than referencing external docs
120
+
121
+ 2. **Step Name**: Next major step
122
+ ```bash
123
+ # Example commands embedded directly
124
+ bin/test
125
+ bin/lint
126
+ ```
127
+
128
+ ## Embedded Templates
129
+
130
+ ### Template Name
131
+ ```markdown
132
+ [Complete template content embedded here]
133
+ [No external references]
134
+ ```
135
+
136
+ ### Another Template
137
+ ```yaml
138
+ [Full template structure]
139
+ [All fields documented]
140
+ ```
141
+
142
+ ## Success Criteria
143
+
144
+ - Clear, verifiable outcomes listed as simple bullets
145
+ - No checkboxes in success criteria
146
+ - Focus on what should exist or be true after completion
147
+ - Each criterion should be objectively verifiable
148
+
149
+ ## Common Patterns
150
+
151
+ ### Pattern 1
152
+ [Description and example embedded]
153
+
154
+ ### Pattern 2
155
+ [Description and example embedded]
156
+
157
+ ## Best Practices
158
+
159
+ **DO:**
160
+ - [Specific practices for this workflow]
161
+ - [Common successful approaches]
162
+
163
+ **DON'T:**
164
+ - [Common pitfalls to avoid]
165
+ - [Anti-patterns specific to this workflow]
166
+ ```
167
+
168
+ ## File Naming Convention
169
+
170
+ All workflow instruction files must use the `.wf.md` suffix to distinguish them from guides (which use `.g.md`). This convention enables proper editor configuration and clear separation of content types.
171
+
172
+ ### Naming Pattern
173
+ - **Format:** Use the pattern `<verb>-<context>.wf.md`.
174
+ - `<verb>`: Represents the primary action or purpose of the workflow (e.g., `commit`, `fix`, `prepare`, `release`, `run`, `work-on`).
175
+ - `<context>`: Provides specific context for the action (e.g., `tests`, `tasks`, `task`).
176
+ - **Style:** Use verb-first naming that describes what action the workflow performs
177
+ - **Prefix:** Avoid prefixes like `lets-`. Files previously using this prefix should be renamed.
178
+ - **Examples:**
179
+ - `commit.wf.md`
180
+ - `fix-tests.wf.md`
181
+ - `prepare-tasks.wf.md`
182
+ - `release.wf.md`
183
+ - `work-on-task.wf.md`
184
+
185
+ ### Contrast with Guides
186
+ Unlike guides (`.g.md` files) which use noun-based naming to describe knowledge areas:
187
+ - **Workflows** describe processes to execute: `commit.wf.md`, `fix-tests.wf.md`
188
+ - **Guides** document standards and knowledge: `security.g.md`, `performance.g.md`
189
+
190
+ This naming distinction helps both humans and AI agents quickly identify whether a file provides executable instructions (workflow) or reference information (guide).
191
+
192
+ ## Examples from This Project
193
+
194
+ Review these refactored workflow instructions that demonstrate self-containment principles:
195
+
196
+ ### Context Loading Example
197
+ `wfi://bundle` (project context loading):
198
+ - Includes explicit file loading instructions
199
+ - No external workflow dependencies
200
+ - Clear context gathering steps
201
+
202
+ ### Embedded Templates Example
203
+ `wfi://handbook/init-project`:
204
+ - Contains complete PRD, README, and architecture templates
205
+ - Embeds all binstub scripts
206
+ - Includes full v.0.0.0 release structure
207
+
208
+ ### Simplified Process Example
209
+ `wfi://task/draft`:
210
+ - Unified approach for all input types
211
+ - Embedded task template
212
+ - No sub-workflow dependencies
213
+
214
+ ### Command Reference Example
215
+ `wfi://release/publish`:
216
+ - Embeds package registry commands for all major platforms
217
+ - Includes changelog format specification
218
+ - Contains complete release process without external references
219
+
220
+ ## Key Refactoring Principles
221
+
222
+ When refactoring workflows for independence:
223
+
224
+ 1. **Embed, Don't Reference**: Copy essential content from guides into workflows
225
+ 2. **Explicit Context Loading**: List specific files to load at the start
226
+ 3. **Include All Templates**: Embed complete templates rather than referencing them
227
+ 4. **Provide Multiple Examples**: Show patterns for different technology stacks
228
+ 5. **Self-Contained Commands**: Include full command examples inline
229
+ 6. **Remove Cross-Dependencies**: No workflow should require another workflow to run first
230
+
231
+ ## See Also
232
+
233
+ - [Embedding Tests in AI Agent Workflows](./workflow-instructions-embedding-tests.g.md)
234
+
235
+ ## Writing Style Tips
236
+
237
+ * **Use Action Verbs:** Start steps with clear verbs (e.g., "Create", "Update", "Verify", "Parse", "Generate").
238
+ * **Be Concise:** Avoid unnecessary jargon or overly long explanations.
239
+ * **Embed Content:** Instead of referencing external guides or templates, embed the essential content directly in the workflow. This ensures self-containment.
240
+ * **List Context Files:** In the Project Context Loading section, use root-relative paths to list files the AI should load before starting (e.g., `docs/architecture.md`, `dev-taskflow/current/*/`).
241
+ * **Treat AI as a "Junior Developer":** Provide clear, step-by-step guidance, but also reference established project standards and expect the AI to follow them once pointed to them. Avoid ambiguity.
242
+
243
+ ## List Formatting in Workflows
244
+
245
+ Workflow instructions use simple bullet points and numbered lists, avoiding interactive checkboxes except in templates and examples. Understanding proper formatting is crucial for effective AI agent interaction.
246
+
247
+ ### ✅ Success Criteria: Use Simple Bullet Points
248
+
249
+ **Post-Execution Validation:**
250
+ ```markdown
251
+ ## Success Criteria
252
+ - All specified files have been created in the correct locations
253
+ - Configuration changes are applied and verified
254
+ - Tests pass and coverage requirements are met
255
+ - Documentation has been updated to reflect changes
256
+ ```
257
+
258
+ These criteria serve as a **validation list** to confirm the workflow was completed successfully. They should:
259
+ - Be specific and verifiable
260
+ - Focus on outcomes rather than process steps
261
+ - Allow manual verification by humans or agents
262
+ - Be written as simple bullet points, never as interactive checkboxes
263
+
264
+ ### ❌ Never Use Checkboxes in Workflow Content
265
+
266
+ **Don't use checkboxes for any workflow content:**
267
+ ```markdown
268
+ <!-- DON'T DO THIS -->
269
+ ## Process Steps
270
+ - [ ] Run the command `bin/setup`
271
+ - [ ] Edit the configuration file
272
+ - [ ] Test the changes
273
+
274
+ ## Success Criteria
275
+ - [ ] Configuration is updated
276
+ - [ ] Tests pass
277
+ ```
278
+
279
+ Instead, use numbered steps for processes and simple bullets for criteria:
280
+ ```markdown
281
+ <!-- DO THIS -->
282
+ ## Process Steps
283
+
284
+ 1. **Initialize Setup**: Run the setup command
285
+ ```bash
286
+ bin/setup
287
+ ```
288
+
289
+ 2. **Configure System**: Edit the configuration file
290
+ - Update the API endpoint URL
291
+ - Set the appropriate timeout values
292
+
293
+ 3. **Validate Changes**: Test the configuration
294
+ ```bash
295
+ bin/test --config
296
+ ```
297
+
298
+ ## Success Criteria
299
+ - Configuration is properly updated
300
+ - All tests pass successfully
301
+ ```
302
+
303
+ ### ✅ Appropriate Checkbox Use: Templates and Examples Only
304
+
305
+ Checkboxes are appropriate **only** when:
306
+ - Documenting task template formats (showing what task files should contain)
307
+ - Providing copyable templates for users
308
+ - Giving examples of syntax in documentation
309
+
310
+ ```markdown
311
+ ## Example: When documenting task structure
312
+ Tasks should include execution steps formatted like this:
313
+ - [ ] Step 1: Implement feature
314
+ - [ ] Step 2: Add tests
315
+ ```
316
+
317
+ ### Agent Interaction Guidelines
318
+
319
+ **Success Criteria Lists:**
320
+ - Are meant for **post-execution validation** only
321
+ - Should always be written as simple bullet points
322
+ - Serve as verification criteria to confirm completion
323
+ - Help users and agents validate the workflow outcome
324
+ - Never use interactive checkboxes
325
+
326
+ ## Workflow Independence Principles
327
+
328
+ ### Self-Containment Requirements
329
+
330
+ Every workflow must be independently executable:
331
+
332
+ 1. **No Cross-Workflow Dependencies**: Never require another workflow to be run first. Instead, list prerequisites as conditions that should exist.
333
+
334
+ 2. **Embedded Essential Content**: Include all necessary information within the workflow:
335
+ - Template structures
336
+ - Command examples
337
+ - Format specifications
338
+ - Common patterns
339
+
340
+ 3. **Explicit Context Loading**: Replace implicit dependencies with explicit file loading:
341
+ ```markdown
342
+ ## Project Context Loading
343
+ * Load project structure: `docs/blueprint.md`
344
+ * Load current tasks: `dev-taskflow/current/*/tasks/*.md`
345
+ * Check existing PRD: `PRD.md` or `README.md`
346
+ ```
347
+
348
+ 4. **Complete Process Coverage**: Ensure the workflow contains everything needed from start to finish without external lookups.
349
+
350
+ ### Migration from Dependent to Independent
351
+
352
+ When refactoring existing workflows:
353
+
354
+ 1. **Identify External References**: Find all links to guides, templates, or other workflows
355
+ 2. **Extract Essential Content**: Copy the necessary information into the workflow
356
+ 3. **Convert Prerequisites**: Change "Run X workflow first" to "Ensure Y exists"
357
+ 4. **Embed Templates**: Include complete template content rather than linking
358
+ 5. **Add Context Loading**: List specific files to load at the beginning
359
+
360
+ **Process Steps:**
361
+ - Should be numbered for sequential execution
362
+ - May contain embedded tests or verification commands
363
+ - Focus on actions and commands to execute
364
+ - Use clear, imperative language
365
+ - Never use checkboxes
366
+
367
+ By following these guidelines, we can create a robust set of workflow instructions that effectively guide the AI agent, leading to more predictable and efficient development outcomes.
@@ -0,0 +1,92 @@
1
+ ---
2
+ doc-type: guide
3
+ title: Mono-Repo Development Patterns
4
+ purpose: Documentation for ace-handbook/handbook/guides/mono-repo-patterns.g.md
5
+ ace-docs:
6
+ last-updated: 2026-03-18
7
+ last-checked: 2026-03-21
8
+ ---
9
+
10
+ # Mono-Repo Development Patterns
11
+
12
+ Patterns for developing ACE gems within the mono-repo structure.
13
+
14
+ ## Gemfile vs Gemspec
15
+
16
+ Individual gems do NOT have their own `Gemfile`. The mono-repo uses a single root `Gemfile` for all development.
17
+
18
+ | File | Location | Purpose |
19
+ |------|----------|---------|
20
+ | `Gemfile` | Root only | Development dependencies for entire mono-repo |
21
+ | `*.gemspec` | Each gem | Runtime dependencies for gem distribution |
22
+
23
+ **Why no per-gem Gemfile?**
24
+ - All gems developed together in mono-repo context
25
+ - Root Gemfile includes all gems as path dependencies
26
+ - `ace-test` and binstubs use root Gemfile
27
+ - CI uses root Gemfile
28
+ - Simplifies dependency management and version consistency
29
+
30
+ ## bin/ vs exe/ Distinction
31
+
32
+ | Directory | Purpose |
33
+ |-----------|---------|
34
+ | `bin/` | Mono-repo development binstubs for running executables without installation |
35
+ | `exe/` | Gem distribution executables that get installed with the gem |
36
+
37
+ **Pattern**: bin/ wrappers use root Gemfile, exe/ uses gem's own gemspec dependencies.
38
+
39
+ ## Mono-Repo Binstub Pattern
40
+
41
+ ```ruby
42
+ #!/usr/bin/env ruby
43
+ # frozen_string_literal: true
44
+
45
+ # Wrapper script to run ace-gem with proper bundler context
46
+ require "pathname"
47
+
48
+ # Find the ace root directory
49
+ ace_meta_root = Pathname.new(__FILE__).dirname.parent.realpath
50
+
51
+ # Set the Gemfile location
52
+ ENV["BUNDLE_GEMFILE"] = ace_meta_root.join("Gemfile").to_s
53
+
54
+ # Load bundler
55
+ require "bundler/setup"
56
+
57
+ # Now require and run the actual ace-gem executable
58
+ load ace_meta_root.join("ace-gem/exe/ace-gem").to_s
59
+ ```
60
+
61
+ ## Development Workflow
62
+
63
+ ```bash
64
+ # Run any ace gem directly without installation
65
+ ./bin/ace-gem --help
66
+ ./bin/ace-search --query "pattern"
67
+ ./bin/ace-git-worktree --task 123
68
+
69
+ # All binstubs use root Gemfile for consistent environment
70
+ # No need to install gems locally during development
71
+ ```
72
+
73
+ ## Production Examples
74
+
75
+ | Binstub | Wraps |
76
+ |---------|-------|
77
+ | `bin/ace-docs` | `ace-docs/exe/ace-docs` |
78
+ | `bin/ace-search` | `ace-search/exe/ace-search` |
79
+ | `bin/ace-lint` | `ace-lint/exe/ace-lint` |
80
+ | `bin/ace-git-worktree` | `ace-git-worktree/exe/ace-git-worktree` |
81
+
82
+ ## Adding a New Gem
83
+
84
+ 1. Create gem directory at repo root: `ace-new-gem/`
85
+ 2. Add path dependency to root Gemfile: `gem "ace-new-gem", path: "ace-new-gem"`
86
+ 3. Create binstub in `bin/ace-new-gem` using pattern above
87
+ 4. Run `bundle install` from repo root
88
+
89
+ ## Related
90
+
91
+ - [ADR-015](../../../docs/decisions/ADR-015-mono-repo-ace-gems-migration.md) - Mono-repo migration decision
92
+ - [ace-gems.g.md](../../../docs/ace-gems.g.md) - Gem development overview