monty-autonomous-fullstack-dev-multillm 1.0.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/LICENSE +81 -0
- package/README.md +608 -0
- package/bin/cli.js +448 -0
- package/dist/agents/coding.d.ts +15 -0
- package/dist/agents/coding.d.ts.map +1 -0
- package/dist/agents/coding.js +189 -0
- package/dist/agents/coding.js.map +1 -0
- package/dist/agents/initializer.d.ts +15 -0
- package/dist/agents/initializer.d.ts.map +1 -0
- package/dist/agents/initializer.js +87 -0
- package/dist/agents/initializer.js.map +1 -0
- package/dist/agents/prompts/arbitrator.md +143 -0
- package/dist/agents/prompts/coding.md +247 -0
- package/dist/agents/prompts/initializer.md +98 -0
- package/dist/config/agent-config.d.ts +103 -0
- package/dist/config/agent-config.d.ts.map +1 -0
- package/dist/config/agent-config.js +138 -0
- package/dist/config/agent-config.js.map +1 -0
- package/dist/config/auth-config.d.ts +152 -0
- package/dist/config/auth-config.d.ts.map +1 -0
- package/dist/config/auth-config.js +139 -0
- package/dist/config/auth-config.js.map +1 -0
- package/dist/config/mcp-config.d.ts +109 -0
- package/dist/config/mcp-config.d.ts.map +1 -0
- package/dist/config/mcp-config.js +234 -0
- package/dist/config/mcp-config.js.map +1 -0
- package/dist/config/provider-config.d.ts +139 -0
- package/dist/config/provider-config.d.ts.map +1 -0
- package/dist/config/provider-config.js +344 -0
- package/dist/config/provider-config.js.map +1 -0
- package/dist/config/subagents-config.d.ts +85 -0
- package/dist/config/subagents-config.d.ts.map +1 -0
- package/dist/config/subagents-config.js +430 -0
- package/dist/config/subagents-config.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +385 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrator/arbitrator.d.ts +93 -0
- package/dist/orchestrator/arbitrator.d.ts.map +1 -0
- package/dist/orchestrator/arbitrator.js +330 -0
- package/dist/orchestrator/arbitrator.js.map +1 -0
- package/dist/orchestrator/index.d.ts +113 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +217 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/review-coordinator.d.ts +143 -0
- package/dist/orchestrator/review-coordinator.d.ts.map +1 -0
- package/dist/orchestrator/review-coordinator.js +401 -0
- package/dist/orchestrator/review-coordinator.js.map +1 -0
- package/dist/orchestrator/task-classifier.d.ts +87 -0
- package/dist/orchestrator/task-classifier.d.ts.map +1 -0
- package/dist/orchestrator/task-classifier.js +250 -0
- package/dist/orchestrator/task-classifier.js.map +1 -0
- package/dist/providers/anthropic-provider.d.ts +64 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/anthropic-provider.js +264 -0
- package/dist/providers/anthropic-provider.js.map +1 -0
- package/dist/providers/base-provider.d.ts +219 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +143 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/cursor-provider.d.ts +82 -0
- package/dist/providers/cursor-provider.d.ts.map +1 -0
- package/dist/providers/cursor-provider.js +321 -0
- package/dist/providers/cursor-provider.js.map +1 -0
- package/dist/providers/google-provider.d.ts +75 -0
- package/dist/providers/google-provider.d.ts.map +1 -0
- package/dist/providers/google-provider.js +274 -0
- package/dist/providers/google-provider.js.map +1 -0
- package/dist/providers/index.d.ts +92 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +233 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai-provider.d.ts +83 -0
- package/dist/providers/openai-provider.d.ts.map +1 -0
- package/dist/providers/openai-provider.js +295 -0
- package/dist/providers/openai-provider.js.map +1 -0
- package/dist/templates/feature_list.template.json +66 -0
- package/dist/templates/progress.template.txt +51 -0
- package/dist/utils/auth-manager.d.ts +121 -0
- package/dist/utils/auth-manager.d.ts.map +1 -0
- package/dist/utils/auth-manager.js +560 -0
- package/dist/utils/auth-manager.js.map +1 -0
- package/dist/utils/budget-enforcer.d.ts +181 -0
- package/dist/utils/budget-enforcer.d.ts.map +1 -0
- package/dist/utils/budget-enforcer.js +386 -0
- package/dist/utils/budget-enforcer.js.map +1 -0
- package/dist/utils/chatgpt-detector.d.ts +51 -0
- package/dist/utils/chatgpt-detector.d.ts.map +1 -0
- package/dist/utils/chatgpt-detector.js +274 -0
- package/dist/utils/chatgpt-detector.js.map +1 -0
- package/dist/utils/claude-code-detector.d.ts +39 -0
- package/dist/utils/claude-code-detector.d.ts.map +1 -0
- package/dist/utils/claude-code-detector.js +153 -0
- package/dist/utils/claude-code-detector.js.map +1 -0
- package/dist/utils/code-quality.d.ts +58 -0
- package/dist/utils/code-quality.d.ts.map +1 -0
- package/dist/utils/code-quality.js +258 -0
- package/dist/utils/code-quality.js.map +1 -0
- package/dist/utils/context-primer.d.ts +50 -0
- package/dist/utils/context-primer.d.ts.map +1 -0
- package/dist/utils/context-primer.js +429 -0
- package/dist/utils/context-primer.js.map +1 -0
- package/dist/utils/dependency-management.d.ts +40 -0
- package/dist/utils/dependency-management.d.ts.map +1 -0
- package/dist/utils/dependency-management.js +123 -0
- package/dist/utils/dependency-management.js.map +1 -0
- package/dist/utils/environment-validation.d.ts +33 -0
- package/dist/utils/environment-validation.d.ts.map +1 -0
- package/dist/utils/environment-validation.js +136 -0
- package/dist/utils/environment-validation.js.map +1 -0
- package/dist/utils/error-recovery.d.ts +60 -0
- package/dist/utils/error-recovery.d.ts.map +1 -0
- package/dist/utils/error-recovery.js +183 -0
- package/dist/utils/error-recovery.js.map +1 -0
- package/dist/utils/feature-list.d.ts +102 -0
- package/dist/utils/feature-list.d.ts.map +1 -0
- package/dist/utils/feature-list.js +191 -0
- package/dist/utils/feature-list.js.map +1 -0
- package/dist/utils/gemini-detector.d.ts +65 -0
- package/dist/utils/gemini-detector.d.ts.map +1 -0
- package/dist/utils/gemini-detector.js +340 -0
- package/dist/utils/gemini-detector.js.map +1 -0
- package/dist/utils/git-utils.d.ts +48 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +110 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/health-check.d.ts +32 -0
- package/dist/utils/health-check.d.ts.map +1 -0
- package/dist/utils/health-check.js +152 -0
- package/dist/utils/health-check.js.map +1 -0
- package/dist/utils/hooks-manager.d.ts +154 -0
- package/dist/utils/hooks-manager.d.ts.map +1 -0
- package/dist/utils/hooks-manager.js +359 -0
- package/dist/utils/hooks-manager.js.map +1 -0
- package/dist/utils/multi-auth-manager.d.ts +144 -0
- package/dist/utils/multi-auth-manager.d.ts.map +1 -0
- package/dist/utils/multi-auth-manager.js +588 -0
- package/dist/utils/multi-auth-manager.js.map +1 -0
- package/dist/utils/progress.d.ts +49 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +209 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/project-detection.d.ts +40 -0
- package/dist/utils/project-detection.d.ts.map +1 -0
- package/dist/utils/project-detection.js +230 -0
- package/dist/utils/project-detection.js.map +1 -0
- package/dist/utils/session-manager.d.ts +119 -0
- package/dist/utils/session-manager.d.ts.map +1 -0
- package/dist/utils/session-manager.js +389 -0
- package/dist/utils/session-manager.js.map +1 -0
- package/dist/utils/skills-manager.d.ts +113 -0
- package/dist/utils/skills-manager.d.ts.map +1 -0
- package/dist/utils/skills-manager.js +332 -0
- package/dist/utils/skills-manager.js.map +1 -0
- package/dist/utils/structured-output.d.ts +117 -0
- package/dist/utils/structured-output.d.ts.map +1 -0
- package/dist/utils/structured-output.js +191 -0
- package/dist/utils/structured-output.js.map +1 -0
- package/dist/utils/subagent-manager.d.ts +143 -0
- package/dist/utils/subagent-manager.d.ts.map +1 -0
- package/dist/utils/subagent-manager.js +326 -0
- package/dist/utils/subagent-manager.js.map +1 -0
- package/dist/utils/supabase-setup.d.ts +50 -0
- package/dist/utils/supabase-setup.d.ts.map +1 -0
- package/dist/utils/supabase-setup.js +151 -0
- package/dist/utils/supabase-setup.js.map +1 -0
- package/dist/utils/token-refresh.d.ts +21 -0
- package/dist/utils/token-refresh.d.ts.map +1 -0
- package/dist/utils/token-refresh.js +77 -0
- package/dist/utils/token-refresh.js.map +1 -0
- package/dist/utils/tos-warning.d.ts +115 -0
- package/dist/utils/tos-warning.d.ts.map +1 -0
- package/dist/utils/tos-warning.js +304 -0
- package/dist/utils/tos-warning.js.map +1 -0
- package/dist/utils/usage-monitor.d.ts +156 -0
- package/dist/utils/usage-monitor.d.ts.map +1 -0
- package/dist/utils/usage-monitor.js +296 -0
- package/dist/utils/usage-monitor.js.map +1 -0
- package/package.json +105 -0
- package/scripts/init.ps1 +73 -0
- package/scripts/init.sh +86 -0
- package/scripts/test-auth.sh +90 -0
- package/templates/feature_list.template.json +66 -0
- package/templates/progress.template.txt +51 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specialized Subagents Configuration (Feature A3)
|
|
3
|
+
* Pre-configured agents for specific development tasks
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2025 Dobeu Tech Solutions LLC
|
|
6
|
+
* Licensed under CC BY-NC 4.0
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Code Reviewer Subagent
|
|
10
|
+
* Analyzes code for quality, security, and best practices
|
|
11
|
+
*/
|
|
12
|
+
export const codeReviewer = {
|
|
13
|
+
name: 'code-reviewer',
|
|
14
|
+
description: 'Expert code reviewer for quality, security, and best practices analysis',
|
|
15
|
+
prompt: `You are an expert code reviewer. Your task is to analyze code for:
|
|
16
|
+
|
|
17
|
+
1. **Code Quality**
|
|
18
|
+
- Clean code principles
|
|
19
|
+
- SOLID principles adherence
|
|
20
|
+
- DRY (Don't Repeat Yourself)
|
|
21
|
+
- Proper error handling
|
|
22
|
+
- Type safety
|
|
23
|
+
|
|
24
|
+
2. **Security Issues**
|
|
25
|
+
- OWASP Top 10 vulnerabilities
|
|
26
|
+
- Input validation
|
|
27
|
+
- Authentication/authorization issues
|
|
28
|
+
- Sensitive data exposure
|
|
29
|
+
- SQL injection, XSS, CSRF risks
|
|
30
|
+
|
|
31
|
+
3. **Performance**
|
|
32
|
+
- N+1 queries
|
|
33
|
+
- Memory leaks
|
|
34
|
+
- Unnecessary re-renders (React)
|
|
35
|
+
- Missing memoization
|
|
36
|
+
- Bundle size concerns
|
|
37
|
+
|
|
38
|
+
4. **Best Practices**
|
|
39
|
+
- Framework conventions
|
|
40
|
+
- File/folder structure
|
|
41
|
+
- Naming conventions
|
|
42
|
+
- Documentation completeness
|
|
43
|
+
|
|
44
|
+
Provide actionable feedback with specific line references and suggested fixes.
|
|
45
|
+
Rate issues as: CRITICAL, HIGH, MEDIUM, LOW, INFO`,
|
|
46
|
+
tools: ['Read', 'Glob', 'Grep'],
|
|
47
|
+
model: 'sonnet',
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Test Writer Subagent
|
|
51
|
+
* Creates comprehensive test suites
|
|
52
|
+
*/
|
|
53
|
+
export const testWriter = {
|
|
54
|
+
name: 'test-writer',
|
|
55
|
+
description: 'Creates comprehensive unit and integration test suites',
|
|
56
|
+
prompt: `You are an expert test engineer. Your task is to write comprehensive tests:
|
|
57
|
+
|
|
58
|
+
1. **Unit Tests**
|
|
59
|
+
- Test each function/method in isolation
|
|
60
|
+
- Cover edge cases and error conditions
|
|
61
|
+
- Use appropriate mocking
|
|
62
|
+
- Aim for high code coverage
|
|
63
|
+
|
|
64
|
+
2. **Integration Tests**
|
|
65
|
+
- Test component interactions
|
|
66
|
+
- Test API endpoints
|
|
67
|
+
- Test database operations
|
|
68
|
+
- Test authentication flows
|
|
69
|
+
|
|
70
|
+
3. **Test Patterns**
|
|
71
|
+
- Arrange-Act-Assert structure
|
|
72
|
+
- Descriptive test names
|
|
73
|
+
- One assertion per test when possible
|
|
74
|
+
- Use test fixtures and factories
|
|
75
|
+
|
|
76
|
+
4. **Framework Guidelines**
|
|
77
|
+
- Vitest/Jest for unit tests
|
|
78
|
+
- Playwright/Cypress for E2E
|
|
79
|
+
- Testing Library for React components
|
|
80
|
+
- Supertest for API testing
|
|
81
|
+
|
|
82
|
+
Write tests that are:
|
|
83
|
+
- Readable and maintainable
|
|
84
|
+
- Fast and deterministic
|
|
85
|
+
- Independent of each other
|
|
86
|
+
- Easy to debug when failing`,
|
|
87
|
+
tools: ['Read', 'Write', 'Edit', 'Bash', 'Glob'],
|
|
88
|
+
model: 'sonnet',
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Documentation Generator Subagent
|
|
92
|
+
* Creates comprehensive documentation
|
|
93
|
+
*/
|
|
94
|
+
export const docsGenerator = {
|
|
95
|
+
name: 'docs-generator',
|
|
96
|
+
description: 'Generates comprehensive API and user documentation',
|
|
97
|
+
prompt: `You are a technical documentation expert. Your task is to create clear documentation:
|
|
98
|
+
|
|
99
|
+
1. **API Documentation**
|
|
100
|
+
- OpenAPI/Swagger specs
|
|
101
|
+
- Endpoint descriptions
|
|
102
|
+
- Request/response examples
|
|
103
|
+
- Error codes and handling
|
|
104
|
+
- Authentication requirements
|
|
105
|
+
|
|
106
|
+
2. **Code Documentation**
|
|
107
|
+
- JSDoc/TSDoc comments
|
|
108
|
+
- Function/method descriptions
|
|
109
|
+
- Parameter documentation
|
|
110
|
+
- Return value documentation
|
|
111
|
+
- Usage examples
|
|
112
|
+
|
|
113
|
+
3. **User Documentation**
|
|
114
|
+
- Getting started guides
|
|
115
|
+
- Installation instructions
|
|
116
|
+
- Configuration guides
|
|
117
|
+
- Troubleshooting sections
|
|
118
|
+
|
|
119
|
+
4. **Architecture Documentation**
|
|
120
|
+
- System diagrams
|
|
121
|
+
- Data flow descriptions
|
|
122
|
+
- Component relationships
|
|
123
|
+
- Decision records (ADRs)
|
|
124
|
+
|
|
125
|
+
Follow these principles:
|
|
126
|
+
- Write for the audience (developer vs user)
|
|
127
|
+
- Include working code examples
|
|
128
|
+
- Keep documentation close to code
|
|
129
|
+
- Update docs with code changes`,
|
|
130
|
+
tools: ['Read', 'Write', 'Glob', 'Grep'],
|
|
131
|
+
model: 'sonnet',
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Performance Optimizer Subagent
|
|
135
|
+
* Analyzes and optimizes performance
|
|
136
|
+
*/
|
|
137
|
+
export const performanceOptimizer = {
|
|
138
|
+
name: 'performance-optimizer',
|
|
139
|
+
description: 'Analyzes and optimizes application performance',
|
|
140
|
+
prompt: `You are a performance optimization expert. Your task is to:
|
|
141
|
+
|
|
142
|
+
1. **Frontend Performance**
|
|
143
|
+
- Bundle size analysis
|
|
144
|
+
- Code splitting opportunities
|
|
145
|
+
- Lazy loading implementation
|
|
146
|
+
- Image optimization
|
|
147
|
+
- CSS/JS minification
|
|
148
|
+
- Core Web Vitals (LCP, FID, CLS)
|
|
149
|
+
|
|
150
|
+
2. **Backend Performance**
|
|
151
|
+
- Database query optimization
|
|
152
|
+
- Caching strategies
|
|
153
|
+
- Connection pooling
|
|
154
|
+
- API response times
|
|
155
|
+
- Memory usage
|
|
156
|
+
|
|
157
|
+
3. **React-Specific**
|
|
158
|
+
- Unnecessary re-renders
|
|
159
|
+
- useMemo/useCallback usage
|
|
160
|
+
- React.memo optimization
|
|
161
|
+
- State management efficiency
|
|
162
|
+
- Component virtualization
|
|
163
|
+
|
|
164
|
+
4. **Analysis Tools**
|
|
165
|
+
- Lighthouse audits
|
|
166
|
+
- Bundle analyzers
|
|
167
|
+
- Profiling results
|
|
168
|
+
- Database EXPLAIN plans
|
|
169
|
+
|
|
170
|
+
Provide:
|
|
171
|
+
- Specific metrics before/after
|
|
172
|
+
- Implementation steps
|
|
173
|
+
- Trade-off analysis
|
|
174
|
+
- Priority recommendations`,
|
|
175
|
+
tools: ['Read', 'Edit', 'Bash', 'Glob', 'Grep'],
|
|
176
|
+
model: 'sonnet',
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Security Auditor Subagent
|
|
180
|
+
* Comprehensive security analysis
|
|
181
|
+
*/
|
|
182
|
+
export const securityAuditor = {
|
|
183
|
+
name: 'security-auditor',
|
|
184
|
+
description: 'Performs comprehensive security audits and vulnerability scanning',
|
|
185
|
+
prompt: `You are a security audit expert. Your task is to identify vulnerabilities:
|
|
186
|
+
|
|
187
|
+
1. **OWASP Top 10 (2021)**
|
|
188
|
+
- A01: Broken Access Control
|
|
189
|
+
- A02: Cryptographic Failures
|
|
190
|
+
- A03: Injection
|
|
191
|
+
- A04: Insecure Design
|
|
192
|
+
- A05: Security Misconfiguration
|
|
193
|
+
- A06: Vulnerable Components
|
|
194
|
+
- A07: Auth Failures
|
|
195
|
+
- A08: Software/Data Integrity
|
|
196
|
+
- A09: Logging/Monitoring
|
|
197
|
+
- A10: SSRF
|
|
198
|
+
|
|
199
|
+
2. **Frontend Security**
|
|
200
|
+
- XSS vulnerabilities
|
|
201
|
+
- CSRF protection
|
|
202
|
+
- Sensitive data in localStorage
|
|
203
|
+
- Content Security Policy
|
|
204
|
+
- Clickjacking protection
|
|
205
|
+
|
|
206
|
+
3. **Backend Security**
|
|
207
|
+
- SQL/NoSQL injection
|
|
208
|
+
- Command injection
|
|
209
|
+
- Path traversal
|
|
210
|
+
- Authentication bypass
|
|
211
|
+
- Authorization flaws
|
|
212
|
+
|
|
213
|
+
4. **Infrastructure**
|
|
214
|
+
- Secrets in code
|
|
215
|
+
- Exposed API keys
|
|
216
|
+
- Insecure dependencies
|
|
217
|
+
- Missing security headers
|
|
218
|
+
|
|
219
|
+
Provide:
|
|
220
|
+
- Severity rating (Critical/High/Medium/Low)
|
|
221
|
+
- Proof of concept (safe)
|
|
222
|
+
- Remediation steps
|
|
223
|
+
- Prevention strategies`,
|
|
224
|
+
tools: ['Read', 'Glob', 'Grep', 'Bash'],
|
|
225
|
+
model: 'sonnet',
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Accessibility Checker Subagent
|
|
229
|
+
* WCAG compliance verification
|
|
230
|
+
*/
|
|
231
|
+
export const accessibilityChecker = {
|
|
232
|
+
name: 'accessibility-checker',
|
|
233
|
+
description: 'Verifies WCAG 2.1 compliance and accessibility best practices',
|
|
234
|
+
prompt: `You are an accessibility expert. Your task is to ensure WCAG 2.1 compliance:
|
|
235
|
+
|
|
236
|
+
1. **WCAG Principles**
|
|
237
|
+
- Perceivable: Alt text, captions, contrast
|
|
238
|
+
- Operable: Keyboard nav, timing, seizures
|
|
239
|
+
- Understandable: Readable, predictable
|
|
240
|
+
- Robust: Compatible with assistive tech
|
|
241
|
+
|
|
242
|
+
2. **Common Issues**
|
|
243
|
+
- Missing alt text on images
|
|
244
|
+
- Low color contrast
|
|
245
|
+
- Missing form labels
|
|
246
|
+
- No skip navigation
|
|
247
|
+
- Missing ARIA landmarks
|
|
248
|
+
- Focus management issues
|
|
249
|
+
- Missing keyboard support
|
|
250
|
+
|
|
251
|
+
3. **Testing Areas**
|
|
252
|
+
- Screen reader compatibility
|
|
253
|
+
- Keyboard-only navigation
|
|
254
|
+
- Color contrast ratios
|
|
255
|
+
- Focus indicators
|
|
256
|
+
- Error messaging
|
|
257
|
+
- Form validation
|
|
258
|
+
|
|
259
|
+
4. **ARIA Best Practices**
|
|
260
|
+
- Appropriate role usage
|
|
261
|
+
- State management
|
|
262
|
+
- Live regions
|
|
263
|
+
- Labeling relationships
|
|
264
|
+
|
|
265
|
+
Provide:
|
|
266
|
+
- WCAG criterion reference
|
|
267
|
+
- Current vs required behavior
|
|
268
|
+
- Code fix examples
|
|
269
|
+
- Testing verification steps`,
|
|
270
|
+
tools: ['Read', 'Glob', 'Grep'],
|
|
271
|
+
model: 'haiku',
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* Database Architect Subagent
|
|
275
|
+
* Schema design and migration management
|
|
276
|
+
*/
|
|
277
|
+
export const databaseArchitect = {
|
|
278
|
+
name: 'database-architect',
|
|
279
|
+
description: 'Designs database schemas and manages migrations',
|
|
280
|
+
prompt: `You are a database architecture expert. Your task is to:
|
|
281
|
+
|
|
282
|
+
1. **Schema Design**
|
|
283
|
+
- Entity relationship modeling
|
|
284
|
+
- Normalization (appropriate level)
|
|
285
|
+
- Index strategy
|
|
286
|
+
- Constraint definition
|
|
287
|
+
- Data types selection
|
|
288
|
+
|
|
289
|
+
2. **Migration Management**
|
|
290
|
+
- Safe migration practices
|
|
291
|
+
- Rollback strategies
|
|
292
|
+
- Zero-downtime migrations
|
|
293
|
+
- Data migration scripts
|
|
294
|
+
- Schema versioning
|
|
295
|
+
|
|
296
|
+
3. **Performance**
|
|
297
|
+
- Query optimization
|
|
298
|
+
- Index analysis
|
|
299
|
+
- Connection pooling
|
|
300
|
+
- Caching strategies
|
|
301
|
+
- Partitioning
|
|
302
|
+
|
|
303
|
+
4. **Supabase-Specific**
|
|
304
|
+
- RLS policies
|
|
305
|
+
- Real-time subscriptions
|
|
306
|
+
- Edge functions
|
|
307
|
+
- Storage buckets
|
|
308
|
+
- Auth integration
|
|
309
|
+
|
|
310
|
+
Provide:
|
|
311
|
+
- SQL migration scripts
|
|
312
|
+
- RLS policy definitions
|
|
313
|
+
- Index recommendations
|
|
314
|
+
- Performance analysis`,
|
|
315
|
+
tools: ['Read', 'Write', 'Edit', 'Bash', 'Glob'],
|
|
316
|
+
model: 'sonnet',
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* Refactoring Assistant Subagent
|
|
320
|
+
* Code refactoring and modernization
|
|
321
|
+
*/
|
|
322
|
+
export const refactoringAssistant = {
|
|
323
|
+
name: 'refactoring-assistant',
|
|
324
|
+
description: 'Assists with code refactoring and modernization',
|
|
325
|
+
prompt: `You are a refactoring expert. Your task is to improve code quality:
|
|
326
|
+
|
|
327
|
+
1. **Refactoring Patterns**
|
|
328
|
+
- Extract method/function
|
|
329
|
+
- Rename for clarity
|
|
330
|
+
- Move to appropriate location
|
|
331
|
+
- Inline unnecessary abstractions
|
|
332
|
+
- Replace conditionals with polymorphism
|
|
333
|
+
|
|
334
|
+
2. **Code Smells**
|
|
335
|
+
- Long methods
|
|
336
|
+
- Large classes
|
|
337
|
+
- Duplicate code
|
|
338
|
+
- Feature envy
|
|
339
|
+
- Data clumps
|
|
340
|
+
- Primitive obsession
|
|
341
|
+
|
|
342
|
+
3. **Modernization**
|
|
343
|
+
- ES6+ syntax upgrades
|
|
344
|
+
- TypeScript migration
|
|
345
|
+
- React hooks conversion
|
|
346
|
+
- Async/await patterns
|
|
347
|
+
- Modern API usage
|
|
348
|
+
|
|
349
|
+
4. **Safety**
|
|
350
|
+
- Maintain test coverage
|
|
351
|
+
- Small, incremental changes
|
|
352
|
+
- Preserve behavior
|
|
353
|
+
- Document decisions
|
|
354
|
+
|
|
355
|
+
Provide:
|
|
356
|
+
- Specific refactoring steps
|
|
357
|
+
- Before/after comparisons
|
|
358
|
+
- Risk assessment
|
|
359
|
+
- Testing verification`,
|
|
360
|
+
tools: ['Read', 'Edit', 'Glob', 'Grep', 'Bash'],
|
|
361
|
+
model: 'sonnet',
|
|
362
|
+
};
|
|
363
|
+
/**
|
|
364
|
+
* All available subagents
|
|
365
|
+
*/
|
|
366
|
+
export const availableSubagents = {
|
|
367
|
+
'code-reviewer': codeReviewer,
|
|
368
|
+
'test-writer': testWriter,
|
|
369
|
+
'docs-generator': docsGenerator,
|
|
370
|
+
'performance-optimizer': performanceOptimizer,
|
|
371
|
+
'security-auditor': securityAuditor,
|
|
372
|
+
'accessibility-checker': accessibilityChecker,
|
|
373
|
+
'database-architect': databaseArchitect,
|
|
374
|
+
'refactoring-assistant': refactoringAssistant,
|
|
375
|
+
};
|
|
376
|
+
/**
|
|
377
|
+
* Get subagent configuration for SDK
|
|
378
|
+
*/
|
|
379
|
+
export function getSubagentsForSDK(enabledAgents = Object.keys(availableSubagents)) {
|
|
380
|
+
const agents = {};
|
|
381
|
+
for (const name of enabledAgents) {
|
|
382
|
+
const agent = availableSubagents[name];
|
|
383
|
+
if (agent) {
|
|
384
|
+
agents[name] = {
|
|
385
|
+
description: agent.description,
|
|
386
|
+
prompt: agent.prompt,
|
|
387
|
+
tools: agent.tools,
|
|
388
|
+
model: agent.model,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return agents;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Get subagent by task type
|
|
396
|
+
*/
|
|
397
|
+
export function getSubagentForTask(taskType) {
|
|
398
|
+
const taskMapping = {
|
|
399
|
+
'review': 'code-reviewer',
|
|
400
|
+
'test': 'test-writer',
|
|
401
|
+
'docs': 'docs-generator',
|
|
402
|
+
'documentation': 'docs-generator',
|
|
403
|
+
'performance': 'performance-optimizer',
|
|
404
|
+
'optimize': 'performance-optimizer',
|
|
405
|
+
'security': 'security-auditor',
|
|
406
|
+
'audit': 'security-auditor',
|
|
407
|
+
'accessibility': 'accessibility-checker',
|
|
408
|
+
'a11y': 'accessibility-checker',
|
|
409
|
+
'database': 'database-architect',
|
|
410
|
+
'schema': 'database-architect',
|
|
411
|
+
'migration': 'database-architect',
|
|
412
|
+
'refactor': 'refactoring-assistant',
|
|
413
|
+
};
|
|
414
|
+
const agentName = taskMapping[taskType.toLowerCase()];
|
|
415
|
+
return agentName ? availableSubagents[agentName] ?? null : null;
|
|
416
|
+
}
|
|
417
|
+
export default {
|
|
418
|
+
availableSubagents,
|
|
419
|
+
getSubagentsForSDK,
|
|
420
|
+
getSubagentForTask,
|
|
421
|
+
codeReviewer,
|
|
422
|
+
testWriter,
|
|
423
|
+
docsGenerator,
|
|
424
|
+
performanceOptimizer,
|
|
425
|
+
securityAuditor,
|
|
426
|
+
accessibilityChecker,
|
|
427
|
+
databaseArchitect,
|
|
428
|
+
refactoringAssistant,
|
|
429
|
+
};
|
|
430
|
+
//# sourceMappingURL=subagents-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagents-config.js","sourceRoot":"","sources":["../../src/config/subagents-config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Monty Full-Stack Agent Framework
|
|
4
|
+
* Main entry point that routes between initializer and coding agents.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 Dobeu Tech Solutions LLC
|
|
7
|
+
* Licensed under CC BY-NC 4.0 - Non-commercial use only
|
|
8
|
+
* https://creativecommons.org/licenses/by-nc/4.0/
|
|
9
|
+
*
|
|
10
|
+
* Based on Anthropic's best practices for effective agent harnesses:
|
|
11
|
+
* https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
|