automatasaurus 0.1.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 (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +543 -0
  3. package/bin/cli.js +62 -0
  4. package/package.json +39 -0
  5. package/src/commands/init.js +149 -0
  6. package/src/commands/status.js +68 -0
  7. package/src/commands/update.js +140 -0
  8. package/src/lib/block-merge.js +86 -0
  9. package/src/lib/json-merge.js +121 -0
  10. package/src/lib/manifest.js +60 -0
  11. package/src/lib/paths.js +55 -0
  12. package/src/lib/symlinks.js +127 -0
  13. package/template/CLAUDE.block.md +357 -0
  14. package/template/README.md +36 -0
  15. package/template/agents/architect/AGENT.md +167 -0
  16. package/template/agents/designer/AGENT.md +289 -0
  17. package/template/agents/developer/AGENT.md +182 -0
  18. package/template/agents/tester/AGENT.md +308 -0
  19. package/template/artifacts/discovery.md.template +193 -0
  20. package/template/artifacts/implementation-plan.md.template +119 -0
  21. package/template/commands/discovery.md +325 -0
  22. package/template/commands/work-all.md +274 -0
  23. package/template/commands/work-plan.md +169 -0
  24. package/template/commands/work.md +73 -0
  25. package/template/commands.block.md +45 -0
  26. package/template/commands.template.md +156 -0
  27. package/template/hooks/notify.sh +83 -0
  28. package/template/hooks/on-stop.sh +54 -0
  29. package/template/hooks/request-attention.sh +16 -0
  30. package/template/settings.json +85 -0
  31. package/template/skills/agent-coordination/SKILL.md +166 -0
  32. package/template/skills/code-review/SKILL.md +386 -0
  33. package/template/skills/css-standards/SKILL.md +488 -0
  34. package/template/skills/github-issues/SKILL.md +144 -0
  35. package/template/skills/github-workflow/SKILL.md +161 -0
  36. package/template/skills/infrastructure-standards/SKILL.md +189 -0
  37. package/template/skills/javascript-standards/SKILL.md +355 -0
  38. package/template/skills/notifications/SKILL.md +95 -0
  39. package/template/skills/pr-writing/SKILL.md +259 -0
  40. package/template/skills/project-commands/SKILL.md +100 -0
  41. package/template/skills/python-standards/SKILL.md +284 -0
  42. package/template/skills/requirements-gathering/SKILL.md +212 -0
  43. package/template/skills/user-stories/SKILL.md +192 -0
  44. package/template/skills/work-issue/SKILL.md +245 -0
  45. package/template/skills/workflow-orchestration/SKILL.md +271 -0
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: notifications
3
+ description: System for alerting the user when attention is needed. Use when you need to get the user's attention for questions, approvals, or when stuck.
4
+ ---
5
+
6
+ # Notification System
7
+
8
+ Automatasaurus includes a notification system to alert the user when their attention is needed.
9
+
10
+ ## Automatic Notifications
11
+
12
+ The system automatically sends notifications on stop based on context:
13
+ - **Questions**: When Claude asks a question and waits for input
14
+ - **Approvals**: When approval is needed to proceed
15
+ - **Stuck**: When an agent encounters an issue
16
+ - **Complete**: When all work is done
17
+
18
+ ## Explicit Notification Request
19
+
20
+ When you need to explicitly alert the user, use:
21
+
22
+ ```bash
23
+ .claude/hooks/request-attention.sh <type> "<message>"
24
+ ```
25
+
26
+ ### Notification Types
27
+
28
+ | Type | When to Use | Sound |
29
+ |------|-------------|-------|
30
+ | `question` | You have a question that needs answering | Submarine |
31
+ | `approval` | You need approval before proceeding | Submarine |
32
+ | `stuck` | You've encountered an issue you can't resolve | Basso (alert) |
33
+ | `complete` | All assigned work is finished | Hero (success) |
34
+ | `info` | General notification | Glass |
35
+ | `error` | An error occurred | Basso (alert) |
36
+
37
+ ### Examples
38
+
39
+ ```bash
40
+ # Question needs answering
41
+ .claude/hooks/request-attention.sh question "Should I use PostgreSQL or MySQL for this project?"
42
+
43
+ # Approval needed
44
+ .claude/hooks/request-attention.sh approval "PR #42 is ready for review"
45
+
46
+ # Got stuck
47
+ .claude/hooks/request-attention.sh stuck "Cannot access the GitHub API - authentication failed"
48
+
49
+ # Work complete
50
+ .claude/hooks/request-attention.sh complete "All 5 user stories have been implemented and tested"
51
+
52
+ # Error occurred
53
+ .claude/hooks/request-attention.sh error "Build failed with 3 errors"
54
+ ```
55
+
56
+ ## When to Notify
57
+
58
+ ### Always Notify For:
59
+ - Questions that block progress
60
+ - Security-related approvals
61
+ - When you've been stuck for more than one attempt
62
+ - Completion of significant milestones
63
+ - Errors that require human intervention
64
+
65
+ ### Don't Notify For:
66
+ - Minor progress updates
67
+ - Self-recoverable errors
68
+ - Questions you can answer from context
69
+
70
+ ## Configuration
71
+
72
+ Notifications can be configured via environment variables:
73
+
74
+ ```bash
75
+ # Disable sound
76
+ AUTOMATASAURUS_SOUND=false
77
+
78
+ # Custom log location
79
+ AUTOMATASAURUS_LOG=/path/to/custom.log
80
+ ```
81
+
82
+ ## Platform Support
83
+
84
+ - **macOS**: Native notifications with sound
85
+ - **Linux**: Uses `notify-send` if available
86
+ - **Windows**: PowerShell message box
87
+
88
+ ## Logging
89
+
90
+ All notifications are logged to `$AUTOMATASAURUS_LOG` (default: `/tmp/automatasaurus.log`):
91
+
92
+ ```
93
+ [2025-01-02 14:30:45] [question] Automatasaurus: Which database should we use?
94
+ [2025-01-02 14:35:12] [complete] Automatasaurus: Feature implementation complete
95
+ ```
@@ -0,0 +1,259 @@
1
+ ---
2
+ name: pr-writing
3
+ description: Best practices for writing clear, effective pull request descriptions. Use when creating PRs to ensure they communicate changes effectively to reviewers.
4
+ ---
5
+
6
+ # PR Writing Skill
7
+
8
+ Guidelines for writing pull request descriptions that help reviewers understand and approve changes quickly.
9
+
10
+ ## PR Title Format
11
+
12
+ ```
13
+ #<issue-number> <type>: <concise description>
14
+ ```
15
+
16
+ Always prefix the PR title with the GitHub issue number to enable easy cross-referencing.
17
+
18
+ ### Types
19
+ | Type | Use For |
20
+ |------|---------|
21
+ | `feat` | New feature or functionality |
22
+ | `fix` | Bug fix |
23
+ | `refactor` | Code restructuring without behavior change |
24
+ | `docs` | Documentation only |
25
+ | `test` | Adding or updating tests |
26
+ | `chore` | Build, tooling, dependencies |
27
+ | `perf` | Performance improvement |
28
+ | `style` | Formatting, whitespace (no logic change) |
29
+
30
+ ### Good Titles
31
+ ```
32
+ #42 feat: Add user registration endpoint
33
+ #187 fix: Prevent duplicate form submissions
34
+ #23 refactor: Extract authentication logic into service
35
+ #91 docs: Add API documentation for user endpoints
36
+ ```
37
+
38
+ ### Bad Titles
39
+ ```
40
+ Update code # Too vague, no issue number
41
+ Fixed the bug # Which bug? No issue number
42
+ WIP # Not ready for review
43
+ feat: Add login # Missing issue number prefix
44
+ ```
45
+
46
+ ## PR Body Structure
47
+
48
+ ```markdown
49
+ ## Summary
50
+ [1-3 sentences explaining WHAT changed and WHY]
51
+
52
+ Closes #<issue-number>
53
+
54
+ ## Changes
55
+ - [Specific change 1]
56
+ - [Specific change 2]
57
+ - [Specific change 3]
58
+
59
+ ## Testing
60
+ - [ ] Unit tests added/updated
61
+ - [ ] Integration tests pass
62
+ - [ ] Manual testing completed
63
+
64
+ ## Screenshots (if UI changes)
65
+ [Before/after screenshots or GIFs]
66
+
67
+ ## Notes for Reviewers
68
+ [Optional: Areas to focus on, known limitations, questions]
69
+ ```
70
+
71
+ ## Writing the Summary
72
+
73
+ ### Focus on WHY, not just WHAT
74
+
75
+ **Bad:**
76
+ > Added a new function called validateEmail and updated the user model.
77
+
78
+ **Good:**
79
+ > Adds email validation to prevent invalid emails from being stored, which was causing delivery failures in the notification system.
80
+
81
+ ### Be Specific About Impact
82
+
83
+ **Bad:**
84
+ > Fixed authentication bug.
85
+
86
+ **Good:**
87
+ > Fixes session timeout not being respected when "Remember Me" is checked, which was causing users to be logged out after 30 minutes regardless of their preference.
88
+
89
+ ### Keep It Scannable
90
+
91
+ Reviewers often skim. Front-load the important information:
92
+
93
+ **Bad:**
94
+ > After investigating the issue that was reported last week about the dashboard loading slowly, I discovered that we were making redundant API calls. This PR addresses that by implementing caching.
95
+
96
+ **Good:**
97
+ > Reduces dashboard load time by 60% by caching API responses. The redundant calls were causing 3-second delays on each page load.
98
+
99
+ ## Describing Changes
100
+
101
+ ### Be Specific and Organized
102
+
103
+ Group related changes:
104
+
105
+ ```markdown
106
+ ## Changes
107
+
108
+ ### API
109
+ - Add `POST /api/users/register` endpoint
110
+ - Add request validation middleware
111
+ - Add rate limiting (10 requests/minute)
112
+
113
+ ### Database
114
+ - Add `email_verified` column to users table
115
+ - Add index on `email` column
116
+
117
+ ### Tests
118
+ - Add unit tests for registration validation
119
+ - Add integration tests for registration flow
120
+ ```
121
+
122
+ ### Explain Non-Obvious Changes
123
+
124
+ ```markdown
125
+ ## Changes
126
+ - Increase connection pool size from 10 to 25
127
+ - Load testing showed connection exhaustion under peak traffic
128
+ - Add retry logic to external API calls
129
+ - The payment provider has occasional 503s that resolve on retry
130
+ ```
131
+
132
+ ## Linking to Issues
133
+
134
+ Always link the related issue:
135
+
136
+ ```markdown
137
+ Closes #123
138
+ ```
139
+
140
+ Or for partial work:
141
+
142
+ ```markdown
143
+ Related to #123
144
+ Part of #123
145
+ ```
146
+
147
+ ## Highlighting Review Focus
148
+
149
+ Help reviewers prioritize their attention:
150
+
151
+ ```markdown
152
+ ## Notes for Reviewers
153
+
154
+ **Please focus on:**
155
+ - The caching invalidation logic in `src/cache/manager.ts` - I'm unsure if this handles all edge cases
156
+ - The error handling in the new endpoint
157
+
158
+ **You can skim:**
159
+ - The test files follow existing patterns
160
+ - The migration is straightforward
161
+ ```
162
+
163
+ ## Screenshots and Visuals
164
+
165
+ For UI changes, always include:
166
+
167
+ ```markdown
168
+ ## Screenshots
169
+
170
+ ### Before
171
+ [screenshot]
172
+
173
+ ### After
174
+ [screenshot]
175
+ ```
176
+
177
+ For complex flows, use GIFs or numbered screenshots:
178
+
179
+ ```markdown
180
+ ## User Flow
181
+
182
+ 1. User clicks "Register"
183
+ [screenshot 1]
184
+
185
+ 2. Validation errors shown inline
186
+ [screenshot 2]
187
+
188
+ 3. Success state with redirect
189
+ [screenshot 3]
190
+ ```
191
+
192
+ ## Breaking Changes
193
+
194
+ Clearly call out breaking changes:
195
+
196
+ ```markdown
197
+ ## ⚠️ Breaking Changes
198
+
199
+ - `getUserById()` now returns `null` instead of throwing when user not found
200
+ - The `/api/v1/users` endpoint is deprecated, use `/api/v2/users`
201
+
202
+ ### Migration Guide
203
+ 1. Update all `try/catch` blocks around `getUserById()` to null checks
204
+ 2. Update API clients to use v2 endpoint
205
+ ```
206
+
207
+ ## Draft PRs
208
+
209
+ Use draft PRs for:
210
+ - Work in progress needing early feedback
211
+ - Architectural decisions to discuss
212
+ - Proof of concepts
213
+
214
+ ```markdown
215
+ ## 🚧 Draft PR
216
+
217
+ This is a draft to get early feedback on the approach.
218
+
219
+ **Questions:**
220
+ 1. Should we use Redis or in-memory caching?
221
+ 2. Is this the right place for this logic?
222
+
223
+ **Not yet complete:**
224
+ - [ ] Error handling
225
+ - [ ] Tests
226
+ - [ ] Documentation
227
+ ```
228
+
229
+ ## Checklist Before Submitting
230
+
231
+ Before marking ready for review:
232
+
233
+ - [ ] Title follows `#<issue> type: description` format
234
+ - [ ] Summary explains what AND why
235
+ - [ ] Issue is linked with `Closes #X`
236
+ - [ ] Changes are listed specifically
237
+ - [ ] Tests are included and passing
238
+ - [ ] Screenshots added for UI changes
239
+ - [ ] Breaking changes are highlighted
240
+ - [ ] Self-reviewed the diff for obvious issues
241
+ - [ ] Branch is synced with main (no merge conflicts)
242
+
243
+ ## PR Size Guidelines
244
+
245
+ | Size | Lines Changed | Review Time | Recommendation |
246
+ |------|---------------|-------------|----------------|
247
+ | Small | < 100 | < 30 min | Ideal |
248
+ | Medium | 100-300 | 30-60 min | Acceptable |
249
+ | Large | 300-500 | 1-2 hours | Consider splitting |
250
+ | XL | > 500 | Hours | Split if possible |
251
+
252
+ If a PR is large, explain why:
253
+ ```markdown
254
+ ## Note on PR Size
255
+
256
+ This PR is larger than usual because it includes a database migration
257
+ that requires updating all affected queries atomically. Splitting would
258
+ leave the codebase in a broken state.
259
+ ```
@@ -0,0 +1,100 @@
1
+ ---
2
+ name: project-commands
3
+ description: Manages project-specific commands for development, testing, and deployment. Use when needing to run project commands or when setting up commands for a new project.
4
+ ---
5
+
6
+ # Project Commands Skill
7
+
8
+ This skill helps agents find and use the correct commands for the current project.
9
+
10
+ ## Finding Commands
11
+
12
+ All project-specific commands are defined in `.claude/commands.md`. Always read this file before running commands.
13
+
14
+ ```bash
15
+ # Read the commands file
16
+ cat .claude/commands.md
17
+ ```
18
+
19
+ ## Command Categories
20
+
21
+ ### Development
22
+ - **Install**: Set up project dependencies
23
+ - **Dev**: Start development server
24
+ - **Build**: Create production build
25
+
26
+ ### Testing
27
+ - **Test**: Run all tests
28
+ - **Test:unit**: Unit tests only
29
+ - **Test:e2e**: End-to-end tests (Playwright)
30
+ - **Test:coverage**: Tests with coverage report
31
+
32
+ ### Code Quality
33
+ - **Lint**: Check code style
34
+ - **Format**: Auto-format code
35
+ - **Typecheck**: Verify types
36
+
37
+ ## Setting Up Commands for a New Project
38
+
39
+ 1. Copy the template:
40
+ ```bash
41
+ cp .claude/commands.template.md [target-project]/.claude/commands.md
42
+ ```
43
+
44
+ 2. Replace placeholders with actual commands:
45
+ ```
46
+ {{install}} → npm install (or yarn, pnpm, etc.)
47
+ {{dev}} → npm run dev
48
+ {{dev_url}} → http://localhost:3000
49
+ {{test}} → npm test
50
+ ```
51
+
52
+ 3. Remove unused sections (database, docker, etc.)
53
+
54
+ ## Common Patterns by Stack
55
+
56
+ ### Node.js / npm
57
+ ```
58
+ {{install}}: npm install
59
+ {{dev}}: npm run dev
60
+ {{test}}: npm test
61
+ {{build}}: npm run build
62
+ ```
63
+
64
+ ### Python / pip
65
+ ```
66
+ {{install}}: pip install -r requirements.txt
67
+ {{dev}}: python manage.py runserver
68
+ {{test}}: pytest
69
+ {{build}}: python setup.py build
70
+ ```
71
+
72
+ ### Go
73
+ ```
74
+ {{install}}: go mod download
75
+ {{dev}}: go run .
76
+ {{test}}: go test ./...
77
+ {{build}}: go build
78
+ ```
79
+
80
+ ### Rust
81
+ ```
82
+ {{install}}: cargo build
83
+ {{dev}}: cargo run
84
+ {{test}}: cargo test
85
+ {{build}}: cargo build --release
86
+ ```
87
+
88
+ ## Agent Usage
89
+
90
+ When an agent needs to run a command:
91
+
92
+ 1. Check `.claude/commands.md` for the correct command
93
+ 2. Use the command exactly as specified
94
+ 3. If a command is missing, ask the user or check `package.json`/equivalent
95
+
96
+ ## Updating Commands
97
+
98
+ If you discover the correct command for an action:
99
+ 1. Update `.claude/commands.md` with the correct command
100
+ 2. Ensure other agents can find it in the future