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.
- checksums.yaml +7 -0
- data/.ace-defaults/handbook/config.yml +4 -0
- data/.ace-defaults/nav/protocols/guide-sources/ace-handbook.yml +19 -0
- data/.ace-defaults/nav/protocols/tmpl-sources/ace-handbook.yml +10 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-handbook.yml +19 -0
- data/CHANGELOG.md +362 -0
- data/LICENSE +21 -0
- data/README.md +42 -0
- data/Rakefile +12 -0
- data/exe/ace-handbook +6 -0
- data/handbook/guides/ai-agent-integration.g.md +625 -0
- data/handbook/guides/atom-pattern.g.md +371 -0
- data/handbook/guides/changelog.g.md +333 -0
- data/handbook/guides/cli-dry-cli.g.md +276 -0
- data/handbook/guides/cli-support-cli.g.md +277 -0
- data/handbook/guides/coding-standards/ruby.md +41 -0
- data/handbook/guides/coding-standards/rust.md +19 -0
- data/handbook/guides/coding-standards/typescript.md +20 -0
- data/handbook/guides/coding-standards.g.md +134 -0
- data/handbook/guides/debug-troubleshooting.g.md +62 -0
- data/handbook/guides/error-handling/ruby.md +29 -0
- data/handbook/guides/error-handling/rust.md +59 -0
- data/handbook/guides/error-handling/typescript.md +38 -0
- data/handbook/guides/error-handling.g.md +207 -0
- data/handbook/guides/meta/agents-definition.g.md +823 -0
- data/handbook/guides/meta/guides-definition.g.md +322 -0
- data/handbook/guides/meta/markdown-definition.g.md +210 -0
- data/handbook/guides/meta/tools-definition.g.md +159 -0
- data/handbook/guides/meta/workflow-instructions-definition.g.md +367 -0
- data/handbook/guides/mono-repo-patterns.g.md +92 -0
- data/handbook/guides/multi-agent-research.g.md +251 -0
- data/handbook/guides/performance/ruby.md +25 -0
- data/handbook/guides/performance/rust.md +48 -0
- data/handbook/guides/performance/typescript.md +32 -0
- data/handbook/guides/performance.g.md +211 -0
- data/handbook/guides/prompt-caching.g.md +83 -0
- data/handbook/guides/quality-assurance/ruby.md +33 -0
- data/handbook/guides/quality-assurance/rust.md +41 -0
- data/handbook/guides/quality-assurance/typescript.md +49 -0
- data/handbook/guides/quality-assurance.g.md +222 -0
- data/handbook/guides/strategic-planning.g.md +69 -0
- data/handbook/guides/troubleshooting/ruby.md +21 -0
- data/handbook/guides/troubleshooting/rust.md +20 -0
- data/handbook/guides/troubleshooting/typescript.md +36 -0
- data/handbook/guides/workflow-context-embedding.g.md +286 -0
- data/handbook/skills/as-handbook-init-project/SKILL.md +34 -0
- data/handbook/skills/as-handbook-manage-agents/SKILL.md +35 -0
- data/handbook/skills/as-handbook-manage-guides/SKILL.md +35 -0
- data/handbook/skills/as-handbook-manage-workflows/SKILL.md +35 -0
- data/handbook/skills/as-handbook-parallel-research/SKILL.md +29 -0
- data/handbook/skills/as-handbook-perform-delivery/SKILL.md +35 -0
- data/handbook/skills/as-handbook-review-guides/SKILL.md +32 -0
- data/handbook/skills/as-handbook-review-workflows/SKILL.md +32 -0
- data/handbook/skills/as-handbook-synthesize-research/SKILL.md +29 -0
- data/handbook/skills/as-handbook-update-docs/SKILL.md +35 -0
- data/handbook/skills/as-release/SKILL.md +50 -0
- data/handbook/skills/as-release-bump-version/SKILL.md +28 -0
- data/handbook/skills/as-release-rubygems-publish/SKILL.md +58 -0
- data/handbook/skills/as-release-update-changelog/SKILL.md +28 -0
- data/handbook/templates/completed-work-documentation.md +59 -0
- data/handbook/templates/cookbooks/cookbook.template.md +237 -0
- data/handbook/templates/research-comparison.template.md +175 -0
- data/handbook/workflow-instructions/handbook/init-project.wf.md +629 -0
- data/handbook/workflow-instructions/handbook/manage-agents.wf.md +379 -0
- data/handbook/workflow-instructions/handbook/manage-guides.wf.md +294 -0
- data/handbook/workflow-instructions/handbook/manage-workflows.wf.md +292 -0
- data/handbook/workflow-instructions/handbook/parallel-research.wf.md +328 -0
- data/handbook/workflow-instructions/handbook/perform-delivery.wf.md +267 -0
- data/handbook/workflow-instructions/handbook/research.wf.md +247 -0
- data/handbook/workflow-instructions/handbook/review-guides.wf.md +348 -0
- data/handbook/workflow-instructions/handbook/review-workflows.wf.md +299 -0
- data/handbook/workflow-instructions/handbook/synthesize-research.wf.md +429 -0
- data/handbook/workflow-instructions/handbook/update-docs.wf.md +338 -0
- data/lib/ace/handbook/atoms/provider_registry.rb +70 -0
- data/lib/ace/handbook/cli/commands/status.rb +36 -0
- data/lib/ace/handbook/cli/commands/sync.rb +36 -0
- data/lib/ace/handbook/cli.rb +51 -0
- data/lib/ace/handbook/models/skill_document.rb +25 -0
- data/lib/ace/handbook/molecules/skill_projection.rb +54 -0
- data/lib/ace/handbook/organisms/provider_syncer.rb +106 -0
- data/lib/ace/handbook/organisms/skill_inventory.rb +54 -0
- data/lib/ace/handbook/organisms/status_collector.rb +181 -0
- data/lib/ace/handbook/version.rb +7 -0
- data/lib/ace/handbook.rb +28 -0
- metadata +227 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: workflow
|
|
3
|
+
title: Manage Agents Workflow Instruction
|
|
4
|
+
purpose: Documentation for ace-handbook/handbook/workflow-instructions/handbook/manage-agents.wf.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-02-22
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Manage Agents Workflow Instruction
|
|
11
|
+
|
|
12
|
+
## Goal
|
|
13
|
+
|
|
14
|
+
Create, update, and maintain agent definitions following the standardized agent definition guide. Ensure all agents
|
|
15
|
+
follow single-purpose design, have proper response formats, and are correctly integrated with the project structure.
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
* Access to `.claude/agents/` directory
|
|
20
|
+
* Understanding of the agent definition guide
|
|
21
|
+
* Access to `.claude/agents/` for symlinks
|
|
22
|
+
* Ability to update `CLAUDE.md` and `settings.json`
|
|
23
|
+
|
|
24
|
+
## High-Level Execution Plan
|
|
25
|
+
|
|
26
|
+
### Planning Steps
|
|
27
|
+
|
|
28
|
+
* Determine if creating new agent or
|
|
29
|
+
updating existing
|
|
30
|
+
* Identify agent's single purpose and
|
|
31
|
+
action keywords
|
|
32
|
+
* Plan expected parameters and tool
|
|
33
|
+
requirements
|
|
34
|
+
* Consider agent composition needs
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Execution Steps
|
|
38
|
+
|
|
39
|
+
* Create/update agent file with proper
|
|
40
|
+
.ag.md extension
|
|
41
|
+
* Add standardized metadata and response
|
|
42
|
+
format
|
|
43
|
+
* Update symlinks in .claude/agents/
|
|
44
|
+
* Update CLAUDE.md agent section if
|
|
45
|
+
significant changes
|
|
46
|
+
* Update settings.json if new tool
|
|
47
|
+
permissions needed
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Process Steps
|
|
51
|
+
|
|
52
|
+
### 1. Creating a New Agent
|
|
53
|
+
|
|
54
|
+
#### Step 1.1: Determine Agent Purpose
|
|
55
|
+
|
|
56
|
+
* Identify the SINGLE primary purpose
|
|
57
|
+
* Choose action-oriented name (avoid -agent suffix)
|
|
58
|
+
* Define clear action keywords (FIND, CREATE, LINT, etc.)
|
|
59
|
+
|
|
60
|
+
#### Step 1.2: Create Agent File
|
|
61
|
+
|
|
62
|
+
Create file in `.claude/agents/[name].ag.md`:
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
name: agent-name
|
|
66
|
+
description: [ACTION] [specific purpose] - [what it does NOT do]
|
|
67
|
+
expected_params:
|
|
68
|
+
required:
|
|
69
|
+
- param: "Description"
|
|
70
|
+
optional:
|
|
71
|
+
- param: "Description (default: value)"
|
|
72
|
+
last_modified: 'YYYY-MM-DD'
|
|
73
|
+
type: agent
|
|
74
|
+
---
|
|
75
|
+
{: .language-yaml}
|
|
76
|
+
|
|
77
|
+
#### Step 1.3: Add Agent Instructions
|
|
78
|
+
|
|
79
|
+
* Write clear, focused instructions
|
|
80
|
+
* Include key commands with examples
|
|
81
|
+
* Add agent composition section for delegation
|
|
82
|
+
* Include response format section
|
|
83
|
+
|
|
84
|
+
#### Step 1.4: Create Symlink
|
|
85
|
+
|
|
86
|
+
cd .claude/agents
|
|
87
|
+
ln -s ../../.claude/agents/[name].ag.md
|
|
88
|
+
{: .language-bash}
|
|
89
|
+
|
|
90
|
+
### 2. Updating Existing Agents
|
|
91
|
+
|
|
92
|
+
#### Step 2.1: Check Current State
|
|
93
|
+
|
|
94
|
+
* Review agent's current implementation
|
|
95
|
+
* Identify what needs updating
|
|
96
|
+
* Check if agent follows current standards
|
|
97
|
+
|
|
98
|
+
#### Step 2.2: Apply Updates
|
|
99
|
+
|
|
100
|
+
* Update metadata if needed
|
|
101
|
+
* Ensure response format section exists
|
|
102
|
+
* Update expected\_params
|
|
103
|
+
* Remove tools field (inherit from settings.json)
|
|
104
|
+
|
|
105
|
+
#### Step 2.3: Verify Symlinks
|
|
106
|
+
|
|
107
|
+
Ensure symlink exists and points to correct location.
|
|
108
|
+
|
|
109
|
+
### 3. Update Project Configuration
|
|
110
|
+
|
|
111
|
+
#### Step 3.1: Update CLAUDE.md
|
|
112
|
+
|
|
113
|
+
If agent is new or significantly changed, update the Agent Recommendations section:
|
|
114
|
+
|
|
115
|
+
* Add agent with action description
|
|
116
|
+
* Group in appropriate category
|
|
117
|
+
* Use consistent format: `**name** - ACTION purpose - details`
|
|
118
|
+
|
|
119
|
+
#### Step 3.2: Update settings.json
|
|
120
|
+
|
|
121
|
+
If agent uses new tools, add to permissions.allow:
|
|
122
|
+
|
|
123
|
+
"Bash(tool-name*)"
|
|
124
|
+
{: .language-json}
|
|
125
|
+
|
|
126
|
+
### 4. Validate Agent
|
|
127
|
+
|
|
128
|
+
#### Step 4.1: Check Standards Compliance
|
|
129
|
+
|
|
130
|
+
* ✓ Uses .ag.md extension
|
|
131
|
+
* ✓ Has single purpose
|
|
132
|
+
* ✓ No tools field (inherits)
|
|
133
|
+
* ✓ Has response format section
|
|
134
|
+
* ✓ Has expected\_params
|
|
135
|
+
* ✓ Uses action keywords
|
|
136
|
+
|
|
137
|
+
#### Step 4.2: Test Agent
|
|
138
|
+
|
|
139
|
+
* Invoke agent with test parameters
|
|
140
|
+
* Verify response format
|
|
141
|
+
* Check delegation works if applicable
|
|
142
|
+
|
|
143
|
+
## Embedded Agent Definition Guide
|
|
144
|
+
|
|
145
|
+
<documents>
|
|
146
|
+
<document path="docs/guides/agents-definition.g.md">
|
|
147
|
+
# Writing Agent Definitions
|
|
148
|
+
|
|
149
|
+
This guide outlines best practices for creating and maintaining agent definitions located within the `.claude/agents/` directory.
|
|
150
|
+
|
|
151
|
+
## File Naming Convention
|
|
152
|
+
|
|
153
|
+
All agent files must use the `.ag.md` suffix to distinguish them from other documentation types.
|
|
154
|
+
|
|
155
|
+
### Naming Pattern
|
|
156
|
+
- **Format:** `<agent-name>.ag.md`
|
|
157
|
+
- **Style:** Use descriptive names that indicate the agent's primary function
|
|
158
|
+
- **Examples:**
|
|
159
|
+
- `git-commit.ag.md` (not `git-commit-manager.md`)
|
|
160
|
+
- `task-finder.ag.md` (not `task-manager-agent.md`)
|
|
161
|
+
- `lint-files.ag.md` (not `code-lint-agent.md`)
|
|
162
|
+
|
|
163
|
+
## Core Principles
|
|
164
|
+
|
|
165
|
+
### 1. Single Purpose Design
|
|
166
|
+
Each agent should have exactly ONE primary purpose.
|
|
167
|
+
|
|
168
|
+
**Anti-pattern:** Multi-purpose agent
|
|
169
|
+
```yaml
|
|
170
|
+
name: git-manager
|
|
171
|
+
description: Handles commits, reviews, staging, and history
|
|
172
|
+
# TOO BROAD - will be used incorrectly
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Good pattern:** Focused agents
|
|
176
|
+
```yaml
|
|
177
|
+
name: git-fast-commit
|
|
178
|
+
description: FAST direct commit execution - NO analysis
|
|
179
|
+
|
|
180
|
+
name: git-review-commit
|
|
181
|
+
description: ANALYZE and REVIEW changes before committing
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 2. Agent Naming and Description Guidelines
|
|
185
|
+
|
|
186
|
+
**Action-First Names:**
|
|
187
|
+
- `fast-commit` - Immediate execution
|
|
188
|
+
- `review-commit` - Analysis first
|
|
189
|
+
- `fix-tests` - Direct action
|
|
190
|
+
|
|
191
|
+
**Description Format:**
|
|
192
|
+
```
|
|
193
|
+
[ACTION_KEYWORD] [specific purpose] - [what it does NOT do]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Examples:
|
|
197
|
+
- "FAST direct commit execution - NO analysis or review"
|
|
198
|
+
- "ANALYZE and REVIEW changes - does NOT auto-commit"
|
|
199
|
+
- "FIX failing tests immediately - NO investigation"
|
|
200
|
+
|
|
201
|
+
### 3. Agent Format Specification
|
|
202
|
+
|
|
203
|
+
```markdown
|
|
204
|
+
---
|
|
205
|
+
# Core metadata (required for all agents)
|
|
206
|
+
name: agent-name
|
|
207
|
+
description: When to use this agent (clear, specific triggers)
|
|
208
|
+
expected_params: # Document expected inputs
|
|
209
|
+
required:
|
|
210
|
+
- param_name: "Description of required parameter"
|
|
211
|
+
optional:
|
|
212
|
+
- param_name: "Description of optional parameter"
|
|
213
|
+
last_modified: 'YYYY-MM-DD'
|
|
214
|
+
type: agent
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
# Agent Instructions
|
|
218
|
+
|
|
219
|
+
Natural language instructions for the agent...
|
|
220
|
+
|
|
221
|
+
## Response Format
|
|
222
|
+
|
|
223
|
+
### Success Response
|
|
224
|
+
```markdown
|
|
225
|
+
## Summary
|
|
226
|
+
[Brief overview of what was accomplished]
|
|
227
|
+
|
|
228
|
+
## Results
|
|
229
|
+
[Key findings or actions taken]
|
|
230
|
+
|
|
231
|
+
## Next Steps
|
|
232
|
+
[Suggested follow-up actions or agent delegations]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Error Response
|
|
236
|
+
```markdown
|
|
237
|
+
## Summary
|
|
238
|
+
[What went wrong]
|
|
239
|
+
|
|
240
|
+
## Issue
|
|
241
|
+
[Specific error details]
|
|
242
|
+
|
|
243
|
+
## Suggested Solution
|
|
244
|
+
[How to resolve the issue]
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Context Definition
|
|
248
|
+
|
|
249
|
+
```yaml
|
|
250
|
+
commands:
|
|
251
|
+
- command-to-execute
|
|
252
|
+
format: markdown-xml
|
|
253
|
+
```
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 4. Tool Access and Permissions
|
|
257
|
+
|
|
258
|
+
**Best Practice:** Omit the `tools:` field entirely
|
|
259
|
+
- Agent inherits all permissions from settings.json
|
|
260
|
+
- Ensures wrapper tools are used
|
|
261
|
+
- Provides security through permission boundaries
|
|
262
|
+
|
|
263
|
+
Update settings.json to control tool access:
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"permissions": {
|
|
267
|
+
"allow": [
|
|
268
|
+
"Bash(task-manager*)",
|
|
269
|
+
"Bash(code-lint*)"
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 5. Agent Composition
|
|
276
|
+
|
|
277
|
+
Agents should delegate to other agents for tasks outside their purpose:
|
|
278
|
+
|
|
279
|
+
```markdown
|
|
280
|
+
## Agent Composition
|
|
281
|
+
|
|
282
|
+
When user needs [other purpose], delegate using:
|
|
283
|
+
Task tool with subagent_type: [agent-name]
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## Best Practices Summary
|
|
287
|
+
|
|
288
|
+
1. **Single Purpose**: One agent, one job
|
|
289
|
+
2. **Action Keywords**: Use FAST, CREATE, FIND, etc.
|
|
290
|
+
3. **No Tools Field**: Inherit from settings.json
|
|
291
|
+
4. **Response Format**: Always include standardized responses
|
|
292
|
+
5. **Expected Params**: Document all inputs
|
|
293
|
+
6. **Composition**: Delegate to other agents
|
|
294
|
+
7. **File Extension**: Always use .ag.md
|
|
295
|
+
8. **Symlinks**: Maintain in .claude/agents/
|
|
296
|
+
9. **Update CLAUDE.md**: Keep agent list current
|
|
297
|
+
10. **Test**: Validate before deployment
|
|
298
|
+
</document>
|
|
299
|
+
</documents>
|
|
300
|
+
|
|
301
|
+
## Success Criteria
|
|
302
|
+
|
|
303
|
+
- Agent follows single-purpose design principle
|
|
304
|
+
- Has standardized response format section
|
|
305
|
+
- Uses proper .ag.md file extension
|
|
306
|
+
- Symlink exists in .claude/agents/
|
|
307
|
+
- CLAUDE.md reflects current agent capabilities
|
|
308
|
+
- settings.json has necessary permissions
|
|
309
|
+
- Agent delegates appropriately to other agents
|
|
310
|
+
|
|
311
|
+
## Common Patterns
|
|
312
|
+
|
|
313
|
+
### Research Agent Pattern
|
|
314
|
+
```yaml
|
|
315
|
+
expected_params:
|
|
316
|
+
required:
|
|
317
|
+
- area: "What to research"
|
|
318
|
+
optional:
|
|
319
|
+
- depth: "How deep to go"
|
|
320
|
+
- output_path: "Where to save results"
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
### Execution Agent Pattern
|
|
324
|
+
```yaml
|
|
325
|
+
expected_params:
|
|
326
|
+
required:
|
|
327
|
+
- target: "What to execute on"
|
|
328
|
+
optional:
|
|
329
|
+
- dry_run: "Test mode"
|
|
330
|
+
- force: "Override safety checks"
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Analysis Agent Pattern
|
|
334
|
+
```yaml
|
|
335
|
+
expected_params:
|
|
336
|
+
required:
|
|
337
|
+
- input: "What to analyze"
|
|
338
|
+
optional:
|
|
339
|
+
- format: "Output format"
|
|
340
|
+
- verbosity: "Detail level"
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
## When to Update CLAUDE.md
|
|
344
|
+
|
|
345
|
+
Update the Agent Recommendations section when:
|
|
346
|
+
- Creating a new agent
|
|
347
|
+
- Significantly changing agent purpose
|
|
348
|
+
- Renaming an agent
|
|
349
|
+
- Removing an agent
|
|
350
|
+
- Adding new agent category
|
|
351
|
+
|
|
352
|
+
## Verification Commands
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
# Check all agents have proper extension
|
|
356
|
+
ls .claude/agents/*.ag.md
|
|
357
|
+
|
|
358
|
+
# Verify symlinks
|
|
359
|
+
ls -la .claude/agents/
|
|
360
|
+
|
|
361
|
+
# Check for tools field (should be minimal)
|
|
362
|
+
grep "^tools:" .claude/agents/*.ag.md
|
|
363
|
+
|
|
364
|
+
# Verify response format sections
|
|
365
|
+
grep -l "## Response Format" .claude/agents/*.ag.md
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
## Usage Example
|
|
369
|
+
|
|
370
|
+
> "Create a new agent for database migrations"
|
|
371
|
+
|
|
372
|
+
1. Create `db-migrate.ag.md` with single purpose
|
|
373
|
+
2. Add response format and expected_params
|
|
374
|
+
3. Create symlink in .claude/agents/
|
|
375
|
+
4. Add to CLAUDE.md under Development Tools
|
|
376
|
+
5. Update settings.json if needed
|
|
377
|
+
6. Test the agent
|
|
378
|
+
</agent-name></document></documents>
|
|
379
|
+
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: workflow
|
|
3
|
+
title: Manage Guides
|
|
4
|
+
purpose: Documentation for ace-handbook/handbook/workflow-instructions/handbook/manage-guides.wf.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-03-12
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Manage Guides
|
|
11
|
+
|
|
12
|
+
## Goal
|
|
13
|
+
|
|
14
|
+
Create, update, and maintain development guide files following established standards and patterns. This meta-workflow
|
|
15
|
+
guides handbook maintainers through the systematic creation of conceptual guides that explain principles, standards, and
|
|
16
|
+
best practices while maintaining consistency across the handbook.
|
|
17
|
+
|
|
18
|
+
## Prerequisites
|
|
19
|
+
|
|
20
|
+
* Understanding of guide definition principles and standards
|
|
21
|
+
* Access to handbook guide standards
|
|
22
|
+
* Knowledge of existing guide patterns and structure
|
|
23
|
+
* Understanding of language modularity principles
|
|
24
|
+
|
|
25
|
+
## Project Context Loading
|
|
26
|
+
|
|
27
|
+
* Load guide standards: `ace-handbook/handbook/guides/meta/guides-definition.g.md`
|
|
28
|
+
* Load markdown standards: `ace-handbook/handbook/guides/meta/markdown-definition.g.md`
|
|
29
|
+
* Load example guides from `ace-handbook/handbook/guides/`
|
|
30
|
+
|
|
31
|
+
## Process Steps
|
|
32
|
+
|
|
33
|
+
1. **Define Guide Scope and Purpose:**
|
|
34
|
+
* Identify the conceptual area or standard the guide will cover
|
|
35
|
+
* Determine the "why" focus (principles, concepts, standards)
|
|
36
|
+
* Define target audience (developers, AI agents, or both)
|
|
37
|
+
* Establish boundaries: what concepts are included and excluded
|
|
38
|
+
* Gather requirements from users or project standards
|
|
39
|
+
2. **Design Guide Structure:**
|
|
40
|
+
* Plan guide sections following conceptual organization:
|
|
41
|
+
* Introduction with purpose and scope
|
|
42
|
+
* Core principles and concepts
|
|
43
|
+
* Standards and best practices
|
|
44
|
+
* Examples that illustrate concepts (not procedures)
|
|
45
|
+
* Cross-references to related guides and workflows
|
|
46
|
+
* Design for scanability with clear headings and sections
|
|
47
|
+
* Plan language-specific modularity if needed
|
|
48
|
+
3. **Analyze Language-Specific Requirements:**
|
|
49
|
+
* Identify if the guide mixes general principles with language-specific details
|
|
50
|
+
* If language-specific content exists:
|
|
51
|
+
* Keep main guide language-agnostic
|
|
52
|
+
* Create sub-guides for each language in subdirectory
|
|
53
|
+
* Use naming pattern: `guide-topic/language.md`
|
|
54
|
+
* Examples of modular structure:
|
|
55
|
+
* `testing.g.md` (general principles)
|
|
56
|
+
* `testing/ruby-rspec.md` (Ruby-specific)
|
|
57
|
+
* `testing/typescript-bun.md` (TypeScript-specific)
|
|
58
|
+
4. **Create Guide File:**
|
|
59
|
+
* Create file in `guides/` with `.g.md` extension
|
|
60
|
+
* Use noun-phrase naming convention (e.g., `coding-standards.g.md`)
|
|
61
|
+
* Implement standard guide structure:
|
|
62
|
+
|
|
63
|
+
# Guide Title
|
|
64
|
+
|
|
65
|
+
[Brief introduction paragraph explaining purpose and scope]
|
|
66
|
+
|
|
67
|
+
## Core Principles
|
|
68
|
+
|
|
69
|
+
1. **Principle Name**: Explanation of concept and rationale
|
|
70
|
+
2. **Principle Name**: Why this matters and how it applies
|
|
71
|
+
|
|
72
|
+
## Standards and Best Practices
|
|
73
|
+
|
|
74
|
+
### Standard Category
|
|
75
|
+
|
|
76
|
+
* [Standard with explanation]
|
|
77
|
+
* [Best practice with rationale]
|
|
78
|
+
|
|
79
|
+
## Examples
|
|
80
|
+
|
|
81
|
+
[Concrete examples that illustrate concepts]
|
|
82
|
+
|
|
83
|
+
## Related Resources
|
|
84
|
+
|
|
85
|
+
* [Link to related guide]
|
|
86
|
+
* [Link to workflow for implementation]
|
|
87
|
+
{: .language-markdown}
|
|
88
|
+
5. **Create Language-Specific Sub-Guides (if needed):**
|
|
89
|
+
* Create subdirectory: `guides/[topic]/`
|
|
90
|
+
* Create language-specific files: `[language].md` (not `.g.md`)
|
|
91
|
+
* Focus on implementation details specific to that language
|
|
92
|
+
* Structure language sub-guides:
|
|
93
|
+
|
|
94
|
+
# [Topic] - [Language]
|
|
95
|
+
|
|
96
|
+
Language-specific implementation of [topic] principles.
|
|
97
|
+
|
|
98
|
+
## [Language] Specifics
|
|
99
|
+
|
|
100
|
+
### Tools and Libraries
|
|
101
|
+
* [Language-specific tools]
|
|
102
|
+
|
|
103
|
+
### Code Examples
|
|
104
|
+
[Actual code samples]
|
|
105
|
+
|
|
106
|
+
### Common Patterns
|
|
107
|
+
[Language-specific patterns]
|
|
108
|
+
|
|
109
|
+
## Integration with [Language] Ecosystem
|
|
110
|
+
[How principles apply in this language context]
|
|
111
|
+
{: .language-markdown}
|
|
112
|
+
6. **Develop Content Following Guide Principles:**
|
|
113
|
+
* **Conceptual Focus:** Explain "why" rather than "how"
|
|
114
|
+
* **Clarity:** Use simple, direct language
|
|
115
|
+
* **Examples for Illustration:** Show concepts, not procedures
|
|
116
|
+
* **Consistency:** Use established terminology and patterns
|
|
117
|
+
* **Actionability:** Provide context for decision-making
|
|
118
|
+
7. **Update Guide Organization:**
|
|
119
|
+
* Add new guide to `guides/README.md`
|
|
120
|
+
* Place in appropriate category (Core Development Process, Standards, etc.)
|
|
121
|
+
* Provide clear description of guide's purpose
|
|
122
|
+
* Update any cross-references in related guides
|
|
123
|
+
8. **Validate Guide Standards Compliance:**
|
|
124
|
+
* Verify `.g.md` naming convention used
|
|
125
|
+
* Check conceptual focus (principles vs procedures)
|
|
126
|
+
* Ensure language modularity if mixed content exists
|
|
127
|
+
* Validate cross-references and links
|
|
128
|
+
* Review for consistency with existing guides
|
|
129
|
+
9. **Quality Review and Integration:**
|
|
130
|
+
* Review guide content for accuracy and completeness
|
|
131
|
+
* Test that examples and code samples are correct
|
|
132
|
+
* Verify integration with guide organization
|
|
133
|
+
* Check for proper cross-references to workflows
|
|
134
|
+
* Ensure consistency with project terminology
|
|
135
|
+
|
|
136
|
+
## Guide Types and Patterns
|
|
137
|
+
|
|
138
|
+
### Process Guides
|
|
139
|
+
|
|
140
|
+
For development processes and workflows:
|
|
141
|
+
|
|
142
|
+
* Focus on principles and decision-making
|
|
143
|
+
* Link to specific workflow instructions for implementation
|
|
144
|
+
* Examples: `project-management.g.md`, `version-control-system.g.md`
|
|
145
|
+
|
|
146
|
+
### Standards Guides
|
|
147
|
+
|
|
148
|
+
For coding and quality standards:
|
|
149
|
+
|
|
150
|
+
* Define principles and rationale
|
|
151
|
+
* Provide concrete examples of good/bad practices
|
|
152
|
+
* Include language-specific sub-guides as needed
|
|
153
|
+
* Examples: `coding-standards.g.md`, `security.g.md`
|
|
154
|
+
|
|
155
|
+
### Technical Guides
|
|
156
|
+
|
|
157
|
+
For technical concepts and approaches:
|
|
158
|
+
|
|
159
|
+
* Explain architectural principles
|
|
160
|
+
* Provide conceptual examples
|
|
161
|
+
* Link to implementation workflows
|
|
162
|
+
* Examples: `testing-tdd-cycle.g.md`, `performance.g.md`
|
|
163
|
+
|
|
164
|
+
### Meta Guides
|
|
165
|
+
|
|
166
|
+
For handbook and documentation standards:
|
|
167
|
+
|
|
168
|
+
* Define content creation principles
|
|
169
|
+
* Explain organizational structure
|
|
170
|
+
* Examples: `documentation.g.md`, guides in `.meta/gds/`
|
|
171
|
+
|
|
172
|
+
## Language Modularity Examples
|
|
173
|
+
|
|
174
|
+
### Main Guide Structure (testing.g.md)
|
|
175
|
+
|
|
176
|
+
# Testing and Quality Assurance
|
|
177
|
+
|
|
178
|
+
This guide establishes testing principles and quality standards.
|
|
179
|
+
|
|
180
|
+
## Core Testing Principles
|
|
181
|
+
|
|
182
|
+
1. **Test-Driven Development**: Write tests before implementation
|
|
183
|
+
2. **Test Pyramid**: Unit tests > Integration tests > E2E tests
|
|
184
|
+
|
|
185
|
+
## Language-Specific Implementation
|
|
186
|
+
|
|
187
|
+
See language-specific guides for implementation details:
|
|
188
|
+
* [Ruby Testing with RSpec](./testing/ruby-rspec.md)
|
|
189
|
+
* [TypeScript Testing with Bun](./testing/typescript-bun.md)
|
|
190
|
+
* [Rust Testing](./testing/rust.md)
|
|
191
|
+
{: .language-markdown}
|
|
192
|
+
|
|
193
|
+
### Language Sub-Guide Structure (testing/ruby-rspec.md)
|
|
194
|
+
|
|
195
|
+
# Testing - Ruby RSpec
|
|
196
|
+
|
|
197
|
+
Ruby-specific implementation of testing principles using RSpec.
|
|
198
|
+
|
|
199
|
+
## RSpec Configuration
|
|
200
|
+
|
|
201
|
+
[Specific configuration examples]
|
|
202
|
+
|
|
203
|
+
## Common Patterns
|
|
204
|
+
|
|
205
|
+
[Ruby/RSpec specific testing patterns]
|
|
206
|
+
|
|
207
|
+
## Integration with Rails
|
|
208
|
+
|
|
209
|
+
[Framework-specific guidance]
|
|
210
|
+
{: .language-markdown}
|
|
211
|
+
|
|
212
|
+
## Quality Standards
|
|
213
|
+
|
|
214
|
+
### Content Standards
|
|
215
|
+
|
|
216
|
+
* **Conceptual Clarity:** Focus on understanding over execution
|
|
217
|
+
* **Principle-Based:** Explain rationale behind standards
|
|
218
|
+
* **Example-Driven:** Use concrete examples to illustrate concepts
|
|
219
|
+
* **Cross-Referenced:** Link appropriately to related content
|
|
220
|
+
|
|
221
|
+
### Structural Standards
|
|
222
|
+
|
|
223
|
+
* **Consistent Organization:** Follow established section patterns
|
|
224
|
+
* **Language Modularity:** Separate general principles from specific implementations
|
|
225
|
+
* **Scannable Format:** Use headings and lists effectively
|
|
226
|
+
* **Naming Compliance:** Use noun-phrase `.g.md` convention
|
|
227
|
+
|
|
228
|
+
### Integration Standards
|
|
229
|
+
|
|
230
|
+
* **README Updates:** Include new guides in organization
|
|
231
|
+
* **Cross-References:** Maintain accurate links between guides
|
|
232
|
+
* **Workflow Links:** Connect guides to implementation workflows
|
|
233
|
+
* **Terminology Consistency:** Use established project language
|
|
234
|
+
|
|
235
|
+
## Success Criteria
|
|
236
|
+
|
|
237
|
+
* Guide file created with proper `.g.md` naming and structure
|
|
238
|
+
* Content focuses on principles and concepts (not procedures)
|
|
239
|
+
* Language modularity applied if mixed content exists
|
|
240
|
+
* Integration with `guides/README.md` complete
|
|
241
|
+
* Cross-references accurate and helpful
|
|
242
|
+
* Quality review completed and standards met
|
|
243
|
+
* Consistency with existing guide patterns maintained
|
|
244
|
+
|
|
245
|
+
## Common Patterns
|
|
246
|
+
|
|
247
|
+
### Creating Standard Guides
|
|
248
|
+
|
|
249
|
+
1. Define principles first
|
|
250
|
+
2. Provide rationale for each standard
|
|
251
|
+
3. Include positive and negative examples
|
|
252
|
+
4. Link to implementation workflows
|
|
253
|
+
5. Consider language-specific needs
|
|
254
|
+
|
|
255
|
+
### Updating Existing Guides
|
|
256
|
+
|
|
257
|
+
1. Review current content for accuracy
|
|
258
|
+
2. Maintain consistency with new information
|
|
259
|
+
3. Update cross-references as needed
|
|
260
|
+
4. Preserve established patterns
|
|
261
|
+
5. Consider impact on related guides
|
|
262
|
+
|
|
263
|
+
### Language-Specific Extension
|
|
264
|
+
|
|
265
|
+
1. Keep main guide language-agnostic
|
|
266
|
+
2. Create subdirectory for language variants
|
|
267
|
+
3. Focus sub-guides on implementation details
|
|
268
|
+
4. Cross-reference between main and sub-guides
|
|
269
|
+
5. Maintain consistency across languages
|
|
270
|
+
|
|
271
|
+
## Error Handling
|
|
272
|
+
|
|
273
|
+
**Guide becomes too procedural:**
|
|
274
|
+
|
|
275
|
+
* Refactor procedural content into workflow instructions
|
|
276
|
+
* Keep guide focused on principles and rationale
|
|
277
|
+
* Link to workflows for implementation steps
|
|
278
|
+
|
|
279
|
+
**Mixed language content in main guide:**
|
|
280
|
+
|
|
281
|
+
* Extract language-specific content to sub-guides
|
|
282
|
+
* Keep main guide technology-agnostic
|
|
283
|
+
* Create clear navigation between variants
|
|
284
|
+
|
|
285
|
+
**Inconsistent with existing guides:**
|
|
286
|
+
|
|
287
|
+
* Review established patterns and terminology
|
|
288
|
+
* Update for consistency or document intentional differences
|
|
289
|
+
* Consider impact on related guides and workflows
|
|
290
|
+
|
|
291
|
+
## Usage Example
|
|
292
|
+
|
|
293
|
+
> "Create a guide for API design principles that covers REST standards, documentation requirements, and
|
|
294
|
+
> language-specific implementation patterns for Ruby and TypeScript"
|