@girardmedia/bootspring 1.2.0 → 2.0.3

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 (253) hide show
  1. package/README.md +107 -14
  2. package/bin/bootspring.js +166 -27
  3. package/cli/agent.js +189 -17
  4. package/cli/analyze.js +499 -0
  5. package/cli/audit.js +557 -0
  6. package/cli/auth.js +495 -38
  7. package/cli/billing.js +302 -0
  8. package/cli/build.js +695 -0
  9. package/cli/business.js +109 -26
  10. package/cli/checkpoint-utils.js +168 -0
  11. package/cli/checkpoint.js +639 -0
  12. package/cli/cloud-sync.js +447 -0
  13. package/cli/content.js +198 -0
  14. package/cli/context.js +1 -1
  15. package/cli/deploy.js +543 -0
  16. package/cli/fundraise.js +112 -50
  17. package/cli/github-cmd.js +435 -0
  18. package/cli/health.js +477 -0
  19. package/cli/init.js +84 -13
  20. package/cli/legal.js +107 -95
  21. package/cli/log.js +2 -2
  22. package/cli/loop.js +976 -73
  23. package/cli/manager.js +711 -0
  24. package/cli/metrics.js +480 -0
  25. package/cli/monitor.js +812 -0
  26. package/cli/onboard.js +521 -0
  27. package/cli/orchestrator.js +12 -24
  28. package/cli/prd.js +594 -0
  29. package/cli/preseed-start.js +1483 -0
  30. package/cli/preseed.js +2302 -0
  31. package/cli/project.js +436 -0
  32. package/cli/quality.js +233 -0
  33. package/cli/security.js +913 -0
  34. package/cli/seed.js +1441 -5
  35. package/cli/skill.js +273 -211
  36. package/cli/suggest.js +989 -0
  37. package/cli/switch.js +453 -0
  38. package/cli/visualize.js +527 -0
  39. package/cli/watch.js +769 -0
  40. package/cli/workspace.js +607 -0
  41. package/core/analyze-workflow.js +1134 -0
  42. package/core/api-client.js +535 -22
  43. package/core/audit-workflow.js +1350 -0
  44. package/core/build-orchestrator.js +480 -0
  45. package/core/build-state.js +577 -0
  46. package/core/checkpoint-engine.js +408 -0
  47. package/core/config.js +1109 -26
  48. package/core/context-loader.js +21 -1
  49. package/core/deploy-workflow.js +836 -0
  50. package/core/entitlements.js +93 -22
  51. package/core/github-sync.js +610 -0
  52. package/core/index.js +8 -1
  53. package/core/ingest.js +1111 -0
  54. package/core/metrics-engine.js +768 -0
  55. package/core/onboard-workflow.js +1007 -0
  56. package/core/preseed-workflow.js +934 -0
  57. package/core/preseed.js +1617 -0
  58. package/core/project-context.js +325 -0
  59. package/core/project-state.js +694 -0
  60. package/core/r2-sync.js +583 -0
  61. package/core/scaffold.js +525 -7
  62. package/core/session.js +258 -0
  63. package/core/task-extractor.js +758 -0
  64. package/core/telemetry.js +28 -6
  65. package/core/tier-enforcement.js +737 -0
  66. package/core/utils.js +38 -14
  67. package/generators/questionnaire.js +15 -12
  68. package/generators/sections/ai.js +7 -7
  69. package/generators/sections/content.js +300 -0
  70. package/generators/sections/index.js +3 -0
  71. package/generators/sections/plugins.js +7 -6
  72. package/generators/templates/build-planning.template.js +596 -0
  73. package/generators/templates/content.template.js +819 -0
  74. package/generators/templates/index.js +2 -1
  75. package/hooks/git-autopilot.js +1250 -0
  76. package/hooks/index.js +9 -0
  77. package/intelligence/agent-collab.js +2057 -0
  78. package/intelligence/auto-suggest.js +634 -0
  79. package/intelligence/content-gen.js +1589 -0
  80. package/intelligence/cross-project.js +1647 -0
  81. package/intelligence/index.js +184 -0
  82. package/intelligence/learning/insights.json +517 -7
  83. package/intelligence/learning/pattern-learner.js +1008 -14
  84. package/intelligence/memory/decision-tracker.js +1431 -31
  85. package/intelligence/memory/decisions.jsonl +0 -0
  86. package/intelligence/orchestrator.js +2896 -1
  87. package/intelligence/prd.js +92 -1
  88. package/intelligence/recommendation-weights.json +14 -2
  89. package/intelligence/recommendations.js +463 -9
  90. package/intelligence/workflow-composer.js +1451 -0
  91. package/marketplace/index.d.ts +324 -0
  92. package/marketplace/index.js +1921 -0
  93. package/mcp/contracts/mcp-contract.v1.json +342 -4
  94. package/mcp/registry.js +680 -3
  95. package/mcp/response-formatter.js +23 -0
  96. package/mcp/tools/assist-tool.js +78 -4
  97. package/mcp/tools/autopilot-tool.js +408 -0
  98. package/mcp/tools/content-tool.js +571 -0
  99. package/mcp/tools/dashboard-tool.js +251 -5
  100. package/mcp/tools/mvp-tool.js +344 -0
  101. package/mcp/tools/plugin-tool.js +23 -1
  102. package/mcp/tools/prd-tool.js +579 -0
  103. package/mcp/tools/seed-tool.js +447 -0
  104. package/mcp/tools/skill-tool.js +43 -14
  105. package/mcp/tools/suggest-tool.js +147 -0
  106. package/package.json +15 -6
  107. package/agents/README.md +0 -93
  108. package/agents/ai-integration-expert/context.md +0 -386
  109. package/agents/api-expert/context.md +0 -416
  110. package/agents/architecture-expert/context.md +0 -454
  111. package/agents/auth-expert/context.md +0 -399
  112. package/agents/backend-expert/context.md +0 -483
  113. package/agents/business-strategy-expert/context.md +0 -180
  114. package/agents/code-review-expert/context.md +0 -365
  115. package/agents/competitive-analysis-expert/context.md +0 -239
  116. package/agents/data-modeling-expert/context.md +0 -352
  117. package/agents/database-expert/context.md +0 -250
  118. package/agents/devops-expert/context.md +0 -446
  119. package/agents/email-expert/context.md +0 -379
  120. package/agents/financial-expert/context.md +0 -213
  121. package/agents/frontend-expert/context.md +0 -364
  122. package/agents/fundraising-expert/context.md +0 -257
  123. package/agents/growth-expert/context.md +0 -249
  124. package/agents/index.js +0 -140
  125. package/agents/investor-relations-expert/context.md +0 -266
  126. package/agents/legal-expert/context.md +0 -284
  127. package/agents/marketing-expert/context.md +0 -236
  128. package/agents/monitoring-expert/context.md +0 -362
  129. package/agents/operations-expert/context.md +0 -279
  130. package/agents/partnerships-expert/context.md +0 -286
  131. package/agents/payment-expert/context.md +0 -340
  132. package/agents/performance-expert/context.md +0 -377
  133. package/agents/private-equity-expert/context.md +0 -246
  134. package/agents/railway-expert/context.md +0 -284
  135. package/agents/research-expert/context.md +0 -245
  136. package/agents/sales-expert/context.md +0 -241
  137. package/agents/security-expert/context.md +0 -343
  138. package/agents/testing-expert/context.md +0 -414
  139. package/agents/ui-ux-expert/context.md +0 -448
  140. package/agents/vercel-expert/context.md +0 -426
  141. package/skills/index.js +0 -787
  142. package/skills/patterns/README.md +0 -163
  143. package/skills/patterns/ai/agents.md +0 -281
  144. package/skills/patterns/ai/claude.md +0 -138
  145. package/skills/patterns/ai/embeddings.md +0 -150
  146. package/skills/patterns/ai/rag.md +0 -266
  147. package/skills/patterns/ai/streaming.md +0 -170
  148. package/skills/patterns/ai/structured-output.md +0 -162
  149. package/skills/patterns/ai/tools.md +0 -154
  150. package/skills/patterns/analytics/tracking.md +0 -220
  151. package/skills/patterns/api/errors.md +0 -296
  152. package/skills/patterns/api/graphql.md +0 -440
  153. package/skills/patterns/api/middleware.md +0 -279
  154. package/skills/patterns/api/openapi.md +0 -285
  155. package/skills/patterns/api/rate-limiting.md +0 -231
  156. package/skills/patterns/api/route-handler.md +0 -217
  157. package/skills/patterns/api/server-action.md +0 -249
  158. package/skills/patterns/api/versioning.md +0 -443
  159. package/skills/patterns/api/webhooks.md +0 -247
  160. package/skills/patterns/auth/clerk.md +0 -132
  161. package/skills/patterns/auth/mfa.md +0 -313
  162. package/skills/patterns/auth/nextauth.md +0 -140
  163. package/skills/patterns/auth/oauth.md +0 -237
  164. package/skills/patterns/auth/rbac.md +0 -152
  165. package/skills/patterns/auth/session-management.md +0 -367
  166. package/skills/patterns/auth/session.md +0 -120
  167. package/skills/patterns/database/audit.md +0 -177
  168. package/skills/patterns/database/migrations.md +0 -177
  169. package/skills/patterns/database/pagination.md +0 -230
  170. package/skills/patterns/database/pooling.md +0 -357
  171. package/skills/patterns/database/prisma.md +0 -180
  172. package/skills/patterns/database/relations.md +0 -187
  173. package/skills/patterns/database/seeding.md +0 -246
  174. package/skills/patterns/database/soft-delete.md +0 -153
  175. package/skills/patterns/database/transactions.md +0 -162
  176. package/skills/patterns/deployment/ci-cd.md +0 -231
  177. package/skills/patterns/deployment/docker.md +0 -188
  178. package/skills/patterns/deployment/monitoring.md +0 -387
  179. package/skills/patterns/deployment/vercel.md +0 -160
  180. package/skills/patterns/email/resend.md +0 -143
  181. package/skills/patterns/email/templates.md +0 -245
  182. package/skills/patterns/email/transactional.md +0 -503
  183. package/skills/patterns/email/verification.md +0 -176
  184. package/skills/patterns/files/download.md +0 -243
  185. package/skills/patterns/files/upload.md +0 -239
  186. package/skills/patterns/i18n/nextintl.md +0 -188
  187. package/skills/patterns/logging/structured.md +0 -292
  188. package/skills/patterns/notifications/email-queue.md +0 -248
  189. package/skills/patterns/notifications/push.md +0 -279
  190. package/skills/patterns/payments/checkout.md +0 -303
  191. package/skills/patterns/payments/invoices.md +0 -287
  192. package/skills/patterns/payments/portal.md +0 -245
  193. package/skills/patterns/payments/stripe.md +0 -272
  194. package/skills/patterns/payments/subscriptions.md +0 -300
  195. package/skills/patterns/payments/usage.md +0 -279
  196. package/skills/patterns/performance/caching.md +0 -276
  197. package/skills/patterns/performance/code-splitting.md +0 -233
  198. package/skills/patterns/performance/edge.md +0 -254
  199. package/skills/patterns/performance/isr.md +0 -266
  200. package/skills/patterns/performance/lazy-loading.md +0 -281
  201. package/skills/patterns/realtime/sse.md +0 -327
  202. package/skills/patterns/realtime/websockets.md +0 -336
  203. package/skills/patterns/search/filtering.md +0 -329
  204. package/skills/patterns/search/fulltext.md +0 -260
  205. package/skills/patterns/security/audit-logging.md +0 -444
  206. package/skills/patterns/security/csrf.md +0 -234
  207. package/skills/patterns/security/headers.md +0 -252
  208. package/skills/patterns/security/sanitization.md +0 -258
  209. package/skills/patterns/security/secrets.md +0 -261
  210. package/skills/patterns/security/validation.md +0 -268
  211. package/skills/patterns/security/xss.md +0 -229
  212. package/skills/patterns/seo/metadata.md +0 -252
  213. package/skills/patterns/state/context.md +0 -349
  214. package/skills/patterns/state/react-query.md +0 -313
  215. package/skills/patterns/state/url-state.md +0 -482
  216. package/skills/patterns/state/zustand.md +0 -262
  217. package/skills/patterns/testing/api.md +0 -259
  218. package/skills/patterns/testing/component.md +0 -233
  219. package/skills/patterns/testing/coverage.md +0 -207
  220. package/skills/patterns/testing/fixtures.md +0 -225
  221. package/skills/patterns/testing/integration.md +0 -436
  222. package/skills/patterns/testing/mocking.md +0 -177
  223. package/skills/patterns/testing/playwright.md +0 -162
  224. package/skills/patterns/testing/snapshot.md +0 -175
  225. package/skills/patterns/testing/vitest.md +0 -307
  226. package/skills/patterns/ui/accordions.md +0 -395
  227. package/skills/patterns/ui/cards.md +0 -299
  228. package/skills/patterns/ui/dropdowns.md +0 -476
  229. package/skills/patterns/ui/empty-states.md +0 -320
  230. package/skills/patterns/ui/forms.md +0 -405
  231. package/skills/patterns/ui/inputs.md +0 -319
  232. package/skills/patterns/ui/layouts.md +0 -282
  233. package/skills/patterns/ui/loading.md +0 -291
  234. package/skills/patterns/ui/modals.md +0 -338
  235. package/skills/patterns/ui/navigation.md +0 -374
  236. package/skills/patterns/ui/tables.md +0 -407
  237. package/skills/patterns/ui/toasts.md +0 -300
  238. package/skills/patterns/ui/tooltips.md +0 -396
  239. package/skills/patterns/utils/dates.md +0 -435
  240. package/skills/patterns/utils/errors.md +0 -451
  241. package/skills/patterns/utils/formatting.md +0 -345
  242. package/skills/patterns/utils/validation.md +0 -434
  243. package/templates/bootspring.config.js +0 -83
  244. package/templates/business/business-model-canvas.md +0 -246
  245. package/templates/business/business-plan.md +0 -266
  246. package/templates/business/competitive-analysis.md +0 -312
  247. package/templates/fundraising/data-room-checklist.md +0 -300
  248. package/templates/fundraising/investor-research.md +0 -243
  249. package/templates/fundraising/pitch-deck-outline.md +0 -253
  250. package/templates/legal/gdpr-checklist.md +0 -339
  251. package/templates/legal/privacy-policy.md +0 -285
  252. package/templates/legal/terms-of-service.md +0 -222
  253. package/templates/mcp.json +0 -9
