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
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Michal Czyz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,40 @@
1
+ <div align="center">
2
+ <h1> ACE - Docs </h1>
3
+
4
+ Keep documentation current by tracking freshness, detecting drift, and generating actionable updates.
5
+
6
+ <img src="https://raw.githubusercontent.com/cs3b/ace/main/docs/brand/AgenticCodingEnvironment.Logo.XS.jpg" alt="ACE Logo" width="480">
7
+ <br><br>
8
+
9
+ <a href="https://rubygems.org/gems/ace-docs"><img alt="Gem Version" src="https://img.shields.io/gem/v/ace-docs.svg" /></a>
10
+ <a href="https://www.ruby-lang.org"><img alt="Ruby" src="https://img.shields.io/badge/Ruby-3.2+-CC342D?logo=ruby" /></a>
11
+ <a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg" /></a>
12
+
13
+ </div>
14
+
15
+ > Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.
16
+
17
+ [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md)
18
+
19
+ ![ace-docs demo](docs/demo/ace-docs-getting-started.gif)
20
+
21
+ `ace-docs` provides a practical maintenance loop for teams that need package docs to stay aligned with fast-moving code and workflow changes. It uses frontmatter-based freshness tracking, targeted change analysis, and LLM-assisted update guidance to keep documentation in sync.
22
+
23
+ ## How It Works
24
+
25
+ 1. **Track freshness** — `ace-docs status` scans markdown files for frontmatter metadata and reports which documents are current, stale, or outdated based on git history.
26
+ 2. **Analyze drift** — `ace-docs analyze FILE` compares a document against code changes since its last update and produces LLM-assisted revision guidance.
27
+ 3. **Validate consistency** — `ace-docs analyze-consistency` checks terminology, duplicates, and version mismatches across a documentation set before release.
28
+
29
+ ## Use Cases
30
+
31
+ **Prioritize documentation updates based on real drift** - identify which files are stale, what changed since last update, and where to focus first using [`ace-docs`](docs/usage.md) freshness tracking.
32
+
33
+ **Generate targeted update guidance for specific documents** - run LLM-assisted analysis with [ace-bundle](../ace-bundle) and [ace-llm](../ace-llm) context to propose concrete doc revisions.
34
+
35
+ **Catch cross-document inconsistencies before release** - validate metadata and compare documents to find conflicts across package documentation sets before publishing.
36
+
37
+ **Enforce docs quality in release loops** - pair with [ace-lint](../ace-lint) for markdown checks and use `ace-docs` update workflows to keep guides, READMEs, and references in sync.
38
+
39
+ ---
40
+ [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md) | Part of [ACE](https://github.com/cs3b/ace)
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "minitest/test_task"
5
+
6
+ desc "Run tests using ace-test"
7
+ task :test do
8
+ sh "ace-test"
9
+ end
10
+
11
+ desc "Run tests directly (CI mode)"
12
+ Minitest::TestTask.create(:ci)
13
+
14
+ task default: :test
data/exe/ace-docs ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative "../lib/ace/docs"
5
+ require "ace/support/cli"
6
+
7
+ args = ARGV.empty? ? ["--help"] : ARGV
8
+
9
+ begin
10
+ Ace::Support::Cli::Runner.new(Ace::Docs::CLI).call(args: args)
11
+ rescue Ace::Support::Cli::Error => e
12
+ warn e.message
13
+ exit(e.exit_code)
14
+ end
@@ -0,0 +1,16 @@
1
+ # Ruby Documentation Examples
2
+
3
+ This file provides Ruby-specific examples related to the main [Documentation Standards Guide](../documentation.g.md).
4
+
5
+ * **Tools:** RDoc, YARD
6
+ * **Conventions:** [Add relevant Ruby documentation conventions here]
7
+
8
+ ```ruby
9
+ # Example Ruby documentation comment (YARD)
10
+ # @param name [String] The name of the user
11
+ # @return [User] The newly created user object
12
+ # @raise [ArgumentError] If the name is invalid
13
+ def create_user(name)
14
+ # ... implementation ...
15
+ end
16
+ ```
@@ -0,0 +1,35 @@
1
+ # Rust Documentation Examples
2
+
3
+ This file provides Rust-specific examples related to the main [Documentation Standards Guide](../documentation.g.md).
4
+
5
+ * **Tools:** `cargo doc`, `rustdoc`
6
+ * **Conventions:** Markdown within `///` or `//!` comments.
7
+
8
+ ```rust
9
+ /// Creates a new user.
10
+ ///
11
+ /// # Arguments
12
+ ///
13
+ /// * `name` - A string slice that holds the name of the user.
14
+ ///
15
+ /// # Returns
16
+ ///
17
+ /// A `User` object.
18
+ ///
19
+ /// # Errors
20
+ ///
21
+ /// Returns an error if the name is invalid.
22
+ ///
23
+ /// # Examples
24
+ ///
25
+ /// ```
26
+ /// let user = create_user("Alice").unwrap();
27
+ /// ```
28
+ pub fn create_user(name: &str) -> Result<User, Error> {
29
+ // ... implementation ...
30
+ unimplemented!() // Placeholder
31
+ }
32
+
33
+ struct User { /* ... */ }
34
+ struct Error { /* ... */ }
35
+ ```
@@ -0,0 +1,18 @@
1
+ # TypeScript Documentation Examples
2
+
3
+ This file provides TypeScript-specific examples related to the main [Documentation Standards Guide](../documentation.g.md).
4
+
5
+ * **Tools:** JSDoc (with TypeScript syntax), TypeDoc
6
+ * **Conventions:** [Add relevant TypeScript documentation conventions here]
7
+
8
+ ```typescript
9
+ /**
10
+ * Creates a new user.
11
+ * @param name The name of the user.
12
+ * @returns The newly created user object.
13
+ * @throws {Error} If the name is invalid.
14
+ */
15
+ function createUser(name: string): User {
16
+ // ... implementation ...
17
+ }
18
+ ```
@@ -0,0 +1,437 @@
1
+ ---
2
+ doc-type: guide
3
+ title: Goal
4
+ purpose: Documentation for ace-docs/handbook/guides/documentation.g.md
5
+ ace-docs:
6
+ last-updated: 2026-03-23
7
+ last-checked: 2026-03-23
8
+ ---
9
+
10
+ # Goal
11
+
12
+ This guide defines the standards and best practices for documenting code and project artifacts within this
13
+ toolkit, ensuring clarity, maintainability, and effective knowledge sharing for both human developers and
14
+ AI agents.
15
+
16
+ ## 1. Code Documentation
17
+
18
+ 1. **API Documentation (using standard tools/conventions)**:
19
+ Use standard documentation tools and conventions for your language/framework to document public APIs (classes,
20
+ methods, modules, functions).
21
+ - Include a clear summary of the item's purpose.
22
+ - Document parameters (`@param name [Type] description`).
23
+ - Document return values (`@return [Type] description`).
24
+ - Provide clear usage examples (`@example`).
25
+ - Note any exceptions or errors raised (`@raise [ErrorType] description`).
26
+ - Indicate important notes like thread-safety (`@note`).
27
+
28
+ ```javascript
29
+ // Example API documentation structure (adapt to your language/tool)
30
+
31
+ /**
32
+ * @summary Executes an AI agent task with given tools.
33
+ *
34
+ * @param {object} task - The task configuration.
35
+ * @param {string} task.prompt - The task prompt.
36
+ * @param {string[]} task.tools - Available tools.
37
+ * @returns {Result} Task execution result.
38
+ * @throws {ConfigError} If configuration is invalid.
39
+ * @throws {ToolError} If a tool fails during execution.
40
+ * @note This method is thread-safe.
41
+ */
42
+ function execute(task) {
43
+ // Implementation
44
+ }
45
+ ```
46
+
47
+ 1. **Class and Module Documentation**:
48
+ Document the purpose and usage of classes, modules, or other major code structures.
49
+ - Include examples of instantiation or typical usage.
50
+ - Note important characteristics like thread-safety if applicable.
51
+
52
+ ```javascript
53
+ // Example class documentation structure (adapt to your language)
54
+ /**
55
+ * @summary Manages the registration and lookup of agent tools.
56
+ *
57
+ * @example Registering a custom tool
58
+ * const registry = new ToolRegistry();
59
+ * registry.register('browser', new BrowserTool());
60
+ *
61
+ * @thread-safety This class is thread-safe.
62
+ */
63
+ class ToolRegistry {
64
+ /** @property {Map<string, Tool>} tools - The registered tools */
65
+ get tools() { /* ... */ }
66
+
67
+ /** @private */
68
+ constructor() {
69
+ // ...
70
+ }
71
+ }
72
+ ```
73
+
74
+ 1. **Performance Documentation**:
75
+ Document performance-critical sections of code.
76
+ - Note algorithmic complexity (e.g., `@complexity O(n)`).
77
+ - Specify performance characteristics (e.g., `@performance Processes up to X items concurrently`).
78
+ - Indicate expected memory usage (e.g., `@memory Uses ~Y MB per item`).
79
+
80
+ ```javascript
81
+ // Example performance documentation (adapt as needed)
82
+ /**
83
+ * Processes items in parallel with controlled concurrency.
84
+ *
85
+ * @complexity O(n) where n is the number of items.
86
+ * @performance Processes up to 10 items concurrently.
87
+ * @memory Uses ~10MB per item being processed.
88
+ */
89
+ function processItems(items) {
90
+ // Implementation
91
+ }
92
+ ```
93
+
94
+ ### 2. Project Documentation Structure
95
+
96
+ This section clarifies the purpose and scope of each major documentation file. Following these guidelines helps maintain consistency and prevents content duplication.
97
+
98
+ #### Core Documentation Files
99
+
100
+ ##### README.md (Package)
101
+
102
+ **Purpose**: Selling page - quickly convey what the package is and why it matters
103
+
104
+ A README is the first thing someone sees. Lead with value, not feature lists.
105
+
106
+ **Structure** (in order):
107
+
108
+ | Section | Purpose | Length |
109
+ |---------|---------|--------|
110
+ | Title + logo | Identity with ACE branding | Title + centered logo block |
111
+ | Badges | Status indicators | 3 badges: gem version, Ruby 3.2+, MIT license |
112
+ | Tagline | What it IS (blockquote) | `> one sentence` |
113
+ | Agent compatibility | Trust signal | "Works with: ..." 1 line |
114
+ | Nav row | Quick access to docs | Pipe-separated links, above demo |
115
+ | GIF | Visual hook | CLI tools only |
116
+ | Intro paragraph | Value proposition in context | 2-4 sentences |
117
+ | How It Works | Mental model | Optional - Mermaid diagram or 3-step list |
118
+ | Use Cases | Real workflows with tool refs | 3-6 entries |
119
+ | Footer | ACE link | 1 line separator |
120
+
121
+ **Logo**: Place a centered logo block (`<p align="center">`) between title and badges.
122
+ Use the standard ACE logo path: `../docs/brand/AgenticCodingEnvironment.Logo.S.png`.
123
+
124
+ **Nav row**: Pipe-separated links placed above the demo GIF, not in a bottom section.
125
+ Always use three links: Getting Started, Usage Guide, and Handbook. Expand the Handbook
126
+ link with a subtitle: `[Handbook - Skills, Agents, Templates](docs/handbook.md)` so
127
+ readers know what it contains without clicking.
128
+
129
+ **No Quick Start section**: Getting Started is linked in the nav row. A separate Quick
130
+ Start section duplicates it. Remove it.
131
+
132
+ **Intro paragraph**: 2-4 sentences that describe the problem space and what the package
133
+ does about it. Do not split into separate Problem/Solution sections. Do not list
134
+ subcommands or features — let Use Cases do that. Frame through what the package enables,
135
+ not what it replaces.
136
+
137
+ **Use Cases** (replaces Problem/Solution/Ecosystem/Agent Skills):
138
+
139
+ Each entry: **bold title** followed by a description paragraph. Weave in:
140
+ - Skill references with `/as-` prefix (e.g., `/as-task-draft`)
141
+ - CLI commands linked to usage docs (e.g., [`ace-task create`](docs/usage.md#ace-task-create-title))
142
+ - Ecosystem package links inline (e.g., [ace-overseer](../ace-overseer))
143
+
144
+ This replaces separate Ecosystem and Agent Skills sections. Related packages and skills
145
+ appear naturally within the use cases where they add value.
146
+
147
+ Additional Use Cases rules:
148
+ - CLI examples in code blocks should include all meaningful flags (e.g., `--preset`)
149
+ - Do not repeat in prose what a nearby code block already shows
150
+ - When describing customization, link config files and presets in other packages
151
+ using relative paths (e.g., `[preset](../ace-assign/.ace-defaults/assign/presets/work-on-task.yml)`)
152
+
153
+ **Badges**: Use shields.io. Always use these 3: gem version, Ruby 3.2+ (with logo),
154
+ MIT license. Do not add CI, coverage, downloads, or social badges.
155
+
156
+ **Tagline**: Use a blockquote (`> one sentence`). The `>` creates a visual box on
157
+ GitHub that draws the eye to the selling line. Place immediately after badges.
158
+
159
+ **Agent compatibility line**: Place below the tagline, above the nav row. Use the
160
+ standard text: "Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent,
161
+ and more." Keep the agent list current as new agents gain traction.
162
+
163
+ **Implementation rule**: Read the implementation code before describing features. Do not
164
+ write from plan notes or spec documents alone.
165
+
166
+ **Package category variants**:
167
+
168
+ | Section | CLI Tool | Support Library | Integration | Infrastructure |
169
+ |---------|----------|-----------------|-------------|----------------|
170
+ | Logo | Yes | Yes | Yes | Yes |
171
+ | GIF | Yes | No | No | If available |
172
+ | How It Works | Optional | Optional | Skip | Optional |
173
+ | Use Cases | 4-6 entries | 2-4 entries | 2-3 entries | 3-5 entries |
174
+
175
+ **Root README differs**: The monorepo root uses "What ACE Does" (value bullets) and
176
+ a "Tools" table instead of Use Cases. In `ace-docs` classification this file uses
177
+ `doc-type: root_readme` (not package `readme`). See the root README for the pattern.
178
+
179
+ **Anti-patterns** (never include in a README):
180
+
181
+ - Full API documentation (belongs in docs/)
182
+ - Development setup (belongs in docs/SETUP.md)
183
+ - Contributing guidelines beyond a link (belongs in docs/contributing/)
184
+ - Separate Problem/Solution sections (weave into intro paragraph)
185
+ - Separate Ecosystem or Agent Skills sections (inline in Use Cases)
186
+ - Quick Start section (redundant with Getting Started in nav row)
187
+ - Feature bullet lists without workflow context
188
+ - More than 3 badges
189
+ - Decorative emojis (follow markdown-style guide)
190
+ - Describing features from plan notes without reading implementation code
191
+
192
+ **Template**: `ace-docs/handbook/templates/project-docs/README.template.md`
193
+
194
+ ##### docs/vision.md
195
+
196
+ **Purpose**: Product vision and business context
197
+
198
+ **Contains**:
199
+
200
+ - Product vision statement
201
+ - Key features and capabilities (business perspective)
202
+ - User personas and their needs
203
+ - Use cases and scenarios
204
+ - Success metrics
205
+ - Value proposition
206
+ - Future vision (product roadmap perspective)
207
+ - Market positioning
208
+
209
+ **Does NOT contain**:
210
+
211
+ - Technical implementation details
212
+ - Code structure or patterns
213
+ - Development workflows
214
+ - Directory structures
215
+ - Dependencies lists
216
+
217
+ ##### docs/architecture.md
218
+
219
+ **Purpose**: Technical design and implementation details
220
+
221
+ **Contains**:
222
+
223
+ - System architecture overview
224
+ - Technology stack with justifications
225
+ - ATOM architecture pattern details (or your pattern)
226
+ - Component descriptions and interactions
227
+ - Data flow diagrams
228
+ - File organization (technical perspective)
229
+ - Development patterns and principles
230
+ - Security and performance considerations
231
+ - Technical dependencies with versions
232
+ - Decision records references
233
+
234
+ **Does NOT contain**:
235
+
236
+ - Business goals or user personas
237
+ - Installation instructions
238
+ - Navigation guides for developers
239
+ - Task management information
240
+
241
+ ##### docs/blueprint.md
242
+
243
+ **Purpose**: Project navigation guide (especially for AI agents)
244
+
245
+ **Contains**:
246
+
247
+ - Brief description of what a blueprint is
248
+ - Links to core documents (what-we-build, architecture)
249
+ - Project organization (directory structure)
250
+ - Key file locations and purposes
251
+ - Technology stack summary (with link to architecture for details)
252
+ - Entry points and common workflows
253
+ - Read-only and ignored paths for AI agents
254
+ - Quick reference commands
255
+
256
+ **Does NOT contain**:
257
+
258
+ - Detailed technical explanations
259
+ - Business vision or goals
260
+ - Implementation patterns
261
+ - Comprehensive dependency analysis
262
+
263
+ ##### docs/SETUP.md
264
+
265
+ **Purpose**: Development environment setup
266
+
267
+ **Contains**:
268
+
269
+ - System requirements
270
+ - Installation prerequisites
271
+ - Step-by-step setup instructions
272
+ - Environment configuration
273
+ - Dependency installation
274
+ - Verification steps
275
+ - Common setup issues and solutions
276
+
277
+ **Does NOT contain**:
278
+
279
+ - Development workflows
280
+ - Architecture details
281
+ - Testing strategies
282
+ - Contributing guidelines
283
+
284
+ ##### docs/DEVELOPMENT.md
285
+
286
+ **Purpose**: Development workflow and practices
287
+
288
+ **Contains**:
289
+
290
+ - Daily development workflow
291
+ - Testing strategies and examples
292
+ - Build system commands
293
+ - Code quality standards
294
+ - Debugging techniques
295
+ - Performance optimization tips
296
+ - Release workflow
297
+ - Links to specialized guides (e.g., VCR testing)
298
+
299
+ **Does NOT contain**:
300
+
301
+ - Initial setup instructions
302
+ - Product vision
303
+ - Architecture decisions
304
+ - Basic usage examples
305
+
306
+ ##### dev-taskflow/roadmap.md
307
+
308
+ **Purpose**: Strategic planning and release management
309
+
310
+ **Contains**:
311
+
312
+ - Project vision summary
313
+ - Strategic objectives with metrics
314
+ - Release timeline and milestones
315
+ - Major features by release
316
+ - Cross-release dependencies
317
+ - Update history
318
+
319
+ **Does NOT contain**:
320
+
321
+ - Technical implementation details
322
+ - Current task lists
323
+ - Development setup instructions
324
+ - Architecture patterns
325
+
326
+ #### Specialized Documentation
327
+
328
+ ##### docs/llm-integration/
329
+
330
+ **Purpose**: Feature-specific user guides
331
+
332
+ **Example**: `gemini-query-guide.md`
333
+
334
+ - Comprehensive usage instructions
335
+ - Configuration options
336
+ - Examples and use cases
337
+ - Troubleshooting
338
+ - Integration patterns
339
+
340
+ ##### docs/architecture-decisions/
341
+
342
+ **Purpose**: Architecture Decision Records (ADRs)
343
+
344
+ **Contains**:
345
+
346
+ - Technical decisions with context
347
+ - Alternatives considered
348
+ - Consequences and trade-offs
349
+ - Decision rationale
350
+
351
+ #### Content Placement Quick Reference
352
+
353
+ | Content Type | Primary Location | Secondary References OK |
354
+ |-------------|------------------|------------------------|
355
+ | Product vision | vision.md | README (brief), roadmap |
356
+ | User personas | vision.md | - |
357
+ | Installation | README, SETUP.md | - |
358
+ | Usage examples | README (basic), docs/examples/ | - |
359
+ | Directory structure | blueprint.md | architecture.md (technical) |
360
+ | ATOM pattern details | architecture.md | blueprint.md (navigation) |
361
+ | Dependencies | architecture.md (detailed) | blueprint.md (summary) |
362
+ | Development workflow | DEVELOPMENT.md | - |
363
+ | API documentation | Feature guides | architecture.md (design) |
364
+
365
+ #### Guidelines for New Documentation
366
+
367
+ 1. **Check existing documents first** - Don't create new files if the content belongs in an existing document
368
+ 2. **Link, don't duplicate** - Reference other documents rather than copying content
369
+ 3. **Keep scope focused** - Each document should have a clear, single purpose
370
+ 4. **Update the blueprint** - When adding new key documents, update blueprint.md
371
+ 5. **Consider the audience** - Technical details for developers, business context for stakeholders
372
+ 6. **Maintain consistency** - Follow the established patterns in each document type
373
+
374
+ #### Cross-Reference Patterns
375
+
376
+ ##### When to Link
377
+
378
+ - From README to detailed guides
379
+ - From blueprint to all major documents
380
+ - From overview documents to detailed implementations
381
+ - From guides to related ADRs
382
+
383
+ ##### How to Link
384
+
385
+ - Use relative paths from the document location
386
+ - Include section anchors for specific topics
387
+ - Verify links work after moving documents
388
+ - Update links when reorganizing
389
+
390
+ ### 3. Documenting for AI Collaboration
391
+
392
+ Clear documentation is crucial for effective AI collaboration.
393
+
394
+ - **Task Definitions:** Use the structured `.md` format for tasks (see `guide://project-management`)
395
+ with clear descriptions, implementation notes, and acceptance criteria.
396
+ - **Workflow Instructions:** Write clear, specific workflow instructions (workflow instructions (`wfi://` protocol))
397
+ outlining processes for the AI to follow for common tasks. Follow guidelines similar to writing good code:
398
+ focused, clear inputs/outputs, examples. (See Task 04 for creating a dedicated guide on this).
399
+ - **Cross-Referencing:** Link related documents (guides, tasks, ADRs, code files) to create a connected
400
+ knowledge base that the AI can potentially navigate or be guided through. For example, a task file might link
401
+ to a relevant ADR or guide section using root-relative paths like `docs/architecture-decisions/ADR-001.md` or
402
+ `guide://coding-standards`.
403
+
404
+ ## Code Comments
405
+
406
+ Code comments should explain the *why*, not the *what* (unless the *what* is particularly complex or
407
+ non-obvious). Well-written code should be largely self-documenting regarding *what* it does.
408
+
409
+ **Good Comment (Explains Why):**
410
+
411
+ ```javascript
412
+ // Reset the counter due to edge case X discovered during testing.
413
+ counter = 0;
414
+ ```
415
+
416
+ **Bad Comment (Explains What):**
417
+
418
+ ```javascript
419
+ // Increment the counter by one.
420
+ counter++;
421
+ ```
422
+
423
+ ## Language/Environment-Specific Examples
424
+
425
+ For specific examples of documentation generation tools, comment styles, or conventions tailored to particular
426
+ languages or frameworks (e.g., JSDoc, RDoc, Sphinx, JavaDoc), please refer to the examples in the
427
+ [./documentation/](./documentation/) sub-directory.
428
+
429
+ ## Formatting Conventions
430
+
431
+ For markdown typography and formatting standards (em-dashes, file trees, emoji usage), see the [Markdown Style Guide](guide://markdown-style).
432
+
433
+ ## Related Documentation
434
+
435
+ - [Coding Standards](guide://coding-standards)
436
+ - [Project Management Guide](guide://project-management) (Task format, ADRs)
437
+ - [ADR Template](tmpl://project-docs/adr)