@jmylchreest/aide-plugin 0.0.24 → 0.0.26

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.
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: design
3
+ description: Technical design and architecture for implementation
4
+ triggers:
5
+ - design this
6
+ - design the
7
+ - architect this
8
+ - architect the
9
+ - spec this
10
+ - spec the
11
+ - plan this
12
+ - plan the
13
+ ---
14
+
15
+ # Design Mode
16
+
17
+ **Recommended model tier:** smart (opus) - this skill requires complex reasoning
18
+
19
+ Output a technical design specification that downstream SDLC stages can consume.
20
+
21
+ ## Purpose
22
+
23
+ Create a structured design document that defines:
24
+ 1. **What** to build (interfaces, types, components)
25
+ 2. **How** it fits together (data flow, interactions)
26
+ 3. **Why** key decisions were made (rationale)
27
+ 4. **Success criteria** (acceptance criteria for TEST stage)
28
+
29
+ ## Workflow
30
+
31
+ ### Step 1: Understand the Request
32
+
33
+ Read the request and identify:
34
+ - Core functionality required
35
+ - Constraints (tech stack, patterns, performance)
36
+ - Integration points with existing code
37
+
38
+ ### Step 2: Explore the Codebase
39
+
40
+ Use search tools to understand existing patterns:
41
+
42
+ - Use `Grep` for similar patterns, interfaces, types
43
+ - Use `Glob` for relevant files
44
+ - Use `mcp__plugin_aide_aide__decision_list` to review all decisions
45
+ - Use `mcp__plugin_aide_aide__decision_get` with the relevant topic to check specific decisions
46
+
47
+ ### Step 3: Define Interfaces
48
+
49
+ Define the public API/interfaces first:
50
+
51
+ ```typescript
52
+ // Example TypeScript interface
53
+ interface UserService {
54
+ createUser(data: CreateUserInput): Promise<User>;
55
+ getUser(id: string): Promise<User | null>;
56
+ updateUser(id: string, data: UpdateUserInput): Promise<User>;
57
+ }
58
+
59
+ interface CreateUserInput {
60
+ email: string;
61
+ name: string;
62
+ }
63
+ ```
64
+
65
+ ```go
66
+ // Example Go interface
67
+ type UserService interface {
68
+ CreateUser(ctx context.Context, input CreateUserInput) (*User, error)
69
+ GetUser(ctx context.Context, id string) (*User, error)
70
+ UpdateUser(ctx context.Context, id string, input UpdateUserInput) (*User, error)
71
+ }
72
+ ```
73
+
74
+ ### Step 4: Document Data Flow
75
+
76
+ Describe how components interact:
77
+
78
+ ```
79
+ Request → Controller → Service → Repository → Database
80
+
81
+ Validator
82
+
83
+ Error Handler → Response
84
+ ```
85
+
86
+ ### Step 5: Record Key Decisions
87
+
88
+ Store architectural decisions for future reference:
89
+
90
+ ```bash
91
+ aide decision set "<feature>-storage" "PostgreSQL with JSONB for metadata" \
92
+ --rationale="Need flexible schema for user preferences"
93
+
94
+ aide decision set "<feature>-auth" "JWT with refresh tokens" \
95
+ --rationale="Stateless auth, mobile client support"
96
+ ```
97
+
98
+ ### Step 6: Define Acceptance Criteria
99
+
100
+ List specific, testable criteria for the TEST stage:
101
+
102
+ ```markdown
103
+ ## Acceptance Criteria
104
+
105
+ - [ ] User can be created with email and name
106
+ - [ ] Duplicate emails are rejected with 409 status
107
+ - [ ] Created user has UUID identifier
108
+ - [ ] User can be retrieved by ID
109
+ - [ ] Non-existent user returns null (not error)
110
+ - [ ] User email can be updated
111
+ - [ ] User name can be updated
112
+ ```
113
+
114
+ ## Required Output Format
115
+
116
+ ```markdown
117
+ # Design: [Feature Name]
118
+
119
+ ## Overview
120
+ [1-2 sentence summary of what this feature does]
121
+
122
+ ## Interfaces
123
+
124
+ ### [Interface/Type Name]
125
+ \`\`\`typescript
126
+ // Interface definition with comments
127
+ \`\`\`
128
+
129
+ ## Data Flow
130
+ [Diagram or description of component interactions]
131
+
132
+ ## Key Decisions
133
+
134
+ | Decision | Choice | Rationale |
135
+ |----------|--------|-----------|
136
+ | Storage | PostgreSQL | [why] |
137
+ | Auth | JWT | [why] |
138
+
139
+ ## Acceptance Criteria
140
+ - [ ] Criterion 1
141
+ - [ ] Criterion 2
142
+ - [ ] Criterion 3
143
+
144
+ ## Files to Create/Modify
145
+ - `path/to/file.ts` - [purpose]
146
+ - `path/to/test.ts` - [test scope]
147
+
148
+ ## Dependencies
149
+ - [External packages needed]
150
+ - [Internal modules to import]
151
+
152
+ ## Out of Scope
153
+ - [Explicitly excluded items]
154
+ ```
155
+
156
+ ## Failure Handling
157
+
158
+ ### Unclear Requirements
159
+ 1. List specific ambiguities
160
+ 2. State assumptions you're making
161
+ 3. Record assumptions: `aide memory add --category=decision "Assumed X because Y"`
162
+ 4. Proceed with reasonable defaults
163
+
164
+ ### Conflicting Patterns Found
165
+ 1. Document the conflicting patterns
166
+ 2. Choose one and record the decision:
167
+ ```bash
168
+ aide decision set "<topic>" "<choice>" --rationale="<why this over alternatives>"
169
+ ```
170
+
171
+ ### Too Large / Too Vague
172
+ 1. Break into smaller, focused designs
173
+ 2. Design the core/MVP first
174
+ 3. Note future phases in "Out of Scope"
175
+
176
+ ## Verification Checklist
177
+
178
+ Before completing design:
179
+ - [ ] Interfaces are defined with types
180
+ - [ ] Data flow is documented
181
+ - [ ] Key decisions are recorded in aide
182
+ - [ ] Acceptance criteria are testable
183
+ - [ ] Files to modify are listed
184
+ - [ ] Dependencies are identified
185
+
186
+ ## Completion
187
+
188
+ When design is complete:
189
+ 1. Output the full design document
190
+ 2. Confirm: "Design complete. Ready for TEST stage."
191
+
192
+ The design document feeds directly into the TEST stage, where acceptance criteria become test cases.
@@ -0,0 +1,269 @@
1
+ ---
2
+ name: docs
3
+ description: Update documentation to match implementation
4
+ triggers:
5
+ - update docs
6
+ - update documentation
7
+ - document this
8
+ - docs stage
9
+ - documentation
10
+ ---
11
+
12
+ # Documentation Mode
13
+
14
+ **Recommended model tier:** balanced (sonnet) - this skill performs straightforward operations
15
+
16
+ Update documentation to accurately reflect the implemented code.
17
+
18
+ ## Purpose
19
+
20
+ This is the DOCS stage of the SDLC pipeline. Implementation is complete and verified. Your job is to ensure documentation matches reality.
21
+
22
+ ## What to Document
23
+
24
+ ### 1. README Updates
25
+
26
+ If the feature affects how users interact with the project:
27
+ - Installation steps changed?
28
+ - New commands or options?
29
+ - New configuration?
30
+ - New dependencies?
31
+
32
+ ### 2. API Documentation
33
+
34
+ If public APIs were added or changed:
35
+ - Function/method signatures
36
+ - Parameters and return types
37
+ - Usage examples
38
+ - Error conditions
39
+
40
+ ### 3. Inline Documentation
41
+
42
+ If code needs explanation:
43
+ - Complex algorithms
44
+ - Non-obvious design decisions
45
+ - Integration points
46
+ - Edge cases
47
+
48
+ ### 4. Architecture Docs
49
+
50
+ If structure changed:
51
+ - New components
52
+ - Changed data flow
53
+ - New dependencies between modules
54
+
55
+ ## Workflow
56
+
57
+ ### Step 1: Identify Changed Files
58
+
59
+ ```bash
60
+ # See what was changed
61
+ git diff --name-only HEAD~5 # or appropriate range
62
+
63
+ # Find related docs
64
+ Glob for **/*.md
65
+ Glob for **/docs/**/*
66
+ ```
67
+
68
+ ### Step 2: Check Existing Documentation
69
+
70
+ Read current docs that might be affected:
71
+
72
+ ```bash
73
+ Read README.md
74
+ Read docs/api.md # if exists
75
+ Read CHANGELOG.md # if exists
76
+ ```
77
+
78
+ ### Step 3: Read the Implementation
79
+
80
+ Understand what was built:
81
+
82
+ - Read the new code files
83
+ - Use `mcp__plugin_aide_aide__decision_get` with the feature topic to check design decisions
84
+ - Use `mcp__plugin_aide_aide__decision_list` to see all decisions
85
+
86
+ ### Step 4: Update Documentation
87
+
88
+ #### README.md Updates
89
+
90
+ Add/update sections as needed:
91
+
92
+ ```markdown
93
+ ## New Feature
94
+
95
+ Description of what it does.
96
+
97
+ ### Usage
98
+
99
+ \`\`\`bash
100
+ command --new-flag
101
+ \`\`\`
102
+
103
+ ### Configuration
104
+
105
+ | Option | Type | Default | Description |
106
+ |--------|------|---------|-------------|
107
+ | newOption | string | "default" | What it does |
108
+ ```
109
+
110
+ #### API Documentation
111
+
112
+ Document public interfaces:
113
+
114
+ ```markdown
115
+ ### functionName(param1, param2)
116
+
117
+ Brief description.
118
+
119
+ **Parameters:**
120
+ - `param1` (string): What it is
121
+ - `param2` (number, optional): What it does. Default: 10
122
+
123
+ **Returns:** `Promise<Result>`
124
+
125
+ **Example:**
126
+ \`\`\`typescript
127
+ const result = await functionName("input", 20);
128
+ \`\`\`
129
+
130
+ **Throws:**
131
+ - `ValidationError`: When param1 is empty
132
+ ```
133
+
134
+ #### Inline Comments
135
+
136
+ Add comments for non-obvious code:
137
+
138
+ ```typescript
139
+ // Use exponential backoff to handle rate limiting
140
+ // Starts at 100ms, doubles each retry, max 5 retries
141
+ async function fetchWithRetry(url: string): Promise<Response> {
142
+ // ...
143
+ }
144
+ ```
145
+
146
+ ### Step 5: Verify Documentation
147
+
148
+ ```bash
149
+ # If docs have a build step
150
+ npm run docs:build
151
+
152
+ # Check for broken links (if tool available)
153
+ npm run docs:check
154
+
155
+ # Manual review - read what you wrote
156
+ ```
157
+
158
+ ### Step 6: Commit Documentation
159
+
160
+ ```bash
161
+ git add -A
162
+ git commit -m "docs: document <feature>"
163
+ ```
164
+
165
+ ## Documentation Standards
166
+
167
+ ### Be Accurate
168
+ - Documentation must match code exactly
169
+ - If code changes, docs must change
170
+ - Never document aspirational features
171
+
172
+ ### Be Concise
173
+ - One sentence per concept
174
+ - Use examples over explanations
175
+ - Bullet points over paragraphs
176
+
177
+ ### Be Complete
178
+ - Cover happy path AND error cases
179
+ - Include all public API
180
+ - Document breaking changes
181
+
182
+ ### Be Findable
183
+ - Use clear headings
184
+ - Add to table of contents
185
+ - Cross-reference related sections
186
+
187
+ ## What NOT to Document
188
+
189
+ - Internal implementation details (unless complex)
190
+ - Obvious code (self-documenting)
191
+ - Temporary workarounds (use TODO instead)
192
+ - Aspirational features (only document what exists)
193
+
194
+ ## Output Format
195
+
196
+ ```markdown
197
+ ## Documentation Updates
198
+
199
+ ### Files Modified
200
+ - `README.md` - Added new feature section
201
+ - `docs/api.md` - Documented new endpoints
202
+ - `src/service.ts` - Added inline comments for complex logic
203
+
204
+ ### Summary of Changes
205
+ 1. Added usage instructions for `--new-flag`
206
+ 2. Documented `createUser` API with examples
207
+ 3. Updated configuration table with new options
208
+
209
+ ### Verification
210
+ - [ ] Docs build successfully
211
+ - [ ] Examples are copy-pasteable and work
212
+ - [ ] No broken internal links
213
+ ```
214
+
215
+ ## Failure Handling
216
+
217
+ ### No Documentation Exists
218
+
219
+ If this is a new project without docs structure:
220
+ 1. Create minimal README.md
221
+ 2. Document the feature inline
222
+ 3. Note: "Recommend creating docs/ structure in future"
223
+
224
+ ### Documentation Tool Broken
225
+
226
+ If docs build fails:
227
+ 1. Fix the build issue if simple
228
+ 2. Document what was attempted
229
+ 3. Note: "Docs build issue - needs separate fix"
230
+
231
+ ### Unclear What to Document
232
+
233
+ 1. Focus on public API only
234
+ 2. Document what a new user would need
235
+ 3. Skip internal details
236
+ 4. When in doubt, add an example
237
+
238
+ ## Verification Checklist
239
+
240
+ Before completing:
241
+ - [ ] All new public APIs are documented
242
+ - [ ] README is updated if user-facing changes
243
+ - [ ] Examples are tested and work
244
+ - [ ] Docs build (if applicable)
245
+ - [ ] Changes are committed
246
+
247
+ ## Completion
248
+
249
+ When documentation is complete:
250
+
251
+ ```
252
+ Documentation complete.
253
+ - Updated: [list of files]
254
+ - Added: [new sections/files]
255
+
256
+ SDLC pipeline complete for this story.
257
+ ```
258
+
259
+ ## Integration with SDLC Pipeline
260
+
261
+ ```
262
+ [DESIGN] → [TEST] → [DEV] → [VERIFY] → [DOCS]
263
+
264
+ YOU ARE HERE
265
+ ```
266
+
267
+ - **Input**: Verified, working implementation
268
+ - **Output**: Updated documentation
269
+ - **Next**: Story complete, ready for merge
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: git
3
+ description: Git operations and worktree management
4
+ triggers:
5
+ - worktree
6
+ - git worktree
7
+ - create branch
8
+ - manage branches
9
+ ---
10
+
11
+ # Git Mode
12
+
13
+ **Recommended model tier:** balanced (sonnet) - this skill performs straightforward operations
14
+
15
+ Expert git operations including worktree management for parallel work.
16
+
17
+ ## Commit Guidelines
18
+
19
+ ### Message Format
20
+ ```
21
+ <type>: <short description>
22
+
23
+ [optional body]
24
+ ```
25
+
26
+ Types: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`
27
+
28
+ ### Commit Process
29
+ 1. Check status: `git status`
30
+ 2. Review diff: `git diff`
31
+ 3. Stage specific files (not `git add .`)
32
+ 4. Write descriptive message
33
+ 5. Never skip hooks unless explicitly asked
34
+
35
+ ## Worktree Management
36
+
37
+ ### Create Worktree
38
+ ```bash
39
+ # For feature work
40
+ git worktree add ../feature-branch -b feature/name
41
+
42
+ # For parallel tasks
43
+ git worktree add ../aide-worktrees/task-1 -b aide/task-1
44
+ ```
45
+
46
+ ### List Worktrees
47
+ ```bash
48
+ git worktree list
49
+ ```
50
+
51
+ ### Remove Worktree
52
+ ```bash
53
+ git worktree remove ../feature-branch
54
+ git branch -d feature/name # if merged
55
+ ```
56
+
57
+ ## Common Operations
58
+
59
+ ### Feature Branch Workflow
60
+ ```bash
61
+ git checkout -b feature/name
62
+ # ... work ...
63
+ git add <specific-files>
64
+ git commit -m "feat: add feature"
65
+ git push -u origin feature/name
66
+ ```
67
+
68
+ ### Rebase onto Main
69
+ ```bash
70
+ git fetch origin
71
+ git rebase origin/main
72
+ # resolve conflicts if any
73
+ git push --force-with-lease
74
+ ```
75
+
76
+ ### Cherry-Pick
77
+ ```bash
78
+ git cherry-pick <commit-hash>
79
+ ```
80
+
81
+ ### Stash
82
+ ```bash
83
+ git stash push -m "description"
84
+ git stash list
85
+ git stash pop
86
+ ```
87
+
88
+ ## Safety Rules
89
+
90
+ **Never run without explicit user request:**
91
+ - `git push --force` (use `--force-with-lease` if needed)
92
+ - `git reset --hard`
93
+ - `git clean -f`
94
+ - `git checkout .` or `git restore .`
95
+
96
+ **Safe operations:**
97
+ - `git status`, `git diff`, `git log`
98
+ - `git add <specific-files>`
99
+ - `git commit`
100
+ - `git push` (without force)
101
+ - `git worktree` operations
102
+
103
+ ## Failure Handling
104
+
105
+ ### Commit failures:
106
+
107
+ 1. **Pre-commit hook failure** - Read the error, fix the issue, create NEW commit (never amend after hook failure)
108
+ 2. **Merge conflict** - Report conflicts, do not auto-resolve without explicit request
109
+ 3. **Push rejected** - Fetch and rebase, report if conflicts arise
110
+
111
+ ### Worktree failures:
112
+
113
+ 1. **Branch already exists** - Use different name or checkout existing
114
+ 2. **Dirty working tree** - Stash or commit before worktree operations
115
+ 3. **Locked worktree** - Check `git worktree list` for stale entries, use `git worktree prune`
116
+
117
+ ### Recovery commands:
118
+
119
+ ```bash
120
+ # Recover from bad merge (before commit)
121
+ git merge --abort
122
+
123
+ # Recover from bad rebase (before complete)
124
+ git rebase --abort
125
+
126
+ # Prune stale worktrees
127
+ git worktree prune
128
+ ```
129
+
130
+ ## Verification Criteria
131
+
132
+ ### After commit:
133
+
134
+ ```bash
135
+ # Verify commit was created
136
+ git log -1 --oneline
137
+
138
+ # Verify expected files changed
139
+ git show --stat HEAD
140
+ ```
141
+
142
+ ### After push:
143
+
144
+ ```bash
145
+ # Verify remote updated
146
+ git log origin/<branch> -1 --oneline
147
+ ```
148
+
149
+ ### After worktree creation:
150
+
151
+ ```bash
152
+ # Verify worktree exists
153
+ git worktree list | grep <worktree-path>
154
+
155
+ # Verify branch created
156
+ git branch -a | grep <branch-name>
157
+ ```
158
+
159
+ ## Parallel Work Pattern
160
+
161
+ For swarm mode or parallel features:
162
+
163
+ ```bash
164
+ # Setup
165
+ git worktree add ../work-1 -b feature/part-1
166
+ git worktree add ../work-2 -b feature/part-2
167
+
168
+ # Work in parallel (different terminals/agents)
169
+ cd ../work-1 && # ... implement part 1
170
+ cd ../work-2 && # ... implement part 2
171
+
172
+ # Merge
173
+ git checkout main
174
+ git merge feature/part-1
175
+ git merge feature/part-2
176
+
177
+ # Cleanup
178
+ git worktree remove ../work-1
179
+ git worktree remove ../work-2
180
+ git branch -d feature/part-1 feature/part-2
181
+ ```