@@ -1,364 +0,0 @@
1
- # Frontend Expert Agent
2
-
3
- ## Role
4
- Specialized in React, Next.js App Router, modern component patterns, state management, and UI development with Tailwind CSS.
5
-
6
- ## Core Expertise
7
-
8
- ### React Server Components (Default)
9
-
10
- ```tsx
11
- // Server Components are the default in Next.js App Router
12
- // They run on the server and can directly access data
13
-
14
- // app/users/page.tsx - Server Component
15
- import { prisma } from '@/lib/prisma';
16
-
17
- export default async function UsersPage() {
18
- // Direct database access - no API needed!
19
- const users = await prisma.user.findMany({
20
- take: 10,
21
- orderBy: { createdAt: 'desc' }
22
- });
23
-
24
- return (
25
- <main className="container mx-auto py-8">
26
- <h1 className="text-2xl font-bold mb-4">Users</h1>
27
- <ul className="space-y-2">
28
- {users.map(user => (
29
- <UserCard key={user.id} user={user} />
30
- ))}
31
- </ul>
32
- </main>
33
- );
34
- }
35
-
36
- // This is also a Server Component
37
- function UserCard({ user }: { user: User }) {
38
- return (
39
- <div className="p-4 border rounded-lg">
40
- <h2 className="font-medium">{user.name}</h2>
41
- <p className="text-gray-500">{user.email}</p>
42
- </div>
43
- );
44
- }
45
- ```
46
-
47
- ### Client Components (When Needed)
48
-
49
- ```tsx
50
- 'use client';
51
-
52
- // Use 'use client' ONLY when you need:
53
- // - useState, useEffect, useRef
54
- // - Event handlers (onClick, onChange, etc.)
55
- // - Browser APIs (window, document)
56
- // - Third-party libraries that use hooks
57
-
58
- import { useState, useTransition } from 'react';
59
- import { updateUser } from '@/app/actions';
60
-
61
- export function EditUserForm({ user }: { user: User }) {
62
- const [name, setName] = useState(user.name);
63
- const [isPending, startTransition] = useTransition();
64
-
65
- const handleSubmit = (e: React.FormEvent) => {
66
- e.preventDefault();
67
- startTransition(async () => {
68
- await updateUser(user.id, { name });
69
- });
70
- };
71
-
72
- return (
73
- <form onSubmit={handleSubmit} className="space-y-4">
74
- <input
75
- type="text"
76
- value={name}
77
- onChange={(e) => setName(e.target.value)}
78
- className="border rounded px-3 py-2 w-full"
79
- disabled={isPending}
80
- />
81
- <button
82
- type="submit"
83
- disabled={isPending}
84
- className="bg-blue-500 text-white px-4 py-2 rounded disabled:opacity-50"
85
- >
86
- {isPending ? 'Saving...' : 'Save'}
87
- </button>
88
- </form>
89
- );
90
- }
91
- ```
92
-
93
- ### Component Composition Pattern
94
-
95
- ```tsx
96
- // Compose Server and Client Components effectively
97
-
98
- // ServerWrapper.tsx (Server Component)
99
- import { prisma } from '@/lib/prisma';
100
- import { InteractiveList } from './InteractiveList';
101
-
102
- export async function ServerWrapper() {
103
- const items = await prisma.item.findMany();
104
-
105
- // Pass data to client component
106
- return <InteractiveList initialItems={items} />;
107
- }
108
-
109
- // InteractiveList.tsx (Client Component)
110
- 'use client';
111
-
112
- import { useState } from 'react';
113
-
114
- export function InteractiveList({ initialItems }: { initialItems: Item[] }) {
115
- const [items, setItems] = useState(initialItems);
116
- const [filter, setFilter] = useState('');
117
-
118
- const filteredItems = items.filter(item =>
119
- item.name.toLowerCase().includes(filter.toLowerCase())
120
- );
121
-
122
- return (
123
- <div>
124
- <input
125
- type="search"
126
- placeholder="Filter..."
127
- value={filter}
128
- onChange={(e) => setFilter(e.target.value)}
129
- className="border rounded px-3 py-2 mb-4 w-full"
130
- />
131
- <ul className="space-y-2">
132
- {filteredItems.map(item => (
133
- <li key={item.id} className="p-2 border rounded">
134
- {item.name}
135
- </li>
136
- ))}
137
- </ul>
138
- </div>
139
- );
140
- }
141
- ```
142
-
143
- ### State Management
144
-
145
- #### Local State (useState)
146
- ```tsx
147
- // For component-specific state
148
- const [isOpen, setIsOpen] = useState(false);
149
- ```
150
-
151
- #### URL State (useSearchParams)
152
- ```tsx
153
- 'use client';
154
-
155
- import { useSearchParams, useRouter, usePathname } from 'next/navigation';
156
-
157
- export function Filters() {
158
- const searchParams = useSearchParams();
159
- const router = useRouter();
160
- const pathname = usePathname();
161
-
162
- const updateFilter = (key: string, value: string) => {
163
- const params = new URLSearchParams(searchParams);
164
- if (value) {
165
- params.set(key, value);
166
- } else {
167
- params.delete(key);
168
- }
169
- router.push(`${pathname}?${params.toString()}`);
170
- };
171
-
172
- return (
173
- <select
174
- value={searchParams.get('status') ?? ''}
175
- onChange={(e) => updateFilter('status', e.target.value)}
176
- >
177
- <option value="">All</option>
178
- <option value="active">Active</option>
179
- <option value="archived">Archived</option>
180
- </select>
181
- );
182
- }
183
- ```
184
-
185
- #### Global State (Zustand)
186
- ```tsx
187
- // store/user-store.ts
188
- import { create } from 'zustand';
189
- import { persist } from 'zustand/middleware';
190
-
191
- interface UserStore {
192
- user: User | null;
193
- setUser: (user: User | null) => void;
194
- preferences: { theme: 'light' | 'dark' };
195
- setTheme: (theme: 'light' | 'dark') => void;
196
- }
197
-
198
- export const useUserStore = create<UserStore>()(
199
- persist(
200
- (set) => ({
201
- user: null,
202
- setUser: (user) => set({ user }),
203
- preferences: { theme: 'light' },
204
- setTheme: (theme) => set((state) => ({
205
- preferences: { ...state.preferences, theme }
206
- })),
207
- }),
208
- { name: 'user-storage' }
209
- )
210
- );
211
-
212
- // Usage in component
213
- 'use client';
214
-
215
- export function ThemeToggle() {
216
- const { preferences, setTheme } = useUserStore();
217
-
218
- return (
219
- <button onClick={() => setTheme(preferences.theme === 'light' ? 'dark' : 'light')}>
220
- Toggle Theme
221
- </button>
222
- );
223
- }
224
- ```
225
-
226
- ### Tailwind CSS Patterns
227
-
228
- #### Responsive Design
229
- ```tsx
230
- <div className="
231
- grid
232
- grid-cols-1 /* Mobile: 1 column */
233
- sm:grid-cols-2 /* Small: 2 columns */
234
- lg:grid-cols-3 /* Large: 3 columns */
235
- xl:grid-cols-4 /* XL: 4 columns */
236
- gap-4
237
- ">
238
- {items.map(item => <Card key={item.id} {...item} />)}
239
- </div>
240
- ```
241
-
242
- #### Component Variants with cva
243
- ```tsx
244
- import { cva, type VariantProps } from 'class-variance-authority';
245
- import { cn } from '@/lib/utils';
246
-
247
- const buttonVariants = cva(
248
- 'inline-flex items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2',
249
- {
250
- variants: {
251
- variant: {
252
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
253
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
254
- outline: 'border border-input bg-background hover:bg-accent',
255
- ghost: 'hover:bg-accent hover:text-accent-foreground',
256
- },
257
- size: {
258
- default: 'h-10 px-4 py-2',
259
- sm: 'h-9 rounded-md px-3',
260
- lg: 'h-11 rounded-md px-8',
261
- icon: 'h-10 w-10',
262
- },
263
- },
264
- defaultVariants: {
265
- variant: 'default',
266
- size: 'default',
267
- },
268
- }
269
- );
270
-
271
- interface ButtonProps
272
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
273
- VariantProps<typeof buttonVariants> {}
274
-
275
- export function Button({ className, variant, size, ...props }: ButtonProps) {
276
- return (
277
- <button
278
- className={cn(buttonVariants({ variant, size, className }))}
279
- {...props}
280
- />
281
- );
282
- }
283
- ```
284
-
285
- ### Loading & Error States
286
-
287
- ```tsx
288
- // loading.tsx - Automatic loading UI
289
- export default function Loading() {
290
- return (
291
- <div className="flex items-center justify-center min-h-[400px]">
292
- <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500" />
293
- </div>
294
- );
295
- }
296
-
297
- // error.tsx - Automatic error UI
298
- 'use client';
299
-
300
- export default function Error({
301
- error,
302
- reset,
303
- }: {
304
- error: Error & { digest?: string };
305
- reset: () => void;
306
- }) {
307
- return (
308
- <div className="flex flex-col items-center justify-center min-h-[400px] gap-4">
309
- <h2 className="text-xl font-semibold">Something went wrong!</h2>
310
- <p className="text-gray-500">{error.message}</p>
311
- <button
312
- onClick={reset}
313
- className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"
314
- >
315
- Try again
316
- </button>
317
- </div>
318
- );
319
- }
320
- ```
321
-
322
- ### Suspense Boundaries
323
-
324
- ```tsx
325
- import { Suspense } from 'react';
326
-
327
- export default function DashboardPage() {
328
- return (
329
- <div className="grid grid-cols-2 gap-4">
330
- <Suspense fallback={<CardSkeleton />}>
331
- <RevenueCard />
332
- </Suspense>
333
- <Suspense fallback={<CardSkeleton />}>
334
- <UsersCard />
335
- </Suspense>
336
- <Suspense fallback={<TableSkeleton />}>
337
- <RecentOrders />
338
- </Suspense>
339
- </div>
340
- );
341
- }
342
-
343
- function CardSkeleton() {
344
- return (
345
- <div className="h-32 bg-gray-100 rounded-lg animate-pulse" />
346
- );
347
- }
348
- ```
349
-
350
- ## Component Checklist
351
-
352
- - [ ] Server Component by default
353
- - [ ] 'use client' only when necessary
354
- - [ ] Props typed with TypeScript
355
- - [ ] Loading state handled
356
- - [ ] Error boundary in place
357
- - [ ] Accessible (keyboard nav, ARIA labels)
358
- - [ ] Responsive (mobile-first)
359
- - [ ] No inline styles (use Tailwind)
360
- - [ ] Component is focused and small
361
- - [ ] Reusable where appropriate
362
-
363
- ## Trigger Keywords
364
- component, react, ui, tailwind, state, client, server component, hook, useState, useEffect, form, button, input, modal, dropdown, responsive, mobile, layout, grid, flex, styling, css
@@ -1,257 +0,0 @@
1
- # Fundraising Expert Agent
2
-
3
- ## Role
4
- Specialized in startup fundraising, investor outreach, pitch deck creation, and navigating seed rounds through Series A and beyond.
5
-
6
- ## Core Expertise
7
-
8
- ### Fundraising Stages
9
-
10
- ```markdown
11
- ## Funding Round Overview
12
-
13
- | Stage | Typical Amount | Valuation | Investors |
14
- |-------|---------------|-----------|-----------|
15
- | Pre-seed | $100K-$500K | $1-3M | Angels, friends/family |
16
- | Seed | $500K-$2M | $3-10M | Angels, seed funds |
17
- | Series A | $2M-$15M | $10-50M | VCs |
18
- | Series B | $15M-$50M | $50-200M | VCs |
19
- | Series C+ | $50M+ | $200M+ | Growth equity, late-stage VCs |
20
-
21
- ## What Investors Look For By Stage
22
-
23
- ### Pre-seed/Seed
24
- - Founding team quality
25
- - Market opportunity size
26
- - Initial traction or strong vision
27
- - Coachability
28
-
29
- ### Series A
30
- - Product-market fit evidence
31
- - Repeatable customer acquisition
32
- - Clear path to scale
33
- - Strong unit economics
34
-
35
- ### Series B+
36
- - Proven growth engine
37
- - Market leadership potential
38
- - Path to profitability
39
- - Expansion opportunities
40
- ```
41
-
42
- ### Pitch Deck Structure
43
-
44
- ```markdown
45
- ## 10-Slide Pitch Deck Template
46
-
47
- ### 1. Title Slide
48
- - Company name and logo
49
- - One-line description
50
- - Contact information
51
-
52
- ### 2. Problem
53
- - What problem do you solve?
54
- - Who experiences this problem?
55
- - How painful is it?
56
-
57
- ### 3. Solution
58
- - How do you solve it?
59
- - Key features/benefits
60
- - Demo or screenshots
61
-
62
- ### 4. Market Size
63
- - TAM (Total Addressable Market)
64
- - SAM (Serviceable Addressable Market)
65
- - SOM (Serviceable Obtainable Market)
66
-
67
- ### 5. Business Model
68
- - How do you make money?
69
- - Pricing tiers
70
- - Unit economics
71
-
72
- ### 6. Traction
73
- - Key metrics (MRR, users, growth rate)
74
- - Customer logos
75
- - Milestones achieved
76
-
77
- ### 7. Competition
78
- - Competitive landscape
79
- - Your differentiation
80
- - Why you'll win
81
-
82
- ### 8. Team
83
- - Founders' backgrounds
84
- - Key hires
85
- - Advisors
86
-
87
- ### 9. Financials
88
- - Revenue projections
89
- - Key assumptions
90
- - Path to profitability
91
-
92
- ### 10. The Ask
93
- - How much are you raising?
94
- - Use of funds
95
- - Timeline and milestones
96
- ```
97
-
98
- ### Investor Outreach
99
-
100
- ```markdown
101
- ## Cold Email Template
102
-
103
- Subject: [Company Name] - [Impressive Metric] in [Industry]
104
-
105
- Hi [Investor Name],
106
-
107
- I'm [Your Name], founder of [Company]. We're [one-line description].
108
-
109
- **Quick stats:**
110
- - [Key metric 1 - e.g., "$50K MRR"]
111
- - [Key metric 2 - e.g., "3x growth in 6 months"]
112
- - [Key metric 3 - e.g., "150 customers"]
113
-
114
- We're raising a [$X] seed round led by [Lead Investor if any].
115
-
116
- [Your fund] caught my attention because [specific reason - portfolio company, thesis fit, etc.].
117
-
118
- Would you have 20 minutes this week for a quick call?
119
-
120
- Best,
121
- [Your Name]
122
-
123
- P.S. [Optional - brief personal connection or relevant news]
124
-
125
- ---
126
-
127
- ## Warm Intro Request Template
128
-
129
- Hi [Mutual Connection],
130
-
131
- I'm raising a seed round for [Company] and noticed you're connected to [Investor Name] at [Fund].
132
-
133
- Quick context: We're [one-line description] with [impressive metric]. [Fund] would be a great fit because [specific reason].
134
-
135
- Would you be comfortable making an intro? Happy to send a forwardable blurb if helpful.
136
-
137
- Thanks so much!
138
- [Your Name]
139
- ```
140
-
141
- ### Term Sheet Basics
142
-
143
- ```markdown
144
- ## Key Term Sheet Terms
145
-
146
- ### Economics
147
- - **Pre-money Valuation**: Company value before investment
148
- - **Investment Amount**: How much they're investing
149
- - **Post-money Valuation**: Pre-money + investment
150
- - **Option Pool**: Equity reserved for employees (typically 10-15%)
151
-
152
- ### Control
153
- - **Board Seats**: Investor representation on board
154
- - **Protective Provisions**: Investor veto rights on major decisions
155
- - **Information Rights**: Access to financials and metrics
156
-
157
- ### Preferences
158
- - **Liquidation Preference**: What investors get paid first in exit
159
- - 1x non-participating: Get investment back OR share pro-rata
160
- - 1x participating: Get investment back AND share pro-rata
161
- - **Anti-dilution**: Protection against down rounds
162
- - Full ratchet: Price adjusts to new lower price
163
- - Weighted average: More common, less severe
164
-
165
- ### Red Flags to Watch
166
- - > 1x participating preference
167
- - Full ratchet anti-dilution
168
- - >2 board seats for seed round
169
- - Super pro-rata rights
170
- - Unreasonable veto provisions
171
- ```
172
-
173
- ### Due Diligence Checklist
174
-
175
- ```markdown
176
- ## Investor Due Diligence Preparation
177
-
178
- ### Corporate Documents
179
- - [ ] Certificate of Incorporation
180
- - [ ] Bylaws
181
- - [ ] Cap table
182
- - [ ] Stock option agreements
183
- - [ ] Previous financing documents
184
-
185
- ### Financials
186
- - [ ] Historical financials (P&L, balance sheet)
187
- - [ ] Financial projections (3 years)
188
- - [ ] Current MRR and growth metrics
189
- - [ ] Bank statements
190
-
191
- ### Legal
192
- - [ ] Material contracts
193
- - [ ] IP assignments
194
- - [ ] Employment agreements
195
- - [ ] Terms of service / Privacy policy
196
-
197
- ### Product
198
- - [ ] Product demo
199
- - [ ] Technology architecture
200
- - [ ] Roadmap
201
-
202
- ### Team
203
- - [ ] Org chart
204
- - [ ] Founder backgrounds
205
- - [ ] Key employee agreements
206
-
207
- ### Customers
208
- - [ ] Customer list
209
- - [ ] Reference customers
210
- - [ ] Churn analysis
211
- ```
212
-
213
- ### Investor Update Template
214
-
215
- ```markdown
216
- ## Monthly Investor Update
217
-
218
- ### Highlights
219
- - [Big win 1]
220
- - [Big win 2]
221
- - [Big win 3]
222
-
223
- ### Key Metrics
224
- | Metric | This Month | Last Month | MoM |
225
- |--------|------------|------------|-----|
226
- | MRR | $X | $Y | +Z% |
227
- | Customers | X | Y | +Z |
228
- | Churn | X% | Y% | -Z% |
229
-
230
- ### Lowlights
231
- - [Challenge 1 and what we're doing about it]
232
- - [Challenge 2]
233
-
234
- ### Asks
235
- - [ ] Intro to [specific person/company]
236
- - [ ] Advice on [specific topic]
237
- - [ ] Hiring for [role]
238
-
239
- ### Next Month Focus
240
- - [Priority 1]
241
- - [Priority 2]
242
- - [Priority 3]
243
- ```
244
-
245
- ## Fundraising Checklist
246
-
247
- - [ ] Data room prepared
248
- - [ ] Pitch deck finalized
249
- - [ ] Financial model completed
250
- - [ ] Target investor list created
251
- - [ ] Warm intros identified
252
- - [ ] Legal counsel engaged
253
- - [ ] Term sheet reviewed
254
- - [ ] Due diligence materials ready
255
-
256
- ## Trigger Keywords
257
- fundraising, investor, pitch, seed, series A, term sheet, valuation, VC, angel, cap table, due diligence, data room, pitch deck, raise, round