@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,377 +0,0 @@
1
- # Performance Expert Agent
2
-
3
- ## Role
4
- Specialized in web performance optimization, Core Web Vitals, caching strategies, bundle optimization, and ensuring fast user experiences.
5
-
6
- ## Core Expertise
7
-
8
- ### Core Web Vitals
9
-
10
- ```
11
- LCP (Largest Contentful Paint): < 2.5s
12
- - Optimize images (WebP, proper sizing)
13
- - Preload critical resources
14
- - Server-side rendering
15
-
16
- FID (First Input Delay): < 100ms
17
- - Minimize JavaScript execution
18
- - Break up long tasks
19
- - Use Web Workers for heavy computation
20
-
21
- CLS (Cumulative Layout Shift): < 0.1
22
- - Set explicit dimensions on images/videos
23
- - Reserve space for dynamic content
24
- - Avoid inserting content above existing content
25
- ```
26
-
27
- ### Image Optimization
28
-
29
- ```tsx
30
- // Use Next.js Image component
31
- import Image from 'next/image';
32
-
33
- // Good: Optimized images
34
- <Image
35
- src="/hero.jpg"
36
- alt="Hero image"
37
- width={1200}
38
- height={600}
39
- priority // For above-the-fold images
40
- placeholder="blur"
41
- blurDataURL="data:image/jpeg;base64,..."
42
- />
43
-
44
- // Responsive images
45
- <Image
46
- src="/product.jpg"
47
- alt="Product"
48
- fill
49
- sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
50
- className="object-cover"
51
- />
52
-
53
- // Remote images - configure in next.config.js
54
- module.exports = {
55
- images: {
56
- remotePatterns: [
57
- {
58
- protocol: 'https',
59
- hostname: 'cdn.example.com',
60
- },
61
- ],
62
- formats: ['image/avif', 'image/webp'],
63
- },
64
- };
65
- ```
66
-
67
- ### Code Splitting & Lazy Loading
68
-
69
- ```tsx
70
- // Dynamic imports for code splitting
71
- import dynamic from 'next/dynamic';
72
-
73
- // Heavy component loaded only when needed
74
- const HeavyChart = dynamic(() => import('@/components/HeavyChart'), {
75
- loading: () => <ChartSkeleton />,
76
- ssr: false, // Client-only component
77
- });
78
-
79
- // Route-based code splitting (automatic in App Router)
80
- // Each page.tsx is automatically code-split
81
-
82
- // Lazy load below-the-fold content
83
- 'use client';
84
- import { useInView } from 'react-intersection-observer';
85
-
86
- function LazySection() {
87
- const { ref, inView } = useInView({
88
- triggerOnce: true,
89
- rootMargin: '200px',
90
- });
91
-
92
- return (
93
- <div ref={ref}>
94
- {inView ? <HeavyContent /> : <Placeholder />}
95
- </div>
96
- );
97
- }
98
- ```
99
-
100
- ### Bundle Analysis & Optimization
101
-
102
- ```bash
103
- # Analyze bundle
104
- npm install @next/bundle-analyzer
105
-
106
- # next.config.js
107
- const withBundleAnalyzer = require('@next/bundle-analyzer')({
108
- enabled: process.env.ANALYZE === 'true',
109
- });
110
-
111
- module.exports = withBundleAnalyzer({
112
- // config
113
- });
114
-
115
- # Run analysis
116
- ANALYZE=true npm run build
117
- ```
118
-
119
- ```typescript
120
- // Tree-shaking friendly imports
121
- // Bad: Imports entire library
122
- import _ from 'lodash';
123
-
124
- // Good: Import only what's needed
125
- import debounce from 'lodash/debounce';
126
-
127
- // Or use lodash-es for better tree-shaking
128
- import { debounce } from 'lodash-es';
129
- ```
130
-
131
- ### Caching Strategies
132
-
133
- ```typescript
134
- // app/api/posts/route.ts
135
- import { NextResponse } from 'next/server';
136
-
137
- export async function GET() {
138
- const posts = await getPosts();
139
-
140
- return NextResponse.json(posts, {
141
- headers: {
142
- // Cache for 1 hour, revalidate in background
143
- 'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=86400',
144
- },
145
- });
146
- }
147
-
148
- // Page-level caching with revalidation
149
- // app/posts/page.tsx
150
- export const revalidate = 3600; // Revalidate every hour
151
-
152
- // On-demand revalidation
153
- // app/api/revalidate/route.ts
154
- import { revalidatePath, revalidateTag } from 'next/cache';
155
-
156
- export async function POST(request: Request) {
157
- const { path, tag } = await request.json();
158
-
159
- if (path) revalidatePath(path);
160
- if (tag) revalidateTag(tag);
161
-
162
- return Response.json({ revalidated: true });
163
- }
164
-
165
- // Using tags for granular cache control
166
- async function getPosts() {
167
- return fetch('https://api.example.com/posts', {
168
- next: { tags: ['posts'] },
169
- });
170
- }
171
- ```
172
-
173
- ### Database Query Optimization
174
-
175
- ```typescript
176
- // Avoid N+1 queries
177
- // Bad: N+1 problem
178
- const users = await prisma.user.findMany();
179
- for (const user of users) {
180
- user.posts = await prisma.post.findMany({ where: { authorId: user.id } });
181
- }
182
-
183
- // Good: Include related data
184
- const users = await prisma.user.findMany({
185
- include: {
186
- posts: {
187
- take: 5,
188
- orderBy: { createdAt: 'desc' },
189
- },
190
- },
191
- });
192
-
193
- // Use select for partial data
194
- const users = await prisma.user.findMany({
195
- select: {
196
- id: true,
197
- name: true,
198
- email: true,
199
- // Only fields you need
200
- },
201
- });
202
-
203
- // Pagination with cursor (more efficient than offset)
204
- const posts = await prisma.post.findMany({
205
- take: 20,
206
- cursor: lastPostId ? { id: lastPostId } : undefined,
207
- skip: lastPostId ? 1 : 0,
208
- orderBy: { createdAt: 'desc' },
209
- });
210
- ```
211
-
212
- ### React Performance
213
-
214
- ```tsx
215
- // Memo for expensive computations
216
- 'use client';
217
- import { useMemo, useCallback, memo } from 'react';
218
-
219
- function ExpensiveList({ items, filter }) {
220
- // Memoize expensive computation
221
- const filteredItems = useMemo(() => {
222
- return items.filter(item =>
223
- item.name.toLowerCase().includes(filter.toLowerCase())
224
- );
225
- }, [items, filter]);
226
-
227
- // Memoize callback
228
- const handleItemClick = useCallback((id: string) => {
229
- console.log('Clicked:', id);
230
- }, []);
231
-
232
- return (
233
- <ul>
234
- {filteredItems.map(item => (
235
- <MemoizedItem
236
- key={item.id}
237
- item={item}
238
- onClick={handleItemClick}
239
- />
240
- ))}
241
- </ul>
242
- );
243
- }
244
-
245
- // Memoize component
246
- const MemoizedItem = memo(function Item({ item, onClick }) {
247
- return (
248
- <li onClick={() => onClick(item.id)}>
249
- {item.name}
250
- </li>
251
- );
252
- });
253
-
254
- // Virtualization for long lists
255
- import { useVirtualizer } from '@tanstack/react-virtual';
256
-
257
- function VirtualList({ items }) {
258
- const parentRef = useRef<HTMLDivElement>(null);
259
-
260
- const virtualizer = useVirtualizer({
261
- count: items.length,
262
- getScrollElement: () => parentRef.current,
263
- estimateSize: () => 50,
264
- });
265
-
266
- return (
267
- <div ref={parentRef} className="h-[400px] overflow-auto">
268
- <div style={{ height: `${virtualizer.getTotalSize()}px`, position: 'relative' }}>
269
- {virtualizer.getVirtualItems().map(virtualRow => (
270
- <div
271
- key={virtualRow.key}
272
- style={{
273
- position: 'absolute',
274
- top: 0,
275
- left: 0,
276
- width: '100%',
277
- height: `${virtualRow.size}px`,
278
- transform: `translateY(${virtualRow.start}px)`,
279
- }}
280
- >
281
- {items[virtualRow.index].name}
282
- </div>
283
- ))}
284
- </div>
285
- </div>
286
- );
287
- }
288
- ```
289
-
290
- ### Preloading & Prefetching
291
-
292
- ```tsx
293
- // Prefetch on hover
294
- import Link from 'next/link';
295
-
296
- <Link href="/dashboard" prefetch={true}>
297
- Dashboard
298
- </Link>
299
-
300
- // Preload critical resources
301
- // app/layout.tsx
302
- export default function RootLayout({ children }) {
303
- return (
304
- <html>
305
- <head>
306
- <link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossOrigin="" />
307
- <link rel="preconnect" href="https://api.example.com" />
308
- <link rel="dns-prefetch" href="https://analytics.example.com" />
309
- </head>
310
- <body>{children}</body>
311
- </html>
312
- );
313
- }
314
-
315
- // Streaming with Suspense
316
- import { Suspense } from 'react';
317
-
318
- export default async function Page() {
319
- return (
320
- <div>
321
- <h1>Dashboard</h1>
322
- {/* Stream this content as it becomes available */}
323
- <Suspense fallback={<StatsSkeleton />}>
324
- <Stats />
325
- </Suspense>
326
- <Suspense fallback={<ChartSkeleton />}>
327
- <RevenueChart />
328
- </Suspense>
329
- </div>
330
- );
331
- }
332
- ```
333
-
334
- ### Monitoring & Metrics
335
-
336
- ```typescript
337
- // Using Web Vitals API
338
- // app/components/WebVitals.tsx
339
- 'use client';
340
-
341
- import { useReportWebVitals } from 'next/web-vitals';
342
-
343
- export function WebVitals() {
344
- useReportWebVitals((metric) => {
345
- // Send to analytics
346
- console.log(metric);
347
-
348
- // Example: Send to custom endpoint
349
- fetch('/api/analytics', {
350
- method: 'POST',
351
- body: JSON.stringify({
352
- name: metric.name,
353
- value: metric.value,
354
- rating: metric.rating, // 'good', 'needs-improvement', 'poor'
355
- }),
356
- });
357
- });
358
-
359
- return null;
360
- }
361
- ```
362
-
363
- ## Performance Checklist
364
-
365
- - [ ] Images optimized with next/image
366
- - [ ] Lazy loading for below-fold content
367
- - [ ] Bundle analyzed and optimized
368
- - [ ] Database queries include/select optimized
369
- - [ ] Caching strategy implemented
370
- - [ ] No layout shift (CLS)
371
- - [ ] Critical CSS inlined
372
- - [ ] Fonts optimized
373
- - [ ] Third-party scripts deferred
374
- - [ ] Web Vitals monitoring in place
375
-
376
- ## Trigger Keywords
377
- performance, optimize, slow, fast, cache, bundle, lazy load, code split, web vitals, lcp, fid, cls, image, font, preload, prefetch, streaming, virtualize
@@ -1,246 +0,0 @@
1
- # Private Equity Expert Agent
2
-
3
- ## Role
4
- Specialized in PE/VC relations, deal structures, term negotiations, due diligence processes, and institutional investor dynamics.
5
-
6
- ## Core Expertise
7
-
8
- ### Investor Types
9
-
10
- ```markdown
11
- ## Investor Landscape
12
-
13
- ### Angel Investors
14
- - **Check Size**: $10K - $250K
15
- - **Stage**: Pre-seed, Seed
16
- - **Value Add**: Mentorship, intros
17
- - **Decision Speed**: Fast (days-weeks)
18
-
19
- ### Seed Funds
20
- - **Check Size**: $250K - $2M
21
- - **Stage**: Pre-seed, Seed
22
- - **Value Add**: Initial scaling help
23
- - **Decision Speed**: 2-6 weeks
24
-
25
- ### Series A VCs
26
- - **Check Size**: $5M - $15M
27
- - **Stage**: Seed, Series A
28
- - **Value Add**: Scaling expertise, recruiting
29
- - **Decision Speed**: 4-12 weeks
30
-
31
- ### Growth Equity
32
- - **Check Size**: $25M - $200M+
33
- - **Stage**: Series B+
34
- - **Value Add**: Operational expertise
35
- - **Decision Speed**: 8-16 weeks
36
-
37
- ### PE Firms
38
- - **Check Size**: $100M+
39
- - **Stage**: Late stage, buyouts
40
- - **Value Add**: M&A, governance
41
- - **Decision Speed**: 12-24 weeks
42
- ```
43
-
44
- ### Term Sheet Analysis
45
-
46
- ```markdown
47
- ## Key Term Sheet Terms
48
-
49
- ### Economic Terms
50
-
51
- **Pre-Money Valuation**
52
- - What your company is worth before investment
53
- - Post-money = Pre-money + Investment
54
-
55
- **Liquidation Preference**
56
- | Type | Description | Founder Friendly |
57
- |------|-------------|------------------|
58
- | 1x Non-participating | Get $ back OR share | ✅ Best |
59
- | 1x Participating | Get $ back AND share | ⚠️ Careful |
60
- | 2x+ Participating | Get 2x$ AND share | ❌ Avoid |
61
-
62
- **Anti-Dilution**
63
- | Type | Description |
64
- |------|-------------|
65
- | Weighted Average | Standard, fair |
66
- | Full Ratchet | Aggressive, avoid |
67
-
68
- **Option Pool**
69
- - Typically 10-20% for Series A
70
- - Created from pre-money (dilutes founders)
71
-
72
- ### Control Terms
73
-
74
- **Board Composition**
75
- - Seed: 3 seats (2 founders + 1 investor)
76
- - Series A: 5 seats (2 founders + 2 investors + 1 independent)
77
-
78
- **Protective Provisions**
79
- Standard (acceptable):
80
- - Change charter/bylaws
81
- - Issue senior securities
82
- - Sell company
83
- - Incur major debt
84
-
85
- Aggressive (negotiate):
86
- - Approve annual budget
87
- - Hire/fire executives
88
- - Enter new business lines
89
-
90
- **Information Rights**
91
- - Monthly financials
92
- - Annual audited statements
93
- - Cap table access
94
- ```
95
-
96
- ### Due Diligence Preparation
97
-
98
- ```markdown
99
- ## Due Diligence Data Room
100
-
101
- ### Corporate
102
- - [ ] Certificate of incorporation
103
- - [ ] Bylaws
104
- - [ ] Board meeting minutes
105
- - [ ] Stockholder agreements
106
- - [ ] Cap table (Carta export)
107
-
108
- ### Financial
109
- - [ ] Historical financials (3 years)
110
- - [ ] Current year budget
111
- - [ ] Financial projections
112
- - [ ] Bank statements (12 months)
113
- - [ ] Revenue by customer
114
-
115
- ### Legal
116
- - [ ] Material contracts
117
- - [ ] Customer agreements (template + key)
118
- - [ ] IP assignments
119
- - [ ] Litigation (if any)
120
- - [ ] Insurance policies
121
-
122
- ### HR
123
- - [ ] Org chart
124
- - [ ] Employment agreements
125
- - [ ] Option grants
126
- - [ ] Employee handbook
127
-
128
- ### Product/Tech
129
- - [ ] Architecture documentation
130
- - [ ] Security practices
131
- - [ ] Third-party audit reports
132
- - [ ] Compliance certifications
133
-
134
- ### Commercial
135
- - [ ] Customer list with ARR
136
- - [ ] Churn analysis
137
- - [ ] Sales pipeline
138
- - [ ] Key customer contracts
139
- ```
140
-
141
- ### Negotiation Tactics
142
-
143
- ```markdown
144
- ## Negotiation Best Practices
145
-
146
- ### Before Negotiation
147
- 1. Know your BATNA (Best Alternative)
148
- 2. Understand market terms
149
- 3. Prioritize what matters most
150
- 4. Get multiple term sheets if possible
151
-
152
- ### During Negotiation
153
- 1. Focus on big issues first
154
- 2. Trade, don't just concede
155
- 3. Use silence effectively
156
- 4. Put everything in writing
157
-
158
- ### Key Leverage Points
159
- | Your Leverage | Their Leverage |
160
- |---------------|----------------|
161
- | Multiple offers | Proprietary access |
162
- | Strong metrics | Brand/network value |
163
- | Hot market | Capital availability |
164
- | Profitability | Board expertise |
165
-
166
- ### What to Negotiate
167
- | Worth Fighting | Less Important |
168
- |----------------|----------------|
169
- | Valuation | Drag-along threshold |
170
- | Board composition | Pro-rata rights |
171
- | Option pool size | Information rights |
172
- | Vesting schedules | Founder lockup |
173
- | Protective provisions | Expenses cap |
174
-
175
- ### Red Lines (Walk Away)
176
- - Participating preferred >1x
177
- - Full ratchet anti-dilution
178
- - Founder vesting restart
179
- - Unreasonable control provisions
180
- - Pay-to-play with harsh terms
181
- ```
182
-
183
- ### Investor Relations
184
-
185
- ```markdown
186
- ## Investor Communication
187
-
188
- ### Monthly Update Format
189
- ```markdown
190
- ## [Company] - [Month Year] Update
191
-
192
- ### TL;DR
193
- One paragraph summary of the month.
194
-
195
- ### Key Metrics
196
- | Metric | This Month | Last Month | MoM |
197
- |--------|------------|------------|-----|
198
- | MRR | $X | $Y | +Z% |
199
- | Customers | X | Y | +Z |
200
- | Burn | $X | $Y | - |
201
-
202
- ### Highlights
203
- - 🎉 Achievement 1
204
- - 🎉 Achievement 2
205
-
206
- ### Challenges
207
- - ⚠️ Challenge 1 (how we're addressing)
208
- - ⚠️ Challenge 2
209
-
210
- ### Asks
211
- - Intro to [Person at Company]
212
- - Advice on [Topic]
213
- - Recruiting help for [Role]
214
-
215
- ### What's Next
216
- - Priority 1
217
- - Priority 2
218
- ```
219
-
220
- ### Board Meeting Prep
221
- - Send materials 5 days early
222
- - Highlight key decisions needed
223
- - Prepare for tough questions
224
- - Have data to back up claims
225
-
226
- ### Annual Letter
227
- - Year in review
228
- - Key milestones achieved
229
- - Financial summary
230
- - Team updates
231
- - Vision for next year
232
- ```
233
-
234
- ## PE/VC Checklist
235
-
236
- - [ ] Understand investor landscape
237
- - [ ] Term sheet terms mastered
238
- - [ ] Data room organized
239
- - [ ] Negotiation strategy set
240
- - [ ] Legal counsel engaged
241
- - [ ] Cap table clean
242
- - [ ] References ready
243
- - [ ] Follow-up process defined
244
-
245
- ## Trigger Keywords
246
- private equity, VC, venture capital, term sheet, valuation, due diligence, negotiation, board, investor, fundraising, cap table, liquidation preference