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.
- checksums.yaml +7 -0
- data/.ace-defaults/docs/config.yml +169 -0
- data/.ace-defaults/docs/multi-subject-example.md +130 -0
- data/.ace-defaults/docs/single-subject-example.md +150 -0
- data/.ace-defaults/nav/protocols/guide-sources/ace-docs.yml +10 -0
- data/.ace-defaults/nav/protocols/prompt-sources/ace-docs.yml +34 -0
- data/.ace-defaults/nav/protocols/tmpl-sources/ace-docs.yml +10 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-docs.yml +19 -0
- data/CHANGELOG.md +1082 -0
- data/LICENSE +21 -0
- data/README.md +40 -0
- data/Rakefile +14 -0
- data/exe/ace-docs +14 -0
- data/handbook/guides/documentation/ruby.md +16 -0
- data/handbook/guides/documentation/rust.md +35 -0
- data/handbook/guides/documentation/typescript.md +18 -0
- data/handbook/guides/documentation.g.md +437 -0
- data/handbook/guides/documents-embedded-sync.g.md +473 -0
- data/handbook/guides/documents-embedding.g.md +276 -0
- data/handbook/guides/markdown-style.g.md +290 -0
- data/handbook/prompts/ace-change-analyzer.system.md +113 -0
- data/handbook/prompts/ace-change-analyzer.user.md +95 -0
- data/handbook/prompts/document-analysis.md +74 -0
- data/handbook/prompts/document-analysis.system.md +129 -0
- data/handbook/prompts/markdown-style.system.md +113 -0
- data/handbook/skills/as-docs-create-adr/SKILL.md +35 -0
- data/handbook/skills/as-docs-create-api/SKILL.md +35 -0
- data/handbook/skills/as-docs-create-user/SKILL.md +35 -0
- data/handbook/skills/as-docs-maintain-adrs/SKILL.md +35 -0
- data/handbook/skills/as-docs-squash-changelog/SKILL.md +42 -0
- data/handbook/skills/as-docs-update/SKILL.md +36 -0
- data/handbook/skills/as-docs-update-blueprint/SKILL.md +28 -0
- data/handbook/skills/as-docs-update-roadmap/SKILL.md +24 -0
- data/handbook/skills/as-docs-update-tools/SKILL.md +36 -0
- data/handbook/skills/as-docs-update-usage/SKILL.md +26 -0
- data/handbook/templates/code-docs/javascript-jsdoc.template.md +102 -0
- data/handbook/templates/code-docs/ruby-yard.template.md +85 -0
- data/handbook/templates/project-docs/README.template.md +73 -0
- data/handbook/templates/project-docs/architecture.template.md +300 -0
- data/handbook/templates/project-docs/blueprint.template.md +165 -0
- data/handbook/templates/project-docs/context/ownership.yml +160 -0
- data/handbook/templates/project-docs/decisions/adr.template.md +60 -0
- data/handbook/templates/project-docs/prd.template.md +144 -0
- data/handbook/templates/project-docs/roadmap/roadmap.template.md +47 -0
- data/handbook/templates/project-docs/vision.template.md +233 -0
- data/handbook/templates/user-docs/user-guide.template.md +107 -0
- data/handbook/workflow-instructions/docs/create-adr.wf.md +334 -0
- data/handbook/workflow-instructions/docs/create-api.wf.md +448 -0
- data/handbook/workflow-instructions/docs/create-cookbook.wf.md +434 -0
- data/handbook/workflow-instructions/docs/create-user.wf.md +399 -0
- data/handbook/workflow-instructions/docs/maintain-adrs.wf.md +589 -0
- data/handbook/workflow-instructions/docs/squash-changelog.wf.md +246 -0
- data/handbook/workflow-instructions/docs/update-blueprint.wf.md +361 -0
- data/handbook/workflow-instructions/docs/update-context.wf.md +336 -0
- data/handbook/workflow-instructions/docs/update-roadmap.wf.md +421 -0
- data/handbook/workflow-instructions/docs/update-tools.wf.md +307 -0
- data/handbook/workflow-instructions/docs/update-usage.wf.md +710 -0
- data/handbook/workflow-instructions/docs/update.wf.md +418 -0
- data/lib/ace/docs/atoms/diff_filterer.rb +131 -0
- data/lib/ace/docs/atoms/frontmatter_free_matcher.rb +20 -0
- data/lib/ace/docs/atoms/git_date_resolver.rb +16 -0
- data/lib/ace/docs/atoms/readme_metadata_inferrer.rb +60 -0
- data/lib/ace/docs/atoms/terminology_extractor.rb +308 -0
- data/lib/ace/docs/atoms/time_range_calculator.rb +96 -0
- data/lib/ace/docs/atoms/timestamp_parser.rb +106 -0
- data/lib/ace/docs/atoms/type_inferrer.rb +70 -0
- data/lib/ace/docs/cli/commands/analyze.rb +351 -0
- data/lib/ace/docs/cli/commands/analyze_consistency.rb +185 -0
- data/lib/ace/docs/cli/commands/discover.rb +75 -0
- data/lib/ace/docs/cli/commands/scope_options.rb +71 -0
- data/lib/ace/docs/cli/commands/status.rb +241 -0
- data/lib/ace/docs/cli/commands/update.rb +198 -0
- data/lib/ace/docs/cli/commands/validate.rb +225 -0
- data/lib/ace/docs/cli.rb +60 -0
- data/lib/ace/docs/models/analysis_report.rb +120 -0
- data/lib/ace/docs/models/consistency_report.rb +259 -0
- data/lib/ace/docs/models/document.rb +354 -0
- data/lib/ace/docs/molecules/change_detector.rb +389 -0
- data/lib/ace/docs/molecules/document_loader.rb +133 -0
- data/lib/ace/docs/molecules/frontmatter_manager.rb +85 -0
- data/lib/ace/docs/molecules/git_date_resolver.rb +30 -0
- data/lib/ace/docs/organisms/cross_document_analyzer.rb +274 -0
- data/lib/ace/docs/organisms/document_registry.rb +318 -0
- data/lib/ace/docs/organisms/validator.rb +164 -0
- data/lib/ace/docs/prompts/compact_diff_prompt.rb +119 -0
- data/lib/ace/docs/prompts/consistency_prompt.rb +286 -0
- data/lib/ace/docs/prompts/document_analysis_prompt.rb +389 -0
- data/lib/ace/docs/version.rb +7 -0
- data/lib/ace/docs.rb +82 -0
- data/lib/test.rb +4 -0
- metadata +347 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 8d8db3d8b6cb7383ccf27b9ae6ef604916a5ea45d3d5663d43eef658e97b3910
|
|
4
|
+
data.tar.gz: 8c504dacf7b471741762c0e008e5b8e3df924aa9aa4269438587bae3c2f7f457
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: e64eafe4114ff1f791258a428d7659807ce4bc7469386ffa540fcc2f632cc6127d25b9f378907afb2c8324f03a51d3daa93c71c75a0d67f24d8002408971a898
|
|
7
|
+
data.tar.gz: 8c8a4cd5c4e6838c6085eb33345a842a3ab60b24819ec9b6ad97009a0c7603a69481432ae73985f5b9e7b9e5e1a64951765236ce147760c8d879ff4dd989a21f
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Configuration for ace-docs
|
|
2
|
+
# This file uses FLAT structure for tool-specific config
|
|
3
|
+
# as per ace-gems.g.md standards
|
|
4
|
+
# Place this file at .ace/docs/config.yml in your project
|
|
5
|
+
#
|
|
6
|
+
# Note: Diff filtering is now handled by ace-git
|
|
7
|
+
# Configure global diff settings at .ace/git/config.yml
|
|
8
|
+
# Individual documents can specify paths/filters in their frontmatter
|
|
9
|
+
|
|
10
|
+
# Cache directory for analysis reports
|
|
11
|
+
cache_dir: .ace-local/docs
|
|
12
|
+
|
|
13
|
+
# Analysis settings for LLM integration
|
|
14
|
+
llm_temperature: 0.3 # Lower for deterministic compaction
|
|
15
|
+
llm_timeout: 300 # Timeout in seconds for LLM requests (default: 300 = 5 minutes)
|
|
16
|
+
# llm_model: gflash # Override default if needed (commented to use ace-llm defaults)
|
|
17
|
+
|
|
18
|
+
# Maximum diff lines before warning (context limit)
|
|
19
|
+
max_diff_lines_warning: 100000
|
|
20
|
+
|
|
21
|
+
# Multi-subject configuration example
|
|
22
|
+
# Define multiple subjects to categorize changes separately
|
|
23
|
+
# Place this in document frontmatter under ace-docs: section
|
|
24
|
+
#
|
|
25
|
+
# Example multi-subject configuration:
|
|
26
|
+
# ace-docs:
|
|
27
|
+
# context:
|
|
28
|
+
# files:
|
|
29
|
+
# - CHANGELOG.md
|
|
30
|
+
# subject:
|
|
31
|
+
# - code:
|
|
32
|
+
# diff:
|
|
33
|
+
# filters:
|
|
34
|
+
# - "**/*.rb"
|
|
35
|
+
# - config:
|
|
36
|
+
# diff:
|
|
37
|
+
# filters:
|
|
38
|
+
# - "**/*.yml"
|
|
39
|
+
# - "**/*.yaml"
|
|
40
|
+
# - docs:
|
|
41
|
+
# diff:
|
|
42
|
+
# filters:
|
|
43
|
+
# - "**/*.md"
|
|
44
|
+
#
|
|
45
|
+
# Single subject configuration (backward compatible):
|
|
46
|
+
# ace-docs:
|
|
47
|
+
# subject:
|
|
48
|
+
# diff:
|
|
49
|
+
# filters:
|
|
50
|
+
# - "**/*.rb"
|
|
51
|
+
# - "**/*.md"
|
|
52
|
+
|
|
53
|
+
# Validation settings
|
|
54
|
+
validation_enabled: true
|
|
55
|
+
ace_lint_path: ace-lint # Path to ace-lint executable
|
|
56
|
+
|
|
57
|
+
# Document freshness thresholds (in days)
|
|
58
|
+
# Frequency-specific thresholds that match historical defaults
|
|
59
|
+
default_freshness_days:
|
|
60
|
+
# Daily documents: updated today is current, up to 2 days is stale
|
|
61
|
+
daily:
|
|
62
|
+
stale: 2
|
|
63
|
+
# Weekly documents: 7 days current, 14 days stale
|
|
64
|
+
weekly:
|
|
65
|
+
current: 7
|
|
66
|
+
stale: 14
|
|
67
|
+
# Monthly documents: 30 days current, 45 days stale
|
|
68
|
+
monthly:
|
|
69
|
+
current: 30
|
|
70
|
+
stale: 45
|
|
71
|
+
|
|
72
|
+
# Document type definitions
|
|
73
|
+
document_types:
|
|
74
|
+
# Core context documents
|
|
75
|
+
bundle:
|
|
76
|
+
paths:
|
|
77
|
+
- "docs/*.md" # Core documentation
|
|
78
|
+
- "!docs/archive/**" # Exclude archived docs
|
|
79
|
+
defaults:
|
|
80
|
+
update_frequency: weekly
|
|
81
|
+
max_lines: 150
|
|
82
|
+
required_sections:
|
|
83
|
+
- overview
|
|
84
|
+
- scope
|
|
85
|
+
|
|
86
|
+
# Development guides
|
|
87
|
+
guide:
|
|
88
|
+
paths:
|
|
89
|
+
- "**/*.g.md" # Extension-based pattern
|
|
90
|
+
guide: "guide://documentation"
|
|
91
|
+
defaults:
|
|
92
|
+
update_frequency: monthly
|
|
93
|
+
max_lines: 500
|
|
94
|
+
|
|
95
|
+
# Workflow instructions
|
|
96
|
+
workflow:
|
|
97
|
+
paths:
|
|
98
|
+
- "**/*.wf.md" # Extension pattern
|
|
99
|
+
guide: "guide://documentation"
|
|
100
|
+
defaults:
|
|
101
|
+
update_frequency: on-change
|
|
102
|
+
auto_generate:
|
|
103
|
+
- template-refs: from-embedded
|
|
104
|
+
|
|
105
|
+
# Monorepo root README
|
|
106
|
+
root_readme:
|
|
107
|
+
paths:
|
|
108
|
+
- "README.md"
|
|
109
|
+
guide: "guide://documentation"
|
|
110
|
+
defaults:
|
|
111
|
+
update_frequency: on-change
|
|
112
|
+
max_lines: 2000
|
|
113
|
+
|
|
114
|
+
# Package READMEs
|
|
115
|
+
readme:
|
|
116
|
+
paths:
|
|
117
|
+
- "*/README.md"
|
|
118
|
+
template: "tmpl://project-docs/README"
|
|
119
|
+
guide: "guide://documentation"
|
|
120
|
+
defaults:
|
|
121
|
+
update_frequency: on-change
|
|
122
|
+
max_lines: 1200
|
|
123
|
+
|
|
124
|
+
# User-facing documentation (non-README)
|
|
125
|
+
user:
|
|
126
|
+
paths:
|
|
127
|
+
- "*/docs/**/*.md"
|
|
128
|
+
defaults:
|
|
129
|
+
update_frequency: on-change
|
|
130
|
+
max_lines: 1200
|
|
131
|
+
|
|
132
|
+
# Templates
|
|
133
|
+
template:
|
|
134
|
+
paths:
|
|
135
|
+
- "**/*.template.md"
|
|
136
|
+
defaults:
|
|
137
|
+
update_frequency: on-change
|
|
138
|
+
max_lines: 200
|
|
139
|
+
|
|
140
|
+
# Reference documentation
|
|
141
|
+
reference:
|
|
142
|
+
paths:
|
|
143
|
+
- "*/docs/reference/*.md"
|
|
144
|
+
- "reference/**/*.md"
|
|
145
|
+
defaults:
|
|
146
|
+
update_frequency: monthly
|
|
147
|
+
max_lines: 1000
|
|
148
|
+
|
|
149
|
+
# Global validation rules (merged with type-specific, type wins)
|
|
150
|
+
global_rules:
|
|
151
|
+
max_lines: 1000 # Default maximum lines
|
|
152
|
+
required_frontmatter:
|
|
153
|
+
- doc-type
|
|
154
|
+
- purpose
|
|
155
|
+
|
|
156
|
+
# Ignored paths
|
|
157
|
+
ignore:
|
|
158
|
+
- "**/node_modules/**"
|
|
159
|
+
- "**/vendor/**"
|
|
160
|
+
- "**/.git/**"
|
|
161
|
+
- "**/tmp/**"
|
|
162
|
+
- "**/coverage/**"
|
|
163
|
+
- "**/_legacy/**"
|
|
164
|
+
- "**/.ace-tasks/done/**"
|
|
165
|
+
|
|
166
|
+
# Files managed without YAML frontmatter.
|
|
167
|
+
frontmatter_free:
|
|
168
|
+
- "README.md"
|
|
169
|
+
- "*/README.md"
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: reference
|
|
3
|
+
purpose: Example document demonstrating multi-subject configuration
|
|
4
|
+
ace-docs:
|
|
5
|
+
# Context configuration - files to include for understanding
|
|
6
|
+
bundle:
|
|
7
|
+
files:
|
|
8
|
+
- CHANGELOG.md
|
|
9
|
+
- README.md
|
|
10
|
+
preset: project-base # Use ace-bundle preset if available
|
|
11
|
+
|
|
12
|
+
# Multi-subject configuration - categorize changes by type
|
|
13
|
+
# Each subject generates its own diff file for focused analysis
|
|
14
|
+
subject:
|
|
15
|
+
# Code changes - Ruby implementation files
|
|
16
|
+
- code:
|
|
17
|
+
diff:
|
|
18
|
+
filters:
|
|
19
|
+
- "lib/**/*.rb" # Library code
|
|
20
|
+
- "app/**/*.rb" # Application code
|
|
21
|
+
- "test/**/*.rb" # Test files
|
|
22
|
+
- "spec/**/*.rb" # RSpec tests
|
|
23
|
+
|
|
24
|
+
# Configuration changes - YAML and JSON files
|
|
25
|
+
- config:
|
|
26
|
+
diff:
|
|
27
|
+
filters:
|
|
28
|
+
- "**/*.yml" # YAML config files
|
|
29
|
+
- "**/*.yaml" # Alternative YAML extension
|
|
30
|
+
- "**/*.json" # JSON config files
|
|
31
|
+
- ".ace/**/*" # ACE configuration
|
|
32
|
+
- "config/**/*" # Config directory
|
|
33
|
+
|
|
34
|
+
# Documentation changes - Markdown and text files
|
|
35
|
+
- docs:
|
|
36
|
+
diff:
|
|
37
|
+
filters:
|
|
38
|
+
- "**/*.md" # Markdown documentation
|
|
39
|
+
- "docs/**/*" # Documentation directory
|
|
40
|
+
- "README*" # README files
|
|
41
|
+
- "CHANGELOG*" # Changelog files
|
|
42
|
+
- "*.txt" # Text files
|
|
43
|
+
|
|
44
|
+
# Update tracking
|
|
45
|
+
update:
|
|
46
|
+
frequency: weekly
|
|
47
|
+
last-updated: 2025-10-20
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
# Multi-Subject Configuration Example
|
|
51
|
+
|
|
52
|
+
This example demonstrates how to use **multi-subject configuration** in ace-docs to generate separate diff files for different categories of changes.
|
|
53
|
+
|
|
54
|
+
## Benefits of Multi-Subject Configuration
|
|
55
|
+
|
|
56
|
+
1. **Focused Analysis**: Each subject (code, config, docs) gets its own diff file, allowing for targeted analysis
|
|
57
|
+
2. **Reduced Noise**: Documentation changes don't clutter code change analysis
|
|
58
|
+
3. **Better Context**: LLM can analyze each type of change with appropriate context
|
|
59
|
+
4. **Cleaner Reports**: Analysis reports are organized by change category
|
|
60
|
+
|
|
61
|
+
## How It Works
|
|
62
|
+
|
|
63
|
+
When you run `ace-docs analyze` on this document:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ace-docs analyze multi-subject-example.md
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The system will:
|
|
70
|
+
|
|
71
|
+
1. Generate three separate diff files:
|
|
72
|
+
- `code.diff` - Contains only Ruby file changes
|
|
73
|
+
- `config.diff` - Contains configuration file changes
|
|
74
|
+
- `docs.diff` - Contains documentation changes
|
|
75
|
+
|
|
76
|
+
2. Each diff is filtered according to the patterns specified in the `filters` array
|
|
77
|
+
|
|
78
|
+
3. The LLM receives all three diffs and can provide dual-mode analysis:
|
|
79
|
+
- Technical analysis for code changes
|
|
80
|
+
- Configuration impact analysis
|
|
81
|
+
- Documentation coverage assessment
|
|
82
|
+
|
|
83
|
+
## Configuration Details
|
|
84
|
+
|
|
85
|
+
### Subject Structure
|
|
86
|
+
|
|
87
|
+
Each subject is defined as a single-key object where:
|
|
88
|
+
- The key is the subject name (e.g., "code", "config", "docs")
|
|
89
|
+
- The value contains a `diff` object with `filters` array
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
- code: # Subject name
|
|
93
|
+
diff: # Diff configuration
|
|
94
|
+
filters: # Array of glob patterns
|
|
95
|
+
- "**/*.rb"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Filter Patterns
|
|
99
|
+
|
|
100
|
+
Filters use glob patterns compatible with git pathspecs:
|
|
101
|
+
- `**/*.rb` - All Ruby files in any directory
|
|
102
|
+
- `lib/**/*.rb` - Ruby files under lib/ directory
|
|
103
|
+
- `config/**/*` - All files under config/ directory
|
|
104
|
+
- `README*` - Files starting with README
|
|
105
|
+
|
|
106
|
+
### Custom Subject Names
|
|
107
|
+
|
|
108
|
+
You can use any subject names that make sense for your project:
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
subject:
|
|
112
|
+
- frontend:
|
|
113
|
+
diff:
|
|
114
|
+
filters:
|
|
115
|
+
- "src/**/*.tsx"
|
|
116
|
+
- "src/**/*.ts"
|
|
117
|
+
- backend:
|
|
118
|
+
diff:
|
|
119
|
+
filters:
|
|
120
|
+
- "api/**/*.py"
|
|
121
|
+
- infrastructure:
|
|
122
|
+
diff:
|
|
123
|
+
filters:
|
|
124
|
+
- "terraform/**/*.tf"
|
|
125
|
+
- "k8s/**/*.yaml"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Backward Compatibility
|
|
129
|
+
|
|
130
|
+
Multi-subject configuration is fully backward compatible. Single-subject documents continue to work without modification.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: guide
|
|
3
|
+
purpose: Example document demonstrating single-subject configuration (backward compatible)
|
|
4
|
+
ace-docs:
|
|
5
|
+
# Context configuration
|
|
6
|
+
bundle:
|
|
7
|
+
files:
|
|
8
|
+
- README.md
|
|
9
|
+
keywords:
|
|
10
|
+
- architecture
|
|
11
|
+
- design patterns
|
|
12
|
+
|
|
13
|
+
# Single-subject configuration - all changes in one diff
|
|
14
|
+
# This is the traditional format, still fully supported
|
|
15
|
+
subject:
|
|
16
|
+
diff:
|
|
17
|
+
filters:
|
|
18
|
+
- "lib/**/*.rb" # Ruby library files
|
|
19
|
+
- "app/**/*.rb" # Ruby application files
|
|
20
|
+
- "**/*.md" # All markdown files
|
|
21
|
+
- "config/**/*.yml" # Configuration files
|
|
22
|
+
|
|
23
|
+
# Validation rules
|
|
24
|
+
rules:
|
|
25
|
+
max-lines: 500
|
|
26
|
+
sections:
|
|
27
|
+
- overview
|
|
28
|
+
- usage
|
|
29
|
+
- examples
|
|
30
|
+
|
|
31
|
+
# Update tracking
|
|
32
|
+
update:
|
|
33
|
+
frequency: monthly
|
|
34
|
+
last-updated: 2025-10-20
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# Single-Subject Configuration Example
|
|
38
|
+
|
|
39
|
+
This example demonstrates the **traditional single-subject configuration** which remains fully supported for backward compatibility.
|
|
40
|
+
|
|
41
|
+
## Overview
|
|
42
|
+
|
|
43
|
+
The single-subject configuration generates one consolidated diff file (`repo-diff.diff`) containing all changes that match any of the specified filters. This is the original ace-docs behavior and continues to work without any modifications needed.
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
When you run `ace-docs analyze` on this document:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ace-docs analyze single-subject-example.md
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The system will:
|
|
54
|
+
1. Generate a single `repo-diff.diff` file containing all changes matching the filters
|
|
55
|
+
2. Include changes from Ruby files, markdown files, and YAML configs in one diff
|
|
56
|
+
3. Provide unified analysis of all changes together
|
|
57
|
+
|
|
58
|
+
## Configuration Format
|
|
59
|
+
|
|
60
|
+
The single-subject format uses a direct `diff` object under `subject`:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
ace-docs:
|
|
64
|
+
subject:
|
|
65
|
+
diff:
|
|
66
|
+
filters:
|
|
67
|
+
- "**/*.rb"
|
|
68
|
+
- "**/*.md"
|
|
69
|
+
- "**/*.yml"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## When to Use Single-Subject
|
|
73
|
+
|
|
74
|
+
Single-subject configuration is ideal when:
|
|
75
|
+
|
|
76
|
+
1. **Small Projects**: Your project has a limited number of files
|
|
77
|
+
2. **Unified Analysis**: You want all changes analyzed together
|
|
78
|
+
3. **Simple Requirements**: You don't need to separate different types of changes
|
|
79
|
+
4. **Legacy Compatibility**: You have existing documents that already use this format
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
|
|
83
|
+
### Minimal Configuration
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
ace-docs:
|
|
87
|
+
subject:
|
|
88
|
+
diff:
|
|
89
|
+
filters:
|
|
90
|
+
- "src/**/*" # Everything under src/
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Specific File Types
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
ace-docs:
|
|
97
|
+
subject:
|
|
98
|
+
diff:
|
|
99
|
+
filters:
|
|
100
|
+
- "**/*.rb"
|
|
101
|
+
- "**/*.erb"
|
|
102
|
+
- "**/*.rake"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Exclude Patterns
|
|
106
|
+
|
|
107
|
+
While ace-docs doesn't directly support exclude patterns, you can achieve similar results by being specific with your include patterns:
|
|
108
|
+
|
|
109
|
+
```yaml
|
|
110
|
+
ace-docs:
|
|
111
|
+
subject:
|
|
112
|
+
diff:
|
|
113
|
+
filters:
|
|
114
|
+
- "app/**/*.rb" # Only app Ruby files
|
|
115
|
+
- "lib/**/*.rb" # Only lib Ruby files
|
|
116
|
+
# Implicitly excludes test/**/*.rb
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Migration to Multi-Subject
|
|
120
|
+
|
|
121
|
+
If you later want to migrate to multi-subject configuration, you can split your filters into categories:
|
|
122
|
+
|
|
123
|
+
**Before (Single-Subject):**
|
|
124
|
+
```yaml
|
|
125
|
+
subject:
|
|
126
|
+
diff:
|
|
127
|
+
filters:
|
|
128
|
+
- "**/*.rb"
|
|
129
|
+
- "**/*.md"
|
|
130
|
+
- "**/*.yml"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**After (Multi-Subject):**
|
|
134
|
+
```yaml
|
|
135
|
+
subject:
|
|
136
|
+
- code:
|
|
137
|
+
diff:
|
|
138
|
+
filters:
|
|
139
|
+
- "**/*.rb"
|
|
140
|
+
- docs:
|
|
141
|
+
diff:
|
|
142
|
+
filters:
|
|
143
|
+
- "**/*.md"
|
|
144
|
+
- config:
|
|
145
|
+
diff:
|
|
146
|
+
filters:
|
|
147
|
+
- "**/*.yml"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Both configurations are valid and you can choose based on your needs.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Prompt Sources Protocol Configuration for ace-docs gem
|
|
3
|
+
# This enables prompt discovery from the installed ace-docs gem
|
|
4
|
+
|
|
5
|
+
name: ace-docs
|
|
6
|
+
type: gem
|
|
7
|
+
description: Documentation analysis prompts from ace-docs gem
|
|
8
|
+
priority: 10
|
|
9
|
+
|
|
10
|
+
# Configuration for prompt discovery within the gem
|
|
11
|
+
config:
|
|
12
|
+
# Relative path within the gem (default: handbook/prompts)
|
|
13
|
+
relative_path: handbook/prompts
|
|
14
|
+
|
|
15
|
+
# Pattern for finding prompt files (supports both *.md and *.prompt.md)
|
|
16
|
+
pattern: "*.md"
|
|
17
|
+
|
|
18
|
+
# Enable discovery
|
|
19
|
+
enabled: true
|
|
20
|
+
|
|
21
|
+
# Categories of prompts available
|
|
22
|
+
categories:
|
|
23
|
+
- document-analysis # System prompts for documentation analysis
|
|
24
|
+
|
|
25
|
+
# Notes for users
|
|
26
|
+
notes: |
|
|
27
|
+
ace-docs provides prompts for documentation analysis:
|
|
28
|
+
- document-analysis.system: Main system prompt for analyzing code changes
|
|
29
|
+
and determining documentation updates
|
|
30
|
+
|
|
31
|
+
Use prompt:// URIs to reference these prompts in your analysis configurations.
|
|
32
|
+
Users can override by creating:
|
|
33
|
+
- .ace-handbook/prompts/document-analysis.system.md (project)
|
|
34
|
+
- ~/.ace-handbook/prompts/document-analysis.system.md (user)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
# WFI Sources Protocol Configuration for ace-review gem
|
|
3
|
+
# This enables workflow discovery from the installed ace-review gem
|
|
4
|
+
|
|
5
|
+
name: ace-docs
|
|
6
|
+
type: gem
|
|
7
|
+
description: Docs management from ace-docs gem
|
|
8
|
+
priority: 10
|
|
9
|
+
|
|
10
|
+
# Configuration for workflow discovery within the gem
|
|
11
|
+
config:
|
|
12
|
+
# Relative path within the gem (default: handbook/workflow-instructions)
|
|
13
|
+
relative_path: handbook/workflow-instructions
|
|
14
|
+
|
|
15
|
+
# Pattern for finding workflow files (default: *.wf.md)
|
|
16
|
+
pattern: "*.wf.md"
|
|
17
|
+
|
|
18
|
+
# Enable discovery
|
|
19
|
+
enabled: true
|