ace-docs 0.31.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 (91) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/docs/config.yml +169 -0
  3. data/.ace-defaults/docs/multi-subject-example.md +130 -0
  4. data/.ace-defaults/docs/single-subject-example.md +150 -0
  5. data/.ace-defaults/nav/protocols/guide-sources/ace-docs.yml +10 -0
  6. data/.ace-defaults/nav/protocols/prompt-sources/ace-docs.yml +34 -0
  7. data/.ace-defaults/nav/protocols/tmpl-sources/ace-docs.yml +10 -0
  8. data/.ace-defaults/nav/protocols/wfi-sources/ace-docs.yml +19 -0
  9. data/CHANGELOG.md +1082 -0
  10. data/LICENSE +21 -0
  11. data/README.md +40 -0
  12. data/Rakefile +14 -0
  13. data/exe/ace-docs +14 -0
  14. data/handbook/guides/documentation/ruby.md +16 -0
  15. data/handbook/guides/documentation/rust.md +35 -0
  16. data/handbook/guides/documentation/typescript.md +18 -0
  17. data/handbook/guides/documentation.g.md +437 -0
  18. data/handbook/guides/documents-embedded-sync.g.md +473 -0
  19. data/handbook/guides/documents-embedding.g.md +276 -0
  20. data/handbook/guides/markdown-style.g.md +290 -0
  21. data/handbook/prompts/ace-change-analyzer.system.md +113 -0
  22. data/handbook/prompts/ace-change-analyzer.user.md +95 -0
  23. data/handbook/prompts/document-analysis.md +74 -0
  24. data/handbook/prompts/document-analysis.system.md +129 -0
  25. data/handbook/prompts/markdown-style.system.md +113 -0
  26. data/handbook/skills/as-docs-create-adr/SKILL.md +35 -0
  27. data/handbook/skills/as-docs-create-api/SKILL.md +35 -0
  28. data/handbook/skills/as-docs-create-user/SKILL.md +35 -0
  29. data/handbook/skills/as-docs-maintain-adrs/SKILL.md +35 -0
  30. data/handbook/skills/as-docs-squash-changelog/SKILL.md +42 -0
  31. data/handbook/skills/as-docs-update/SKILL.md +36 -0
  32. data/handbook/skills/as-docs-update-blueprint/SKILL.md +28 -0
  33. data/handbook/skills/as-docs-update-roadmap/SKILL.md +24 -0
  34. data/handbook/skills/as-docs-update-tools/SKILL.md +36 -0
  35. data/handbook/skills/as-docs-update-usage/SKILL.md +26 -0
  36. data/handbook/templates/code-docs/javascript-jsdoc.template.md +102 -0
  37. data/handbook/templates/code-docs/ruby-yard.template.md +85 -0
  38. data/handbook/templates/project-docs/README.template.md +73 -0
  39. data/handbook/templates/project-docs/architecture.template.md +300 -0
  40. data/handbook/templates/project-docs/blueprint.template.md +165 -0
  41. data/handbook/templates/project-docs/context/ownership.yml +160 -0
  42. data/handbook/templates/project-docs/decisions/adr.template.md +60 -0
  43. data/handbook/templates/project-docs/prd.template.md +144 -0
  44. data/handbook/templates/project-docs/roadmap/roadmap.template.md +47 -0
  45. data/handbook/templates/project-docs/vision.template.md +233 -0
  46. data/handbook/templates/user-docs/user-guide.template.md +107 -0
  47. data/handbook/workflow-instructions/docs/create-adr.wf.md +334 -0
  48. data/handbook/workflow-instructions/docs/create-api.wf.md +448 -0
  49. data/handbook/workflow-instructions/docs/create-cookbook.wf.md +434 -0
  50. data/handbook/workflow-instructions/docs/create-user.wf.md +399 -0
  51. data/handbook/workflow-instructions/docs/maintain-adrs.wf.md +589 -0
  52. data/handbook/workflow-instructions/docs/squash-changelog.wf.md +246 -0
  53. data/handbook/workflow-instructions/docs/update-blueprint.wf.md +361 -0
  54. data/handbook/workflow-instructions/docs/update-context.wf.md +336 -0
  55. data/handbook/workflow-instructions/docs/update-roadmap.wf.md +421 -0
  56. data/handbook/workflow-instructions/docs/update-tools.wf.md +307 -0
  57. data/handbook/workflow-instructions/docs/update-usage.wf.md +710 -0
  58. data/handbook/workflow-instructions/docs/update.wf.md +418 -0
  59. data/lib/ace/docs/atoms/diff_filterer.rb +131 -0
  60. data/lib/ace/docs/atoms/frontmatter_free_matcher.rb +20 -0
  61. data/lib/ace/docs/atoms/git_date_resolver.rb +16 -0
  62. data/lib/ace/docs/atoms/readme_metadata_inferrer.rb +60 -0
  63. data/lib/ace/docs/atoms/terminology_extractor.rb +308 -0
  64. data/lib/ace/docs/atoms/time_range_calculator.rb +96 -0
  65. data/lib/ace/docs/atoms/timestamp_parser.rb +106 -0
  66. data/lib/ace/docs/atoms/type_inferrer.rb +70 -0
  67. data/lib/ace/docs/cli/commands/analyze.rb +351 -0
  68. data/lib/ace/docs/cli/commands/analyze_consistency.rb +185 -0
  69. data/lib/ace/docs/cli/commands/discover.rb +75 -0
  70. data/lib/ace/docs/cli/commands/scope_options.rb +71 -0
  71. data/lib/ace/docs/cli/commands/status.rb +241 -0
  72. data/lib/ace/docs/cli/commands/update.rb +198 -0
  73. data/lib/ace/docs/cli/commands/validate.rb +225 -0
  74. data/lib/ace/docs/cli.rb +60 -0
  75. data/lib/ace/docs/models/analysis_report.rb +120 -0
  76. data/lib/ace/docs/models/consistency_report.rb +259 -0
  77. data/lib/ace/docs/models/document.rb +354 -0
  78. data/lib/ace/docs/molecules/change_detector.rb +389 -0
  79. data/lib/ace/docs/molecules/document_loader.rb +133 -0
  80. data/lib/ace/docs/molecules/frontmatter_manager.rb +85 -0
  81. data/lib/ace/docs/molecules/git_date_resolver.rb +30 -0
  82. data/lib/ace/docs/organisms/cross_document_analyzer.rb +274 -0
  83. data/lib/ace/docs/organisms/document_registry.rb +318 -0
  84. data/lib/ace/docs/organisms/validator.rb +164 -0
  85. data/lib/ace/docs/prompts/compact_diff_prompt.rb +119 -0
  86. data/lib/ace/docs/prompts/consistency_prompt.rb +286 -0
  87. data/lib/ace/docs/prompts/document_analysis_prompt.rb +389 -0
  88. data/lib/ace/docs/version.rb +7 -0
  89. data/lib/ace/docs.rb +82 -0
  90. data/lib/test.rb +4 -0
  91. metadata +347 -0
