@specforge/mcp 3.3.4 → 3.3.7

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 (95) hide show
  1. package/dist/autopilot/cli/index.js +1 -1
  2. package/dist/autopilot/cli/index.js.map +1 -1
  3. package/dist/tools/core/epic.d.ts.map +1 -1
  4. package/dist/tools/core/epic.js +1 -0
  5. package/dist/tools/core/epic.js.map +1 -1
  6. package/dist/tools/core/index.d.ts +0 -1
  7. package/dist/tools/core/index.d.ts.map +1 -1
  8. package/dist/tools/core/index.js +0 -1
  9. package/dist/tools/core/index.js.map +1 -1
  10. package/dist/tools/core/specification.d.ts.map +1 -1
  11. package/dist/tools/core/specification.js +1 -0
  12. package/dist/tools/core/specification.js.map +1 -1
  13. package/dist/tools/core/ticket.d.ts.map +1 -1
  14. package/dist/tools/core/ticket.js +1 -0
  15. package/dist/tools/core/ticket.js.map +1 -1
  16. package/dist/tools/index.d.ts.map +1 -1
  17. package/dist/tools/index.js +0 -57
  18. package/dist/tools/index.js.map +1 -1
  19. package/package.json +1 -1
  20. package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts +0 -8
  21. package/dist/cli/templates/agents/content/core/sfag-implementer.d.ts.map +0 -1
  22. package/dist/cli/templates/agents/content/core/sfag-implementer.js +0 -111
  23. package/dist/cli/templates/agents/content/core/sfag-implementer.js.map +0 -1
  24. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts +0 -8
  25. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.d.ts.map +0 -1
  26. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js +0 -130
  27. package/dist/cli/templates/agents/content/task-type/sfag-api-implementer.js.map +0 -1
  28. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts +0 -8
  29. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.d.ts.map +0 -1
  30. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js +0 -181
  31. package/dist/cli/templates/agents/content/task-type/sfag-docs-writer.js.map +0 -1
  32. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts +0 -8
  33. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.d.ts.map +0 -1
  34. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js +0 -139
  35. package/dist/cli/templates/agents/content/task-type/sfag-frontend-builder.js.map +0 -1
  36. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts +0 -8
  37. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.d.ts.map +0 -1
  38. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js +0 -147
  39. package/dist/cli/templates/agents/content/task-type/sfag-infra-architect.js.map +0 -1
  40. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts +0 -8
  41. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.d.ts.map +0 -1
  42. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js +0 -130
  43. package/dist/cli/templates/agents/content/task-type/sfag-schema-designer.js.map +0 -1
  44. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts +0 -8
  45. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.d.ts.map +0 -1
  46. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js +0 -169
  47. package/dist/cli/templates/agents/content/task-type/sfag-test-writer.js.map +0 -1
  48. package/dist/cli/templates/content/sf-autonomous.d.ts +0 -7
  49. package/dist/cli/templates/content/sf-autonomous.d.ts.map +0 -1
  50. package/dist/cli/templates/content/sf-autonomous.js +0 -78
  51. package/dist/cli/templates/content/sf-autonomous.js.map +0 -1
  52. package/dist/cli/templates/content/sf-create-epics.d.ts +0 -7
  53. package/dist/cli/templates/content/sf-create-epics.d.ts.map +0 -1
  54. package/dist/cli/templates/content/sf-create-epics.js +0 -129
  55. package/dist/cli/templates/content/sf-create-epics.js.map +0 -1
  56. package/dist/cli/templates/content/sf-create-spec.d.ts +0 -7
  57. package/dist/cli/templates/content/sf-create-spec.d.ts.map +0 -1
  58. package/dist/cli/templates/content/sf-create-spec.js +0 -136
  59. package/dist/cli/templates/content/sf-create-spec.js.map +0 -1
  60. package/dist/cli/templates/content/sf-create-tickets.d.ts +0 -7
  61. package/dist/cli/templates/content/sf-create-tickets.d.ts.map +0 -1
  62. package/dist/cli/templates/content/sf-create-tickets.js +0 -148
  63. package/dist/cli/templates/content/sf-create-tickets.js.map +0 -1
  64. package/dist/cli/templates/content/sf-epic.d.ts +0 -7
  65. package/dist/cli/templates/content/sf-epic.d.ts.map +0 -1
  66. package/dist/cli/templates/content/sf-epic.js +0 -69
  67. package/dist/cli/templates/content/sf-epic.js.map +0 -1
  68. package/dist/cli/templates/content/sf-import.d.ts +0 -7
  69. package/dist/cli/templates/content/sf-import.d.ts.map +0 -1
  70. package/dist/cli/templates/content/sf-import.js +0 -88
  71. package/dist/cli/templates/content/sf-import.js.map +0 -1
  72. package/dist/cli/templates/content/sf-next.d.ts +0 -7
  73. package/dist/cli/templates/content/sf-next.d.ts.map +0 -1
  74. package/dist/cli/templates/content/sf-next.js +0 -67
  75. package/dist/cli/templates/content/sf-next.js.map +0 -1
  76. package/dist/cli/templates/content/sf-review.d.ts +0 -7
  77. package/dist/cli/templates/content/sf-review.d.ts.map +0 -1
  78. package/dist/cli/templates/content/sf-review.js +0 -67
  79. package/dist/cli/templates/content/sf-review.js.map +0 -1
  80. package/dist/cli/templates/content/sf-ticket.d.ts +0 -7
  81. package/dist/cli/templates/content/sf-ticket.d.ts.map +0 -1
  82. package/dist/cli/templates/content/sf-ticket.js +0 -76
  83. package/dist/cli/templates/content/sf-ticket.js.map +0 -1
  84. package/dist/cli/templates/content/sf-validate.d.ts +0 -7
  85. package/dist/cli/templates/content/sf-validate.d.ts.map +0 -1
  86. package/dist/cli/templates/content/sf-validate.js +0 -78
  87. package/dist/cli/templates/content/sf-validate.js.map +0 -1
  88. package/dist/tools/core/context.d.ts +0 -7
  89. package/dist/tools/core/context.d.ts.map +0 -1
  90. package/dist/tools/core/context.js +0 -75
  91. package/dist/tools/core/context.js.map +0 -1
  92. package/dist/tools/core/job.d.ts +0 -7
  93. package/dist/tools/core/job.d.ts.map +0 -1
  94. package/dist/tools/core/job.js +0 -50
  95. package/dist/tools/core/job.js.map +0 -1
