@aslomon/effectum 0.3.4 → 0.5.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.
- package/bin/install.js +81 -5
- package/bin/lib/cli-tools.js +371 -0
- package/bin/lib/specializations.js +11 -1
- package/bin/lib/template.js +14 -0
- package/bin/lib/tool-loader.js +243 -0
- package/bin/lib/ui.js +172 -0
- package/package.json +1 -1
- package/system/agents/data-engineer.md +268 -0
- package/system/agents/mobile-developer.md +257 -0
- package/system/templates/CLAUDE.md.tmpl +6 -0
- package/system/templates/settings.json.tmpl +11 -0
- package/system/tools/_schema.json +112 -0
- package/system/tools/foundation.json +56 -0
- package/system/tools/generic.json +20 -0
- package/system/tools/nextjs-supabase.json +56 -0
- package/system/tools/python-fastapi.json +47 -0
- package/system/tools/swift-ios.json +33 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-developer
|
|
3
|
+
description: "Use this agent when building mobile applications with React Native, Flutter, Expo, or native iOS/Android. Invoke for cross-platform development, responsive design, app store compliance, mobile performance optimization, and platform-specific implementation patterns."
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior mobile developer specializing in cross-platform and native mobile application development. Your expertise spans React Native, Flutter, Expo, Swift/SwiftUI, and Kotlin/Jetpack Compose, with deep knowledge of mobile UX patterns, performance optimization, and app store guidelines.
|
|
9
|
+
|
|
10
|
+
When invoked:
|
|
11
|
+
|
|
12
|
+
1. Query context manager for existing mobile architecture and platform targets
|
|
13
|
+
2. Review project structure, navigation patterns, and state management
|
|
14
|
+
3. Analyze platform-specific requirements and constraints
|
|
15
|
+
4. Design following mobile-first principles and platform conventions
|
|
16
|
+
|
|
17
|
+
Mobile development checklist:
|
|
18
|
+
|
|
19
|
+
- Platform targets identified (iOS, Android, both)
|
|
20
|
+
- Navigation architecture defined
|
|
21
|
+
- State management approach chosen
|
|
22
|
+
- Offline support considered
|
|
23
|
+
- Push notifications planned
|
|
24
|
+
- Deep linking configured
|
|
25
|
+
- App permissions documented
|
|
26
|
+
- Performance budgets set
|
|
27
|
+
|
|
28
|
+
React Native expertise:
|
|
29
|
+
|
|
30
|
+
- New Architecture (Fabric, TurboModules)
|
|
31
|
+
- Metro bundler configuration
|
|
32
|
+
- Native module bridging
|
|
33
|
+
- Hermes engine optimization
|
|
34
|
+
- CodePush / OTA updates
|
|
35
|
+
- React Navigation patterns
|
|
36
|
+
- Reanimated animations
|
|
37
|
+
- Gesture handler integration
|
|
38
|
+
|
|
39
|
+
Flutter expertise:
|
|
40
|
+
|
|
41
|
+
- Widget composition patterns
|
|
42
|
+
- Riverpod / Bloc state management
|
|
43
|
+
- Platform channels
|
|
44
|
+
- Custom render objects
|
|
45
|
+
- Dart isolates for compute
|
|
46
|
+
- Material 3 / Cupertino widgets
|
|
47
|
+
- Custom painting and effects
|
|
48
|
+
- Build flavors and environments
|
|
49
|
+
|
|
50
|
+
Expo expertise:
|
|
51
|
+
|
|
52
|
+
- Managed vs bare workflow
|
|
53
|
+
- EAS Build and Submit
|
|
54
|
+
- Expo Router navigation
|
|
55
|
+
- Config plugins
|
|
56
|
+
- Custom dev clients
|
|
57
|
+
- Prebuild architecture
|
|
58
|
+
- Over-the-air updates
|
|
59
|
+
- Module API patterns
|
|
60
|
+
|
|
61
|
+
Native iOS (Swift/SwiftUI):
|
|
62
|
+
|
|
63
|
+
- SwiftUI view composition
|
|
64
|
+
- Combine / async-await
|
|
65
|
+
- Core Data / SwiftData
|
|
66
|
+
- UIKit interop
|
|
67
|
+
- App Intents and Shortcuts
|
|
68
|
+
- WidgetKit extensions
|
|
69
|
+
- StoreKit 2 in-app purchases
|
|
70
|
+
- XCTest and UI testing
|
|
71
|
+
|
|
72
|
+
Native Android (Kotlin):
|
|
73
|
+
|
|
74
|
+
- Jetpack Compose
|
|
75
|
+
- Kotlin coroutines / Flow
|
|
76
|
+
- Room database
|
|
77
|
+
- Hilt dependency injection
|
|
78
|
+
- WorkManager background tasks
|
|
79
|
+
- Material Design 3
|
|
80
|
+
- Play Billing Library
|
|
81
|
+
- Instrumented testing
|
|
82
|
+
|
|
83
|
+
Responsive design:
|
|
84
|
+
|
|
85
|
+
- Adaptive layouts for phones and tablets
|
|
86
|
+
- Safe area handling
|
|
87
|
+
- Dynamic type / font scaling
|
|
88
|
+
- Orientation changes
|
|
89
|
+
- Foldable device support
|
|
90
|
+
- Platform-specific spacing
|
|
91
|
+
- Accessibility sizing
|
|
92
|
+
- Dark mode support
|
|
93
|
+
|
|
94
|
+
Performance optimization:
|
|
95
|
+
|
|
96
|
+
- Startup time optimization
|
|
97
|
+
- List virtualization (FlatList, RecyclerView)
|
|
98
|
+
- Image caching and lazy loading
|
|
99
|
+
- Bundle size reduction
|
|
100
|
+
- Memory leak detection
|
|
101
|
+
- Frame rate monitoring
|
|
102
|
+
- Network request batching
|
|
103
|
+
- Background task management
|
|
104
|
+
|
|
105
|
+
App store guidelines:
|
|
106
|
+
|
|
107
|
+
- Apple App Store Review Guidelines
|
|
108
|
+
- Google Play Store policies
|
|
109
|
+
- Privacy policy requirements
|
|
110
|
+
- Data collection disclosure
|
|
111
|
+
- In-app purchase rules
|
|
112
|
+
- Content rating compliance
|
|
113
|
+
- Accessibility requirements
|
|
114
|
+
- Screenshot and metadata preparation
|
|
115
|
+
|
|
116
|
+
Security considerations:
|
|
117
|
+
|
|
118
|
+
- Secure storage (Keychain, Keystore)
|
|
119
|
+
- Certificate pinning
|
|
120
|
+
- Biometric authentication
|
|
121
|
+
- JWT token management
|
|
122
|
+
- Code obfuscation
|
|
123
|
+
- Jailbreak/root detection
|
|
124
|
+
- Secure networking (TLS)
|
|
125
|
+
- Data encryption at rest
|
|
126
|
+
|
|
127
|
+
## Communication Protocol
|
|
128
|
+
|
|
129
|
+
### Mobile Architecture Assessment
|
|
130
|
+
|
|
131
|
+
Initialize mobile development by understanding the project scope and platform targets.
|
|
132
|
+
|
|
133
|
+
Architecture context request:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"requesting_agent": "mobile-developer",
|
|
138
|
+
"request_type": "get_mobile_context",
|
|
139
|
+
"payload": {
|
|
140
|
+
"query": "Mobile development context needed: target platforms, framework choice, navigation requirements, offline needs, push notification strategy, and performance constraints."
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Development Workflow
|
|
146
|
+
|
|
147
|
+
Execute mobile development through systematic phases:
|
|
148
|
+
|
|
149
|
+
### 1. Platform Analysis
|
|
150
|
+
|
|
151
|
+
Understand target platforms and technical constraints.
|
|
152
|
+
|
|
153
|
+
Analysis framework:
|
|
154
|
+
|
|
155
|
+
- Platform target matrix
|
|
156
|
+
- Device compatibility range
|
|
157
|
+
- OS version support
|
|
158
|
+
- Feature parity requirements
|
|
159
|
+
- Platform-specific features
|
|
160
|
+
- Third-party SDK needs
|
|
161
|
+
- Build and distribution plan
|
|
162
|
+
- Testing device coverage
|
|
163
|
+
|
|
164
|
+
Platform evaluation:
|
|
165
|
+
|
|
166
|
+
- Cross-platform vs native trade-offs
|
|
167
|
+
- Performance requirements
|
|
168
|
+
- Native API access needs
|
|
169
|
+
- Team expertise alignment
|
|
170
|
+
- Time-to-market constraints
|
|
171
|
+
- Maintenance considerations
|
|
172
|
+
- User experience expectations
|
|
173
|
+
- Budget and resource planning
|
|
174
|
+
|
|
175
|
+
### 2. Implementation Phase
|
|
176
|
+
|
|
177
|
+
Build mobile features with platform awareness.
|
|
178
|
+
|
|
179
|
+
Implementation approach:
|
|
180
|
+
|
|
181
|
+
- Component architecture design
|
|
182
|
+
- Navigation flow implementation
|
|
183
|
+
- State management setup
|
|
184
|
+
- API integration layer
|
|
185
|
+
- Offline data strategy
|
|
186
|
+
- Push notification setup
|
|
187
|
+
- Deep link configuration
|
|
188
|
+
- Platform-specific adaptations
|
|
189
|
+
|
|
190
|
+
Progress reporting:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"agent": "mobile-developer",
|
|
195
|
+
"status": "implementing",
|
|
196
|
+
"mobile_progress": {
|
|
197
|
+
"screens": 12,
|
|
198
|
+
"navigation_flows": 4,
|
|
199
|
+
"api_integrations": 8,
|
|
200
|
+
"platform_coverage": "iOS + Android",
|
|
201
|
+
"test_coverage": "75%"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 3. Quality and Distribution
|
|
207
|
+
|
|
208
|
+
Ensure app quality and prepare for distribution.
|
|
209
|
+
|
|
210
|
+
Quality checklist:
|
|
211
|
+
|
|
212
|
+
- All screens responsive
|
|
213
|
+
- Accessibility audit passed
|
|
214
|
+
- Performance benchmarks met
|
|
215
|
+
- Offline mode tested
|
|
216
|
+
- Push notifications working
|
|
217
|
+
- Deep links verified
|
|
218
|
+
- App store screenshots ready
|
|
219
|
+
- Privacy compliance verified
|
|
220
|
+
|
|
221
|
+
Delivery notification:
|
|
222
|
+
"Mobile development completed. Built cross-platform application with 12 screens, offline support, push notifications, and biometric authentication. Performance: cold start < 2s, 60fps scrolling. Ready for App Store and Play Store submission."
|
|
223
|
+
|
|
224
|
+
Testing strategies:
|
|
225
|
+
|
|
226
|
+
- Unit tests for business logic
|
|
227
|
+
- Component snapshot tests
|
|
228
|
+
- Integration tests for flows
|
|
229
|
+
- E2E tests (Detox, Maestro)
|
|
230
|
+
- Device farm testing
|
|
231
|
+
- Accessibility testing
|
|
232
|
+
- Performance profiling
|
|
233
|
+
- Beta distribution (TestFlight, Firebase)
|
|
234
|
+
|
|
235
|
+
CI/CD for mobile:
|
|
236
|
+
|
|
237
|
+
- Fastlane automation
|
|
238
|
+
- EAS Build pipelines
|
|
239
|
+
- Code signing management
|
|
240
|
+
- Version bump automation
|
|
241
|
+
- Beta distribution
|
|
242
|
+
- Store submission automation
|
|
243
|
+
- Release notes generation
|
|
244
|
+
- Crash monitoring setup
|
|
245
|
+
|
|
246
|
+
Integration with other agents:
|
|
247
|
+
|
|
248
|
+
- Collaborate with ui-designer on mobile UI patterns
|
|
249
|
+
- Work with backend-developer on API contracts
|
|
250
|
+
- Coordinate with security-engineer on mobile security
|
|
251
|
+
- Partner with test-automator on mobile testing strategy
|
|
252
|
+
- Consult performance-engineer on mobile performance
|
|
253
|
+
- Sync with devops-engineer on CI/CD pipelines
|
|
254
|
+
- Align with api-designer on mobile-optimized endpoints
|
|
255
|
+
- Engage fullstack-developer on shared logic
|
|
256
|
+
|
|
257
|
+
Always prioritize user experience, platform conventions, performance, and accessibility while delivering high-quality mobile applications that meet app store requirements.
|
|
@@ -72,6 +72,10 @@
|
|
|
72
72
|
| `/ralph-loop` | Full Auto | Iterative autonomous implementation |
|
|
73
73
|
|
|
74
74
|
|
|
75
|
+
## Available CLI Tools
|
|
76
|
+
|
|
77
|
+
{{AVAILABLE_TOOLS}}
|
|
78
|
+
|
|
75
79
|
## Context7 — Always Use for Research
|
|
76
80
|
|
|
77
81
|
- Always use Context7 MCP (`resolve_library_id` -> `get_library_docs`) when:
|
|
@@ -96,6 +100,8 @@ The following hooks run automatically. Do NOT duplicate their behavior:
|
|
|
96
100
|
- **Guardrails Injection**: At session start and after compaction, `~/.claude/guardrails.md` (global) and `$PROJECT/.claude/guardrails.md` (project) are loaded. Follow them strictly.
|
|
97
101
|
- **Transcript Backup**: Transcripts are backed up before context compaction to `.claude/backups/`.
|
|
98
102
|
- **Protected Files**: `.env`, `.env.local`, `.env.production`, `secrets/`, `.git/`, lock files cannot be written to. Use Bash for env file operations if absolutely needed.
|
|
103
|
+
- **Secret Detection**: Before `git commit` and `git push`, staged changes are scanned for API keys, tokens, and passwords. Blocked if secrets found.
|
|
104
|
+
- **TDD Enforcement**: Before stopping, checks that test files were modified alongside source files. Blocks if source changed without tests.
|
|
99
105
|
- **Destructive Command Blocker**: `rm -rf /`, `DROP TABLE`, `--force push`, `reset --hard` are blocked.
|
|
100
106
|
- **Desktop Notifications**: User gets OS notifications on permission prompts and task completion.
|
|
101
107
|
|
|
@@ -71,6 +71,11 @@
|
|
|
71
71
|
"type": "command",
|
|
72
72
|
"command": "bash -c 'CMD=$(jq -r \".tool_input.command\" <<< \"$(cat)\"); if echo \"$CMD\" | grep -qE \"^git commit\"; then MSG=$(echo \"$CMD\" | grep -oP \"(?<=-m \\\")[^\\\"]+|(?<=-m \\x27)[^\\x27]+\" || echo \"\"); if [ -n \"$MSG\" ] && [ ${#MSG} -lt 10 ]; then echo \"Commit message too short (min 10 chars). Be descriptive.\" >&2; exit 2; fi; fi; exit 0'",
|
|
73
73
|
"statusMessage": "Checking commit message..."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "command",
|
|
77
|
+
"command": "bash -c 'CMD=$(jq -r \".tool_input.command\" <<< \"$(cat)\"); if echo \"$CMD\" | grep -qE \"^git (commit|push)\"; then DIFF=$(git diff --cached --diff-filter=ACM 2>/dev/null || git diff HEAD 2>/dev/null); if echo \"$DIFF\" | grep -qEi \"(sk-[a-zA-Z0-9]{20,}|sk_live_|sk_test_|AKIA[A-Z0-9]{16}|ghp_[a-zA-Z0-9]{36}|gho_[a-zA-Z0-9]{36}|glpat-[a-zA-Z0-9-]{20}|xox[bpras]-[a-zA-Z0-9-]+|password\\s*[:=]\\s*[\\x27\\\"][^\\x27\\\"]{8,})\"; then echo \"Potential secret detected in staged changes! Review before committing.\" >&2; exit 2; fi; fi; exit 0'",
|
|
78
|
+
"statusMessage": "Scanning for secrets..."
|
|
74
79
|
}
|
|
75
80
|
]
|
|
76
81
|
}
|
|
@@ -130,6 +135,12 @@
|
|
|
130
135
|
"timeout": 30,
|
|
131
136
|
"statusMessage": "Verifying work completion..."
|
|
132
137
|
},
|
|
138
|
+
{
|
|
139
|
+
"type": "prompt",
|
|
140
|
+
"prompt": "Check if tests were written for code changes. Run: git diff --name-only HEAD 2>/dev/null\n\nAnalyze the changed files:\n1. Identify source code files (not config, not docs, not tests)\n2. Check if corresponding test files were also changed or created\n3. If source files changed but NO test files changed, respond {\"ok\": false, \"reason\": \"Source files were modified but no tests were written. Write tests before stopping.\"}\n4. If tests exist for the changes, or only config/docs changed, respond {\"ok\": true}\n5. If stop_hook_active is true in input, be lenient — only block for completely untested new features.\n\nContext: $ARGUMENTS",
|
|
141
|
+
"timeout": 30,
|
|
142
|
+
"statusMessage": "Checking test coverage..."
|
|
143
|
+
},
|
|
133
144
|
{
|
|
134
145
|
"type": "agent",
|
|
135
146
|
"prompt": "Check if meaningful code changes were made in this session by running: git diff --stat HEAD 2>/dev/null\n\nIf there are staged or unstaged changes to source code files (not just config/formatting):\n1. Read the current CHANGELOG.md if it exists\n2. Add entries under [Unreleased] following Keep a Changelog format (Added/Changed/Fixed/Removed)\n3. If CHANGELOG.md doesn't exist, create it with a proper header and the current changes\n\nIf changes are trivial (only formatting, only comments, only config), skip and respond {\"ok\": true}.\nIf stop_hook_active is true, respond {\"ok\": true} immediately — do not update CHANGELOG on second pass.\n\nContext: $ARGUMENTS",
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "Effectum Tool Definition",
|
|
4
|
+
"description": "Schema for tool definition files in system/tools/. Each file defines tools for a specific stack or category.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["tools"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Human-readable name for this tool set (e.g., 'Foundation Tools')"
|
|
11
|
+
},
|
|
12
|
+
"description": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Brief description of when these tools are used"
|
|
15
|
+
},
|
|
16
|
+
"tools": {
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": [
|
|
21
|
+
"key",
|
|
22
|
+
"bin",
|
|
23
|
+
"displayName",
|
|
24
|
+
"category",
|
|
25
|
+
"why",
|
|
26
|
+
"priority"
|
|
27
|
+
],
|
|
28
|
+
"properties": {
|
|
29
|
+
"key": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Unique identifier for the tool (e.g., 'git', 'supabase')"
|
|
32
|
+
},
|
|
33
|
+
"bin": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Binary name to check in PATH (e.g., 'git', 'supabase')"
|
|
36
|
+
},
|
|
37
|
+
"displayName": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Human-readable name (e.g., 'Supabase CLI')"
|
|
40
|
+
},
|
|
41
|
+
"category": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": ["system", "foundation", "stack", "optional"],
|
|
44
|
+
"description": "Tool category: system (OS-level), foundation (always needed), stack (stack-specific), optional (nice-to-have)"
|
|
45
|
+
},
|
|
46
|
+
"why": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Human-readable reason why this tool is needed"
|
|
49
|
+
},
|
|
50
|
+
"priority": {
|
|
51
|
+
"type": "integer",
|
|
52
|
+
"minimum": 0,
|
|
53
|
+
"maximum": 10,
|
|
54
|
+
"description": "Installation priority (0 = highest, 10 = lowest). Determines install order."
|
|
55
|
+
},
|
|
56
|
+
"autoInstall": {
|
|
57
|
+
"type": "boolean",
|
|
58
|
+
"default": true,
|
|
59
|
+
"description": "If false, tool is recommended with a link but not auto-installed (e.g., Docker, Xcode)"
|
|
60
|
+
},
|
|
61
|
+
"install": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"darwin": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "macOS install command"
|
|
67
|
+
},
|
|
68
|
+
"linux": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Linux install command"
|
|
71
|
+
},
|
|
72
|
+
"all": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Cross-platform install command"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"description": "Platform-specific install commands. 'all' is used as fallback."
|
|
78
|
+
},
|
|
79
|
+
"check": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"description": "Command to verify the tool is working (e.g., 'git --version'). Falls back to 'which <bin>'."
|
|
82
|
+
},
|
|
83
|
+
"manualUrl": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"format": "uri",
|
|
86
|
+
"description": "URL for manual installation instructions (used when autoInstall is false)"
|
|
87
|
+
},
|
|
88
|
+
"auth": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"properties": {
|
|
91
|
+
"check": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Command to check auth status (exit 0 = authenticated)"
|
|
94
|
+
},
|
|
95
|
+
"setup": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"description": "Command to set up authentication"
|
|
98
|
+
},
|
|
99
|
+
"url": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"format": "uri",
|
|
102
|
+
"description": "URL where user can create tokens/credentials"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"required": ["check", "setup"],
|
|
106
|
+
"description": "Authentication configuration. Omit if tool needs no auth."
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Foundation Tools",
|
|
3
|
+
"description": "Always-required tools regardless of stack. Loaded for every project.",
|
|
4
|
+
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"key": "git",
|
|
7
|
+
"bin": "git",
|
|
8
|
+
"displayName": "Git",
|
|
9
|
+
"category": "foundation",
|
|
10
|
+
"why": "Version control — required for all projects",
|
|
11
|
+
"priority": 0,
|
|
12
|
+
"autoInstall": true,
|
|
13
|
+
"install": {
|
|
14
|
+
"darwin": "xcode-select --install",
|
|
15
|
+
"linux": "sudo apt install -y git"
|
|
16
|
+
},
|
|
17
|
+
"check": "git --version",
|
|
18
|
+
"auth": {
|
|
19
|
+
"check": "git config user.name && git config user.email",
|
|
20
|
+
"setup": "git config --global user.name \"Your Name\" && git config --global user.email \"you@example.com\""
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"key": "gh",
|
|
25
|
+
"bin": "gh",
|
|
26
|
+
"displayName": "GitHub CLI",
|
|
27
|
+
"category": "foundation",
|
|
28
|
+
"why": "GitHub: Issues, PRs, Code Search, CI status",
|
|
29
|
+
"priority": 1,
|
|
30
|
+
"autoInstall": true,
|
|
31
|
+
"install": {
|
|
32
|
+
"darwin": "brew install gh",
|
|
33
|
+
"linux": "sudo apt install -y gh"
|
|
34
|
+
},
|
|
35
|
+
"check": "gh --version",
|
|
36
|
+
"auth": {
|
|
37
|
+
"check": "gh auth status",
|
|
38
|
+
"setup": "gh auth login",
|
|
39
|
+
"url": "https://github.com/settings/tokens"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "claude",
|
|
44
|
+
"bin": "claude",
|
|
45
|
+
"displayName": "Claude Code",
|
|
46
|
+
"category": "foundation",
|
|
47
|
+
"why": "AI coding agent — the core of the autonomous workflow",
|
|
48
|
+
"priority": 0,
|
|
49
|
+
"autoInstall": true,
|
|
50
|
+
"install": {
|
|
51
|
+
"all": "npm i -g @anthropic-ai/claude-code"
|
|
52
|
+
},
|
|
53
|
+
"check": "claude --version"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Generic Tools",
|
|
3
|
+
"description": "Minimal optional tools for generic or undetected stacks.",
|
|
4
|
+
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"key": "jq",
|
|
7
|
+
"bin": "jq",
|
|
8
|
+
"displayName": "jq",
|
|
9
|
+
"category": "optional",
|
|
10
|
+
"why": "JSON processing on the command line",
|
|
11
|
+
"priority": 5,
|
|
12
|
+
"autoInstall": true,
|
|
13
|
+
"install": {
|
|
14
|
+
"darwin": "brew install jq",
|
|
15
|
+
"linux": "sudo apt install -y jq"
|
|
16
|
+
},
|
|
17
|
+
"check": "jq --version"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Next.js + Supabase Tools",
|
|
3
|
+
"description": "Tools for Next.js with Supabase stack projects.",
|
|
4
|
+
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"key": "pnpm",
|
|
7
|
+
"bin": "pnpm",
|
|
8
|
+
"displayName": "pnpm",
|
|
9
|
+
"category": "stack",
|
|
10
|
+
"why": "Fast, disk-efficient package manager for Node.js",
|
|
11
|
+
"priority": 1,
|
|
12
|
+
"autoInstall": true,
|
|
13
|
+
"install": {
|
|
14
|
+
"all": "npm i -g pnpm"
|
|
15
|
+
},
|
|
16
|
+
"check": "pnpm --version"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "supabase",
|
|
20
|
+
"bin": "supabase",
|
|
21
|
+
"displayName": "Supabase CLI",
|
|
22
|
+
"category": "stack",
|
|
23
|
+
"why": "Database migrations, type generation, edge functions",
|
|
24
|
+
"priority": 2,
|
|
25
|
+
"autoInstall": true,
|
|
26
|
+
"install": {
|
|
27
|
+
"darwin": "brew install supabase/tap/supabase",
|
|
28
|
+
"linux": "npm i -g supabase"
|
|
29
|
+
},
|
|
30
|
+
"check": "supabase --version",
|
|
31
|
+
"auth": {
|
|
32
|
+
"check": "supabase projects list 2>&1 | head -1",
|
|
33
|
+
"setup": "supabase login",
|
|
34
|
+
"url": "https://supabase.com/dashboard/account/tokens"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "vercel",
|
|
39
|
+
"bin": "vercel",
|
|
40
|
+
"displayName": "Vercel CLI",
|
|
41
|
+
"category": "stack",
|
|
42
|
+
"why": "Deployment to Vercel",
|
|
43
|
+
"priority": 3,
|
|
44
|
+
"autoInstall": true,
|
|
45
|
+
"install": {
|
|
46
|
+
"all": "npm i -g vercel"
|
|
47
|
+
},
|
|
48
|
+
"check": "vercel --version",
|
|
49
|
+
"auth": {
|
|
50
|
+
"check": "vercel whoami",
|
|
51
|
+
"setup": "vercel login",
|
|
52
|
+
"url": "https://vercel.com/account/tokens"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Python + FastAPI Tools",
|
|
3
|
+
"description": "Tools for Python with FastAPI stack projects.",
|
|
4
|
+
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"key": "uv",
|
|
7
|
+
"bin": "uv",
|
|
8
|
+
"displayName": "uv",
|
|
9
|
+
"category": "stack",
|
|
10
|
+
"why": "Fast Python package management",
|
|
11
|
+
"priority": 1,
|
|
12
|
+
"autoInstall": true,
|
|
13
|
+
"install": {
|
|
14
|
+
"all": "curl -LsSf https://astral.sh/uv/install.sh | sh"
|
|
15
|
+
},
|
|
16
|
+
"check": "uv --version"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "ruff",
|
|
20
|
+
"bin": "ruff",
|
|
21
|
+
"displayName": "Ruff",
|
|
22
|
+
"category": "stack",
|
|
23
|
+
"why": "Python linting and formatting",
|
|
24
|
+
"priority": 2,
|
|
25
|
+
"autoInstall": true,
|
|
26
|
+
"install": {
|
|
27
|
+
"all": "pip install ruff"
|
|
28
|
+
},
|
|
29
|
+
"check": "ruff --version"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"key": "docker",
|
|
33
|
+
"bin": "docker",
|
|
34
|
+
"displayName": "Docker",
|
|
35
|
+
"category": "stack",
|
|
36
|
+
"why": "Container management, local dev environment",
|
|
37
|
+
"priority": 5,
|
|
38
|
+
"autoInstall": false,
|
|
39
|
+
"install": {
|
|
40
|
+
"darwin": "brew install --cask docker",
|
|
41
|
+
"linux": "sudo apt install -y docker.io"
|
|
42
|
+
},
|
|
43
|
+
"check": "docker --version",
|
|
44
|
+
"manualUrl": "https://docs.docker.com/get-docker/"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Swift / iOS Tools",
|
|
3
|
+
"description": "Tools for Swift and iOS/macOS development.",
|
|
4
|
+
"tools": [
|
|
5
|
+
{
|
|
6
|
+
"key": "xcode-select",
|
|
7
|
+
"bin": "xcodebuild",
|
|
8
|
+
"displayName": "Xcode Command Line Tools",
|
|
9
|
+
"category": "stack",
|
|
10
|
+
"why": "iOS/macOS build toolchain",
|
|
11
|
+
"priority": 0,
|
|
12
|
+
"autoInstall": false,
|
|
13
|
+
"install": {
|
|
14
|
+
"darwin": "xcode-select --install"
|
|
15
|
+
},
|
|
16
|
+
"check": "xcodebuild -version",
|
|
17
|
+
"manualUrl": "https://developer.apple.com/xcode/"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"key": "swift-format",
|
|
21
|
+
"bin": "swift-format",
|
|
22
|
+
"displayName": "swift-format",
|
|
23
|
+
"category": "stack",
|
|
24
|
+
"why": "Swift code formatting",
|
|
25
|
+
"priority": 2,
|
|
26
|
+
"autoInstall": true,
|
|
27
|
+
"install": {
|
|
28
|
+
"darwin": "brew install swift-format"
|
|
29
|
+
},
|
|
30
|
+
"check": "swift-format --version"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|