@@ -0,0 +1,307 @@
1
+ ---
2
+ doc-type: workflow
3
+ title: Update Tools Documentation Workflow (v5)
4
+ purpose: Documentation for ace-docs/handbook/workflow-instructions/docs/update-tools.wf.md
5
+ ace-docs:
6
+ last-updated: 2026-02-22
7
+ last-checked: 2026-03-21
8
+ ---
9
+
10
+ # Update Tools Documentation Workflow (v5)
11
+
12
+ > **Scope:** Updates `docs/tools.md` for ACE ecosystem tools. Focus on active tools used in current workflows.
13
+ >
14
+ > **CRITICAL COMPRESSION TARGET:** Keep total documentation under 500 lines. Each tool entry should be 10-15 lines
15
+ > maximum including the collapsible details section.
16
+
17
+ * * *
18
+
19
+ ## 0 Goal
20
+
21
+ Maintain an ultra-compact tools reference focused on essential information only. Each tool gets: name, one-line purpose,
22
+ 2-3 key flags, and ONE primary example. Extended documentation belongs in workflows/agents, not here.
23
+
24
+ * * *
25
+
26
+ ## 1 Prerequisites
27
+
28
+ * A new or modified ACE tool executable exists
29
+ * You have run `tool-name --help` and/or reviewed the source
30
+ * Write access to `docs/tools.md`
31
+
32
+ * * *
33
+
34
+ ## 2 Project Context Loading
35
+
36
+ ### Load dev-tools context preset
37
+
38
+ context --preset dev-tools
39
+ {: .language-bash}
40
+
41
+ ### Understand project purpose and architecture
42
+
43
+ * docs/vision.md
44
+ * docs/architecture.md
45
+ * docs/blueprint.md
46
+ * docs/tools.md
47
+
48
+ ### Review current tools documentation
49
+
50
+ * docs/tools.md
51
+
52
+ * * *
53
+
54
+ ## 3 High-Level Execution Plan
55
+
56
+ | Step | Action | Notes |
57
+ |----------
58
+ | **1 Plan** | Map the tool to function category, persona, and cheat-sheet row | Table 1 below |
59
+ | **2 Edit** | Add / update the tool entry using the *Mini-template* (§4) | Use `<details>` |
60
+ | **3 Update** | • Main cheat-sheet<br />• Persona cheat-sheet(s)<br />• Category lists | Keep rows alphabetical |
61
+ | **4 Validate** | Run scripts in §6 Validation | Ensure documentation is current and accurate |
62
+
63
+ * * *
64
+
65
+ ## 4 Templates
66
+
67
+ ### 4.1 Cheat-sheet row
68
+
69
+ | `tool-name` | 1-liner purpose | `--top-flag`, `--flag2` |
70
+ {: .language-markdown}
71
+
72
+ ### 4.2 Tool entry (ULTRA-COMPACT)
73
+
74
+ ### `tool-name` – 1-sentence pitch
75
+ <details><summary>Details</summary>
76
+
77
+ ```bash
78
+ tool-name [ARGS] [OPTIONS]
79
+ {: .language-markdown}
80
+
81
+ **Key flags:** `--flag1` (purpose), `--flag2` (purpose)
82
+
83
+ **Example:**
84
+
85
+ tool-name foo --flag value # one clear example
86
+ {: .language-bash}
87
+
88
+ </details>
89
+
90
+
91
+ #### COMPRESSION RULES
92
+ - **MAXIMUM 3 flags** - only the most essential
93
+ - **ONE example** - the most common use case
94
+ - **NO** full `--help` output
95
+ - **NO** feature lists or marketing copy
96
+ - **NO** performance notes or detailed explanations
97
+ - **NO** multiple examples unless absolutely critical
98
+ - Keep details section to 5-8 lines max
99
+
100
+ ---
101
+
102
+ ## 5 Process Steps
103
+
104
+ 1. **Check Tool Eligibility**
105
+ - Focus on active ACE ecosystem tools used in current workflows
106
+ - Ensure tool provides value to AI agents and developers
107
+
108
+ 2. **Identify Tool Category & Purpose**
109
+ - Test with `tool-name --help`, read source, determine function category
110
+
111
+ 3. **Locate Correct Documentation Section**
112
+ - Find appropriate section in `docs/tools.md`
113
+ - Ensure consistent categorization with other ACE tools
114
+
115
+ 4. **Create or Update Tool Entry**
116
+ - Use the *Mini-template* above.
117
+ - COMPRESS: Only essential flags, ONE example
118
+
119
+ 5. **Add / Update Cheat-sheets & Persona Sections**
120
+ - Main cheat-sheet at top of file.
121
+ - Persona-specific cheat-sheets (*Human Dev*, *AI Agent*, *Release Manager*, *Git Power-User*).
122
+ - Keep cheat-sheets minimal - tool name, 5-word purpose, 1-2 flags max.
123
+
124
+ 6. **Update Category & Workflow Sections**
125
+ - Add tool name to function and persona lists.
126
+ - Amend workflow snippets where the tool is relevant.
127
+
128
+ 7. **Run Validation & Quality Checks** (see §6)
129
+
130
+ ---
131
+
132
+ ## 6 Validation Checklist
133
+
134
+ ### 6.1 Cheat-sheet parity
135
+ - [ ] Tool listed in **main** cheat-sheet
136
+ - [ ] Tool listed in at least one **persona** cheat-sheet
137
+
138
+ ### 6.2 Content Completeness
139
+ - [ ] Tool name & one-sentence purpose
140
+ - [ ] Basic usage syntax
141
+ - [ ] ONE primary example
142
+ - [ ] 2-3 essential flags only
143
+ - [ ] Total entry under 15 lines
144
+
145
+ ### 6.3 Documentation Quality
146
+ - [ ] Clear, concise prose
147
+ - [ ] Code blocks formatted
148
+ - [ ] Consistent style
149
+
150
+ ### 6.4 Structural Integration
151
+ - [ ] Correct section & category
152
+ - [ ] No full paths
153
+ - [ ] Focus on active ACE ecosystem tools
154
+
155
+ ### 6.5 Technical Accuracy
156
+ - [ ] Example tested
157
+ - [ ] Essential flags match `--help`
158
+
159
+ ### 6.6 User Experience
160
+ - [ ] Single most common use case shown
161
+ - [ ] Entry fits on one screen when collapsed
162
+
163
+ #### Validation scripts
164
+ ```bash
165
+ # markdown style
166
+ markdownlint docs/tools.md
167
+
168
+ # Check line count
169
+ lines=$(wc -l < docs/tools.md)
170
+ if [ $lines -gt 500 ]; then
171
+ echo "⚠️ File too large: $lines lines (target: <500)"
172
+ fi
173
+
174
+ * * *
175
+
176
+ ## 7 Example Snippet (before → after)
177
+
178
+ ### BEFORE (verbose):
179
+
180
+ ### `search` – Unified intelligent search across project
181
+ <details><summary>Details</summary>
182
+
183
+ ```bash
184
+ search [OPTIONS] PATTERN
185
+ {: .language-markdown}
186
+
187
+ | Flag | Purpose | Default |
188
+ |----------
189
+ | `-t, --type TYPE` | Search type (file, content, hybrid, auto) | `auto` |
190
+ | `-f, --files` | Search for files only | `false` |
191
+ | `-c, --content` | Search in file content only | `false` |
192
+ | `-i, --case-insensitive` | Case insensitive search | `false` |
193
+ | `-w, --whole-word` | Match whole words only | `false` |
194
+ | `-U, --multiline` | Enable multiline matching | `false` |
195
+ | `-A, --after NUM` | Show NUM lines after match | `0` |
196
+ | `-B, --before NUM` | Show NUM lines before match | `0` |
197
+ | `-C, --context NUM` | Show NUM lines of context | `0` |
198
+ | `-g, --glob PATTERN` | File glob pattern to include | None |
199
+ | `-e, --exclude PATTERN` | Pattern to exclude | None |
200
+ | `--since TIME` | Files modified since TIME | None |
201
+ | `--before TIME` | Files modified before TIME | None |
202
+ | `--staged` | Search staged files only | `false` |
203
+ | `--tracked` | Search tracked files only | `false` |
204
+ | `--changed` | Search changed files only | `false` |
205
+ | `--json` | Output in JSON format | `false` |
206
+ | `--yaml` | Output in YAML format | `false` |
207
+ | `-l, --files-with-matches` | Only print filenames | `false` |
208
+ | `--max-results NUM` | Limit number of results | None |
209
+ | `--fzf` | Use fzf for interactive selection | `false` |
210
+ | `-p, --preset NAME` | Use search preset | None |
211
+ | `--list-presets` | List available presets | N/A |
212
+
213
+ **Examples**
214
+
215
+ # Basic content search
216
+ search "TODO"
217
+
218
+ # Find all Ruby files
219
+ search "*.rb" --files
220
+
221
+ # Search with regex in content
222
+ search "def\s+initialize" --content
223
+
224
+ # Interactive selection with fzf
225
+ search "pattern" --fzf
226
+
227
+ # Use built-in preset
228
+ search --preset todo
229
+
230
+ # Search with path filtering
231
+ search "bug" --include "**/*.rb"
232
+
233
+ # Find recently modified files
234
+ search "*.md" --since "1 week ago"
235
+
236
+ # Case-insensitive whole word search
237
+ search "error" -i -w
238
+
239
+ # Search staged files only
240
+ search "console.log" --staged
241
+
242
+ # Output results as JSON
243
+ search "API" --json --max-results 10
244
+ {: .language-bash}
245
+
246
+ **Built-in Presets**
247
+
248
+ * `todo` - Find TODO, FIXME, HACK, XXX, NOTE comments
249
+ * `ruby` - Find all Ruby files (\*.rb)
250
+ * `tests` - Find all test files (\*\_spec.rb)
251
+ * `recent` - Find files modified in the last week
252
+ * `git-changes` - Find changed files in git
253
+
254
+ **Purpose:** The search tool provides unified, intelligent searching across your entire project. It uses DWIM (Do What I
255
+ Mean) heuristics to automatically determine whether you're searching for files or content, leverages ripgrep and fd for
256
+ blazing-fast performance, and supports interactive result selection with fzf. Perfect for single-project workflows with
257
+ streamlined, path-based results.
258
+
259
+ **Features:**
260
+
261
+ * Automatic mode detection (file vs content search)
262
+ * Streamlined, path-based output for single-project workflows
263
+ * Git-aware scopes (staged, tracked, changed files)
264
+ * Time-based file filtering
265
+ * Interactive result selection with fzf
266
+ * Configurable search presets
267
+ * Multiple output formats (text, JSON, YAML)
268
+ * Intelligent pattern analysis for optimal tool selection
269
+ * Simplified architecture focused on speed and usability
270
+
271
+ **Performance:**
272
+
273
+ * Uses ripgrep for content search (extremely fast)
274
+ * Uses fd for file search (faster than find)
275
+ * Streams results for immediate feedback
276
+ * Optimized for large codebases
277
+
278
+ </details>
279
+
280
+
281
+ ### AFTER (ultra-compact):
282
+ ```markdown
283
+ ### `search` – Fast unified search for files and content
284
+ <details><summary>Details</summary>
285
+
286
+ ```bash
287
+ search [PATTERN] [OPTIONS]
288
+
289
+ **Key flags:** `--files` (file search), `--preset NAME` (use preset), `--fzf` (interactive)
290
+
291
+ **Example:**
292
+
293
+ search "TODO" --preset todo # Find all TODO comments
294
+ {: .language-bash}
295
+
296
+ </details> \`\`\`
297
+
298
+ * * *
299
+
300
+ ## 8 Design Principles (appendix)
301
+
302
+ 1. **Ultra-compact** – total file under 500 lines, each tool 10-15 lines max
303
+ 2. **Essential only** – workflows/agents have detailed usage, not here
304
+ 3. **One example rule** – show the primary use case only
305
+ 4. **Minimal flags** – 2-3 most important flags, not exhaustive lists
306
+ 5. **No fluff** – zero marketing copy, feature lists, or performance notes
307
+