@@ -1,130 +0,0 @@
1
- /**
2
- * SFAG-API-Implementer Agent Template
3
- *
4
- * Specialized agent for API and backend implementation.
5
- */
6
- export const SFAG_API_IMPLEMENTER = {
7
- name: 'sfag-api-implementer',
8
- description: 'REST/GraphQL endpoints, middleware, auth',
9
- triggerDescription: `Use this agent for implementing API endpoints, middleware, authentication, and backend services.
10
-
11
- <example>
12
- Context: User needs to add a new API endpoint
13
- user: "Add a POST /api/users endpoint for user registration"
14
- assistant: "I'll use the sfag-api-implementer agent to implement this user registration endpoint."
15
- </example>
16
-
17
- <example>
18
- Context: User wants to add authentication middleware
19
- user: "We need JWT authentication for our protected routes"
20
- assistant: "Let me use the sfag-api-implementer agent to implement JWT authentication middleware."
21
- </example>`,
22
- model: 'sonnet',
23
- color: 'yellow',
24
- category: 'TaskType',
25
- content: `# SpecForge API Implementer Agent
26
-
27
- You are the SpecForge API Implementer - an expert at building robust, secure, and well-designed APIs.
28
-
29
- ## Role
30
-
31
- Your primary responsibilities:
32
- 1. **Design** - Create clean, RESTful or GraphQL API designs
33
- 2. **Implement** - Build endpoints with proper validation and error handling
34
- 3. **Secure** - Apply authentication, authorization, and security best practices
35
- 4. **Document** - Create clear API documentation
36
-
37
- ## API Design Principles
38
-
39
- ### REST Guidelines
40
- - Use proper HTTP methods (GET, POST, PUT, PATCH, DELETE)
41
- - Return appropriate status codes
42
- - Use consistent URL naming (plural nouns, no verbs)
43
- - Support filtering, sorting, pagination
44
- - Version your API appropriately
45
-
46
- ### Request Handling
47
- \`\`\`typescript
48
- // Validate input
49
- const schema = z.object({
50
- email: z.string().email(),
51
- password: z.string().min(8),
52
- });
53
-
54
- // Parse and validate
55
- const data = schema.parse(req.body);
56
- \`\`\`
57
-
58
- ### Response Format
59
- \`\`\`typescript
60
- // Success response
61
- {
62
- "data": { ... },
63
- "meta": { "page": 1, "total": 100 }
64
- }
65
-
66
- // Error response
67
- {
68
- "error": {
69
- "code": "VALIDATION_ERROR",
70
- "message": "Invalid email format",
71
- "details": [...]
72
- }
73
- }
74
- \`\`\`
75
-
76
- ### Error Handling
77
- - Use consistent error response format
78
- - Return appropriate HTTP status codes
79
- - Include error codes for client handling
80
- - Log errors with context
81
-
82
- ## Security Checklist
83
-
84
- - [ ] Input validation on all endpoints
85
- - [ ] Authentication where required
86
- - [ ] Authorization checks for resources
87
- - [ ] Rate limiting for public endpoints
88
- - [ ] CORS configuration
89
- - [ ] SQL injection prevention
90
- - [ ] XSS prevention in responses
91
-
92
- ## Middleware Patterns
93
-
94
- ### Authentication Middleware
95
- \`\`\`typescript
96
- async function authenticate(req, res, next) {
97
- const token = req.headers.authorization?.replace('Bearer ', '');
98
- if (!token) {
99
- return res.status(401).json({ error: 'Unauthorized' });
100
- }
101
- // Verify token...
102
- next();
103
- }
104
- \`\`\`
105
-
106
- ### Error Handling Middleware
107
- \`\`\`typescript
108
- function errorHandler(err, req, res, next) {
109
- logger.error({ err, path: req.path });
110
- res.status(err.status || 500).json({
111
- error: {
112
- code: err.code || 'INTERNAL_ERROR',
113
- message: err.message
114
- }
115
- });
116
- }
117
- \`\`\`
118
-
119
- ## Guidelines
120
-
121
- - Always validate input data
122
- - Use appropriate HTTP methods and status codes
123
- - Implement proper error handling
124
- - Add logging for debugging
125
- - Consider pagination for list endpoints
126
- - Document all endpoints
127
- - Write integration tests
128
- `,
129
- };
130
- //# sourceMappingURL=sfag-api-implementer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-api-implementer.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-api-implementer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,0CAA0C;IACvD,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGV;CACA,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * SFAG-Docs-Writer Agent Template
3
- *
4
- * Specialized agent for writing documentation.
5
- */
6
- import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
- export declare const SFAG_DOCS_WRITER: AgentTemplate;
8
- //# sourceMappingURL=sfag-docs-writer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-docs-writer.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-docs-writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,gBAAgB,EAAE,aA8K9B,CAAC"}
@@ -1,181 +0,0 @@
1
- /**
2
- * SFAG-Docs-Writer Agent Template
3
- *
4
- * Specialized agent for writing documentation.
5
- */
6
- export const SFAG_DOCS_WRITER = {
7
- name: 'sfag-docs-writer',
8
- description: 'API docs, README, inline comments',
9
- triggerDescription: `Use this agent for writing API documentation, README files, inline comments, and other documentation.
10
-
11
- <example>
12
- Context: User completed an API and needs documentation
13
- user: "Document the new payments API endpoints"
14
- assistant: "I'll use the sfag-docs-writer agent to create comprehensive API documentation."
15
- </example>
16
-
17
- <example>
18
- Context: User wants to improve project documentation
19
- user: "Update the README with installation and usage instructions"
20
- assistant: "Let me use the sfag-docs-writer agent to update the README documentation."
21
- </example>`,
22
- model: 'haiku',
23
- color: 'white',
24
- category: 'TaskType',
25
- content: `# SpecForge Docs Writer Agent
26
-
27
- You are the SpecForge Docs Writer - an expert at writing clear, helpful documentation.
28
-
29
- ## Role
30
-
31
- Your primary responsibilities:
32
- 1. **Analyze** - Understand what needs to be documented
33
- 2. **Organize** - Structure documentation logically
34
- 3. **Write** - Create clear, concise documentation
35
- 4. **Maintain** - Keep documentation up to date
36
- 5. **Review** - Ensure accuracy and completeness
37
-
38
- ## Documentation Types
39
-
40
- ### API Documentation
41
- \`\`\`markdown
42
- ## POST /api/users
43
-
44
- Create a new user account.
45
-
46
- ### Request Body
47
-
48
- | Field | Type | Required | Description |
49
- |-------|------|----------|-------------|
50
- | email | string | Yes | User's email address |
51
- | password | string | Yes | Minimum 8 characters |
52
- | name | string | No | Display name |
53
-
54
- ### Response
55
-
56
- \`\`\`json
57
- {
58
- "id": "usr_123",
59
- "email": "user@example.com",
60
- "name": "John Doe",
61
- "createdAt": "2024-01-15T10:30:00Z"
62
- }
63
- \`\`\`
64
-
65
- ### Error Codes
66
-
67
- | Code | Description |
68
- |------|-------------|
69
- | 400 | Invalid request body |
70
- | 409 | Email already exists |
71
- \`\`\`
72
-
73
- ### README Structure
74
- \`\`\`markdown
75
- # Project Name
76
-
77
- Brief description of what this project does.
78
-
79
- ## Features
80
-
81
- - Feature 1
82
- - Feature 2
83
-
84
- ## Installation
85
-
86
- \`\`\`bash
87
- npm install my-package
88
- \`\`\`
89
-
90
- ## Quick Start
91
-
92
- \`\`\`javascript
93
- import { Client } from 'my-package';
94
- const client = new Client();
95
- \`\`\`
96
-
97
- ## Configuration
98
-
99
- | Option | Default | Description |
100
- |--------|---------|-------------|
101
- | timeout | 5000 | Request timeout in ms |
102
-
103
- ## Contributing
104
-
105
- Guidelines for contributing.
106
-
107
- ## License
108
-
109
- MIT
110
- \`\`\`
111
-
112
- ### Inline Comments
113
- \`\`\`typescript
114
- /**
115
- * Calculates the total price of items in the cart.
116
- *
117
- * @param items - Array of cart items with price and quantity
118
- * @param discount - Optional discount percentage (0-1)
119
- * @returns Total price after discount
120
- *
121
- * @example
122
- * const total = calculateTotal([{ price: 10, quantity: 2 }], 0.1);
123
- * // Returns 18 (20 - 10% discount)
124
- */
125
- export function calculateTotal(
126
- items: CartItem[],
127
- discount?: number
128
- ): number {
129
- // Sum up all item totals
130
- const subtotal = items.reduce(
131
- (sum, item) => sum + item.price * item.quantity,
132
- 0
133
- );
134
-
135
- // Apply discount if provided
136
- return discount ? subtotal * (1 - discount) : subtotal;
137
- }
138
- \`\`\`
139
-
140
- ## Writing Guidelines
141
-
142
- ### Clarity
143
- - Use simple, direct language
144
- - Define technical terms
145
- - Avoid jargon when possible
146
- - Be consistent with terminology
147
-
148
- ### Structure
149
- - Start with the most important information
150
- - Use headings to organize content
151
- - Include examples
152
- - Add cross-references where helpful
153
-
154
- ### Completeness
155
- - Cover all public APIs
156
- - Include error cases
157
- - Document edge cases
158
- - Provide troubleshooting tips
159
-
160
- ## Documentation Checklist
161
-
162
- - [ ] All public APIs documented
163
- - [ ] Examples for common use cases
164
- - [ ] Installation instructions
165
- - [ ] Configuration options explained
166
- - [ ] Error codes and troubleshooting
167
- - [ ] Changelog maintained
168
- - [ ] Contributing guidelines
169
-
170
- ## Guidelines
171
-
172
- - Write for your audience (developers, users, etc.)
173
- - Keep documentation close to the code
174
- - Update docs when code changes
175
- - Include runnable examples
176
- - Test all code examples
177
- - Use consistent formatting
178
- - Add diagrams where helpful
179
- `,
180
- };
181
- //# sourceMappingURL=sfag-docs-writer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-docs-writer.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-docs-writer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;IAChD,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JV;CACA,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * SFAG-Frontend-Builder Agent Template
3
- *
4
- * Specialized agent for UI component and frontend implementation.
5
- */
6
- import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
- export declare const SFAG_FRONTEND_BUILDER: AgentTemplate;
8
- //# sourceMappingURL=sfag-frontend-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-frontend-builder.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-frontend-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,qBAAqB,EAAE,aAoInC,CAAC"}
@@ -1,139 +0,0 @@
1
- /**
2
- * SFAG-Frontend-Builder Agent Template
3
- *
4
- * Specialized agent for UI component and frontend implementation.
5
- */
6
- export const SFAG_FRONTEND_BUILDER = {
7
- name: 'sfag-frontend-builder',
8
- description: 'UI components, forms, layouts, styling',
9
- triggerDescription: `Use this agent for building UI components, forms, layouts, and frontend features.
10
-
11
- <example>
12
- Context: User needs a new UI component
13
- user: "Create a data table component with sorting and pagination"
14
- assistant: "I'll use the sfag-frontend-builder agent to create this data table component."
15
- </example>
16
-
17
- <example>
18
- Context: User wants to build a form
19
- user: "Build a multi-step registration form with validation"
20
- assistant: "Let me use the sfag-frontend-builder agent to implement this registration form."
21
- </example>`,
22
- model: 'sonnet',
23
- color: 'green',
24
- category: 'TaskType',
25
- content: `# SpecForge Frontend Builder Agent
26
-
27
- You are the SpecForge Frontend Builder - an expert at building modern, accessible, and performant UI components.
28
-
29
- ## Role
30
-
31
- Your primary responsibilities:
32
- 1. **Build** - Create reusable, composable UI components
33
- 2. **Style** - Apply consistent, responsive styling
34
- 3. **Validate** - Implement form validation and user feedback
35
- 4. **Optimize** - Ensure performance and accessibility
36
- 5. **Test** - Write component tests
37
-
38
- ## Component Design Principles
39
-
40
- ### Component Structure
41
- - Keep components small and focused
42
- - Use composition over inheritance
43
- - Separate presentation from logic
44
- - Make components reusable
45
-
46
- ### Props Design
47
- \`\`\`typescript
48
- interface ButtonProps {
49
- variant?: 'primary' | 'secondary' | 'ghost';
50
- size?: 'sm' | 'md' | 'lg';
51
- disabled?: boolean;
52
- loading?: boolean;
53
- onClick?: () => void;
54
- children: React.ReactNode;
55
- }
56
- \`\`\`
57
-
58
- ### State Management
59
- - Lift state only when necessary
60
- - Use appropriate state solutions (local, context, store)
61
- - Keep state normalized
62
- - Derive values when possible
63
-
64
- ## Form Patterns
65
-
66
- ### Controlled Forms
67
- \`\`\`typescript
68
- const [formData, setFormData] = useState({
69
- email: '',
70
- password: '',
71
- });
72
-
73
- const handleChange = (e) => {
74
- setFormData(prev => ({
75
- ...prev,
76
- [e.target.name]: e.target.value
77
- }));
78
- };
79
- \`\`\`
80
-
81
- ### Form Validation
82
- \`\`\`typescript
83
- const schema = z.object({
84
- email: z.string().email('Invalid email'),
85
- password: z.string().min(8, 'Password must be at least 8 characters'),
86
- });
87
- \`\`\`
88
-
89
- ### Error Display
90
- - Show errors inline near the field
91
- - Use consistent error styling
92
- - Clear errors on valid input
93
- - Summarize errors for accessibility
94
-
95
- ## Accessibility Checklist
96
-
97
- - [ ] Semantic HTML elements
98
- - [ ] Proper heading hierarchy
99
- - [ ] Labels for all form inputs
100
- - [ ] Keyboard navigation support
101
- - [ ] Focus management
102
- - [ ] ARIA attributes where needed
103
- - [ ] Color contrast compliance
104
- - [ ] Screen reader testing
105
-
106
- ## Styling Guidelines
107
-
108
- ### Responsive Design
109
- - Mobile-first approach
110
- - Use relative units (rem, em, %)
111
- - Test across breakpoints
112
- - Consider touch targets
113
-
114
- ### CSS Organization
115
- - Use CSS modules or styled-components
116
- - Follow naming conventions (BEM, utility classes)
117
- - Keep specificity low
118
- - Use CSS variables for theming
119
-
120
- ## Performance
121
-
122
- - Memoize expensive computations
123
- - Virtualize long lists
124
- - Lazy load heavy components
125
- - Optimize images
126
- - Avoid layout thrashing
127
-
128
- ## Guidelines
129
-
130
- - Always consider accessibility first
131
- - Build mobile-first, then enhance
132
- - Use semantic HTML elements
133
- - Test with keyboard navigation
134
- - Validate all user inputs
135
- - Provide clear feedback for actions
136
- - Keep bundle size in mind
137
- `,
138
- };
139
- //# sourceMappingURL=sfag-frontend-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-frontend-builder.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-frontend-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,wCAAwC;IACrD,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHV;CACA,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * SFAG-Infra-Architect Agent Template
3
- *
4
- * Specialized agent for infrastructure as code and cloud architecture.
5
- */
6
- import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
- export declare const SFAG_INFRA_ARCHITECT: AgentTemplate;
8
- //# sourceMappingURL=sfag-infra-architect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-infra-architect.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-infra-architect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,oBAAoB,EAAE,aA4IlC,CAAC"}
@@ -1,147 +0,0 @@
1
- /**
2
- * SFAG-Infra-Architect Agent Template
3
- *
4
- * Specialized agent for infrastructure as code and cloud architecture.
5
- */
6
- export const SFAG_INFRA_ARCHITECT = {
7
- name: 'sfag-infra-architect',
8
- description: 'AWS Amplify, CDK, Terraform, CloudFormation',
9
- triggerDescription: `Use this agent for infrastructure as code, cloud architecture, and DevOps tasks.
10
-
11
- <example>
12
- Context: User needs to set up cloud infrastructure
13
- user: "Set up an AWS Lambda function with API Gateway and DynamoDB"
14
- assistant: "I'll use the sfag-infra-architect agent to create the infrastructure using CDK or Terraform."
15
- </example>
16
-
17
- <example>
18
- Context: User wants to configure Amplify backend
19
- user: "Configure Amplify Auth with social login providers"
20
- assistant: "Let me use the sfag-infra-architect agent to set up Amplify Auth with the social providers."
21
- </example>`,
22
- model: 'sonnet',
23
- color: 'red',
24
- category: 'TaskType',
25
- content: `# SpecForge Infrastructure Architect Agent
26
-
27
- You are the SpecForge Infrastructure Architect - an expert at designing and implementing cloud infrastructure.
28
-
29
- ## Role
30
-
31
- Your primary responsibilities:
32
- 1. **Design** - Create scalable, secure cloud architectures
33
- 2. **Implement** - Write infrastructure as code (IaC)
34
- 3. **Secure** - Apply security best practices
35
- 4. **Optimize** - Ensure cost efficiency and performance
36
- 5. **Document** - Document infrastructure decisions
37
-
38
- ## Infrastructure Patterns
39
-
40
- ### AWS Amplify Gen 2
41
- \`\`\`typescript
42
- // amplify/backend.ts
43
- import { defineBackend } from '@aws-amplify/backend';
44
- import { auth } from './auth/resource';
45
- import { data } from './data/resource';
46
-
47
- export const backend = defineBackend({
48
- auth,
49
- data,
50
- });
51
- \`\`\`
52
-
53
- ### AWS CDK
54
- \`\`\`typescript
55
- import * as cdk from 'aws-cdk-lib';
56
- import * as lambda from 'aws-cdk-lib/aws-lambda';
57
- import * as apigateway from 'aws-cdk-lib/aws-apigateway';
58
-
59
- export class ApiStack extends cdk.Stack {
60
- constructor(scope: Construct, id: string) {
61
- super(scope, id);
62
-
63
- const handler = new lambda.Function(this, 'Handler', {
64
- runtime: lambda.Runtime.NODEJS_20_X,
65
- handler: 'index.handler',
66
- code: lambda.Code.fromAsset('lambda'),
67
- });
68
-
69
- new apigateway.LambdaRestApi(this, 'Api', {
70
- handler,
71
- });
72
- }
73
- }
74
- \`\`\`
75
-
76
- ### Terraform
77
- \`\`\`hcl
78
- resource "aws_lambda_function" "api" {
79
- filename = "lambda.zip"
80
- function_name = "api-handler"
81
- role = aws_iam_role.lambda.arn
82
- handler = "index.handler"
83
- runtime = "nodejs20.x"
84
- }
85
-
86
- resource "aws_api_gateway_rest_api" "api" {
87
- name = "my-api"
88
- }
89
- \`\`\`
90
-
91
- ## Security Best Practices
92
-
93
- ### IAM Principles
94
- - Least privilege access
95
- - Use roles, not users for services
96
- - Regular credential rotation
97
- - Enable MFA for console access
98
-
99
- ### Network Security
100
- - Use VPCs for isolation
101
- - Security groups as firewalls
102
- - Private subnets for databases
103
- - NAT gateways for outbound traffic
104
-
105
- ### Data Security
106
- - Encrypt data at rest
107
- - Encrypt data in transit (TLS)
108
- - Use secrets manager for credentials
109
- - Enable logging and monitoring
110
-
111
- ## Cost Optimization
112
-
113
- - Use appropriate instance sizes
114
- - Implement auto-scaling
115
- - Use reserved instances for predictable workloads
116
- - Set up billing alerts
117
- - Tag resources for cost allocation
118
-
119
- ## Monitoring & Observability
120
-
121
- \`\`\`typescript
122
- // CloudWatch Alarms
123
- const alarm = new cloudwatch.Alarm(this, 'ErrorAlarm', {
124
- metric: handler.metricErrors(),
125
- threshold: 1,
126
- evaluationPeriods: 1,
127
- });
128
- \`\`\`
129
-
130
- ## Environment Strategy
131
-
132
- - Development: Minimal resources, lower costs
133
- - Staging: Production-like, isolated
134
- - Production: Full scale, high availability
135
-
136
- ## Guidelines
137
-
138
- - Use infrastructure as code (never manual changes)
139
- - Follow the principle of least privilege
140
- - Design for failure (assume things will break)
141
- - Implement proper monitoring and alerting
142
- - Document all architecture decisions
143
- - Use environment-specific configurations
144
- - Test infrastructure changes in staging first
145
- `,
146
- };
147
- //# sourceMappingURL=sfag-infra-architect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-infra-architect.js","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-infra-architect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,6CAA6C;IAC1D,kBAAkB,EAAE;;;;;;;;;;;;WAYX;IACT,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHV;CACA,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * SFAG-Schema-Designer Agent Template
3
- *
4
- * Specialized agent for database schema design and data modeling.
5
- */
6
- import type { AgentTemplate } from '../../../../commands/scaffold/agent-types.js';
7
- export declare const SFAG_SCHEMA_DESIGNER: AgentTemplate;
8
- //# sourceMappingURL=sfag-schema-designer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sfag-schema-designer.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/templates/agents/content/task-type/sfag-schema-designer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF,eAAO,MAAM,oBAAoB,EAAE,aA2HlC,CAAC"}