ai-flow-dev 2.7.0 → 2.8.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.
Files changed (171) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +573 -570
  3. package/package.json +74 -74
  4. package/prompts/backend/flow-build-phase-0.md +535 -535
  5. package/prompts/backend/flow-build-phase-1.md +626 -626
  6. package/prompts/backend/flow-build-phase-10.md +340 -340
  7. package/prompts/backend/flow-build-phase-2.md +573 -573
  8. package/prompts/backend/flow-build-phase-3.md +834 -834
  9. package/prompts/backend/flow-build-phase-4.md +554 -554
  10. package/prompts/backend/flow-build-phase-5.md +703 -703
  11. package/prompts/backend/flow-build-phase-6.md +524 -524
  12. package/prompts/backend/flow-build-phase-7.md +1001 -1001
  13. package/prompts/backend/flow-build-phase-8.md +1407 -1407
  14. package/prompts/backend/flow-build-phase-9.md +477 -477
  15. package/prompts/backend/flow-build.md +137 -137
  16. package/prompts/backend/flow-check-review.md +656 -20
  17. package/prompts/backend/flow-check-test.md +526 -14
  18. package/prompts/backend/flow-check.md +725 -67
  19. package/prompts/backend/flow-commit.md +88 -119
  20. package/prompts/backend/flow-docs-sync.md +354 -354
  21. package/prompts/backend/flow-finish.md +919 -0
  22. package/prompts/backend/flow-release.md +949 -0
  23. package/prompts/backend/flow-work-feature.md +61 -61
  24. package/prompts/backend/flow-work-fix.md +46 -46
  25. package/prompts/backend/flow-work-refactor.md +48 -48
  26. package/prompts/backend/flow-work-resume.md +34 -34
  27. package/prompts/backend/flow-work.md +1098 -1286
  28. package/prompts/desktop/flow-build-phase-0.md +359 -359
  29. package/prompts/desktop/flow-build-phase-1.md +295 -295
  30. package/prompts/desktop/flow-build-phase-10.md +357 -357
  31. package/prompts/desktop/flow-build-phase-2.md +282 -282
  32. package/prompts/desktop/flow-build-phase-3.md +291 -291
  33. package/prompts/desktop/flow-build-phase-4.md +308 -308
  34. package/prompts/desktop/flow-build-phase-5.md +269 -269
  35. package/prompts/desktop/flow-build-phase-6.md +350 -350
  36. package/prompts/desktop/flow-build-phase-7.md +297 -297
  37. package/prompts/desktop/flow-build-phase-8.md +541 -541
  38. package/prompts/desktop/flow-build-phase-9.md +439 -439
  39. package/prompts/desktop/flow-build.md +156 -156
  40. package/prompts/desktop/flow-check-review.md +656 -20
  41. package/prompts/desktop/flow-check-test.md +526 -14
  42. package/prompts/desktop/flow-check.md +725 -67
  43. package/prompts/desktop/flow-commit.md +88 -119
  44. package/prompts/desktop/flow-docs-sync.md +354 -354
  45. package/prompts/desktop/flow-finish.md +910 -0
  46. package/prompts/desktop/flow-release.md +662 -0
  47. package/prompts/desktop/flow-work-feature.md +61 -61
  48. package/prompts/desktop/flow-work-fix.md +46 -46
  49. package/prompts/desktop/flow-work-refactor.md +48 -48
  50. package/prompts/desktop/flow-work-resume.md +34 -34
  51. package/prompts/desktop/flow-work.md +1202 -1390
  52. package/prompts/frontend/flow-build-phase-0.md +425 -425
  53. package/prompts/frontend/flow-build-phase-1.md +626 -626
  54. package/prompts/frontend/flow-build-phase-10.md +33 -33
  55. package/prompts/frontend/flow-build-phase-2.md +573 -573
  56. package/prompts/frontend/flow-build-phase-3.md +782 -782
  57. package/prompts/frontend/flow-build-phase-4.md +554 -554
  58. package/prompts/frontend/flow-build-phase-5.md +703 -703
  59. package/prompts/frontend/flow-build-phase-6.md +524 -524
  60. package/prompts/frontend/flow-build-phase-7.md +1001 -1001
  61. package/prompts/frontend/flow-build-phase-8.md +872 -872
  62. package/prompts/frontend/flow-build-phase-9.md +94 -94
  63. package/prompts/frontend/flow-build.md +137 -137
  64. package/prompts/frontend/flow-check-review.md +656 -20
  65. package/prompts/frontend/flow-check-test.md +526 -14
  66. package/prompts/frontend/flow-check.md +725 -67
  67. package/prompts/frontend/flow-commit.md +88 -119
  68. package/prompts/frontend/flow-docs-sync.md +550 -550
  69. package/prompts/frontend/flow-finish.md +910 -0
  70. package/prompts/frontend/flow-release.md +519 -0
  71. package/prompts/frontend/flow-work-api.md +1540 -0
  72. package/prompts/frontend/flow-work-feature.md +61 -61
  73. package/prompts/frontend/flow-work-fix.md +38 -38
  74. package/prompts/frontend/flow-work-refactor.md +48 -48
  75. package/prompts/frontend/flow-work-resume.md +34 -34
  76. package/prompts/frontend/flow-work.md +1583 -1320
  77. package/prompts/mobile/flow-build-phase-0.md +425 -425
  78. package/prompts/mobile/flow-build-phase-1.md +626 -626
  79. package/prompts/mobile/flow-build-phase-10.md +32 -32
  80. package/prompts/mobile/flow-build-phase-2.md +573 -573
  81. package/prompts/mobile/flow-build-phase-3.md +782 -782
  82. package/prompts/mobile/flow-build-phase-4.md +554 -554
  83. package/prompts/mobile/flow-build-phase-5.md +703 -703
  84. package/prompts/mobile/flow-build-phase-6.md +524 -524
  85. package/prompts/mobile/flow-build-phase-7.md +1001 -1001
  86. package/prompts/mobile/flow-build-phase-8.md +888 -888
  87. package/prompts/mobile/flow-build-phase-9.md +90 -90
  88. package/prompts/mobile/flow-build.md +135 -135
  89. package/prompts/mobile/flow-check-review.md +656 -20
  90. package/prompts/mobile/flow-check-test.md +526 -14
  91. package/prompts/mobile/flow-check.md +725 -67
  92. package/prompts/mobile/flow-commit.md +88 -119
  93. package/prompts/mobile/flow-docs-sync.md +620 -620
  94. package/prompts/mobile/flow-finish.md +910 -0
  95. package/prompts/mobile/flow-release.md +751 -0
  96. package/prompts/mobile/flow-work-api.md +1493 -0
  97. package/prompts/mobile/flow-work-feature.md +61 -61
  98. package/prompts/mobile/flow-work-fix.md +46 -46
  99. package/prompts/mobile/flow-work-refactor.md +48 -48
  100. package/prompts/mobile/flow-work-resume.md +34 -34
  101. package/prompts/mobile/flow-work.md +1593 -1329
  102. package/prompts/shared/mermaid-guidelines.md +102 -102
  103. package/prompts/shared/scope-levels.md +114 -114
  104. package/prompts/shared/smart-skip-preflight.md +214 -214
  105. package/prompts/shared/story-points.md +55 -55
  106. package/prompts/shared/task-format.md +74 -74
  107. package/prompts/shared/task-summary-template.md +277 -277
  108. package/templates/AGENT.template.md +443 -443
  109. package/templates/backend/.clauderules.template +112 -112
  110. package/templates/backend/.cursorrules.template +102 -102
  111. package/templates/backend/README.template.md +2 -2
  112. package/templates/backend/ai-instructions.template.md +2 -2
  113. package/templates/backend/copilot-instructions.template.md +2 -2
  114. package/templates/backend/docs/api.template.md +320 -320
  115. package/templates/backend/docs/business-flows.template.md +97 -97
  116. package/templates/backend/docs/code-standards.template.md +2 -2
  117. package/templates/backend/docs/contributing.template.md +3 -3
  118. package/templates/backend/docs/data-model.template.md +520 -520
  119. package/templates/backend/docs/testing.template.md +2 -2
  120. package/templates/backend/project-brief.template.md +2 -2
  121. package/templates/backend/specs/configuration.template.md +2 -2
  122. package/templates/backend/specs/security.template.md +2 -2
  123. package/templates/desktop/.clauderules.template +112 -112
  124. package/templates/desktop/.cursorrules.template +102 -102
  125. package/templates/desktop/README.template.md +170 -170
  126. package/templates/desktop/ai-instructions.template.md +366 -366
  127. package/templates/desktop/copilot-instructions.template.md +140 -140
  128. package/templates/desktop/docs/docs/api.template.md +320 -320
  129. package/templates/desktop/docs/docs/architecture.template.md +724 -724
  130. package/templates/desktop/docs/docs/business-flows.template.md +102 -102
  131. package/templates/desktop/docs/docs/code-standards.template.md +792 -792
  132. package/templates/desktop/docs/docs/contributing.template.md +149 -149
  133. package/templates/desktop/docs/docs/data-model.template.md +520 -520
  134. package/templates/desktop/docs/docs/operations.template.md +720 -720
  135. package/templates/desktop/docs/docs/testing.template.md +722 -722
  136. package/templates/desktop/project-brief.template.md +150 -150
  137. package/templates/desktop/specs/specs/configuration.template.md +121 -121
  138. package/templates/desktop/specs/specs/security.template.md +392 -392
  139. package/templates/frontend/README.template.md +2 -2
  140. package/templates/frontend/ai-instructions.template.md +2 -2
  141. package/templates/frontend/docs/api-integration.template.md +362 -362
  142. package/templates/frontend/docs/components.template.md +2 -2
  143. package/templates/frontend/docs/error-handling.template.md +360 -360
  144. package/templates/frontend/docs/operations.template.md +107 -107
  145. package/templates/frontend/docs/performance.template.md +124 -124
  146. package/templates/frontend/docs/pwa.template.md +119 -119
  147. package/templates/frontend/docs/state-management.template.md +2 -2
  148. package/templates/frontend/docs/styling.template.md +2 -2
  149. package/templates/frontend/docs/testing.template.md +2 -2
  150. package/templates/frontend/project-brief.template.md +2 -2
  151. package/templates/frontend/specs/accessibility.template.md +95 -95
  152. package/templates/frontend/specs/configuration.template.md +2 -2
  153. package/templates/frontend/specs/security.template.md +175 -175
  154. package/templates/fullstack/README.template.md +252 -252
  155. package/templates/fullstack/ai-instructions.template.md +444 -444
  156. package/templates/fullstack/project-brief.template.md +157 -157
  157. package/templates/fullstack/specs/configuration.template.md +340 -340
  158. package/templates/mobile/README.template.md +167 -167
  159. package/templates/mobile/ai-instructions.template.md +196 -196
  160. package/templates/mobile/docs/app-store.template.md +135 -135
  161. package/templates/mobile/docs/architecture.template.md +63 -63
  162. package/templates/mobile/docs/native-features.template.md +94 -94
  163. package/templates/mobile/docs/navigation.template.md +59 -59
  164. package/templates/mobile/docs/offline-strategy.template.md +65 -65
  165. package/templates/mobile/docs/permissions.template.md +56 -56
  166. package/templates/mobile/docs/state-management.template.md +85 -85
  167. package/templates/mobile/docs/testing.template.md +109 -109
  168. package/templates/mobile/project-brief.template.md +69 -69
  169. package/templates/mobile/specs/build-configuration.template.md +91 -91
  170. package/templates/mobile/specs/deployment.template.md +92 -92
  171. package/templates/work.template.md +47 -47
@@ -1,113 +1,113 @@
1
- # Operations & Deployment
2
-
3
- > Deployment procedures and operational guidelines for {{PROJECT_NAME}}
1
+ # Operations & Deployment
2
+
3
+ > Deployment procedures and operational guidelines for {{PROJECT_NAME}}
4
4
  ---
5
- ## 🚀 Deployment Platform
6
-
7
- **Platform:** {{DEPLOYMENT_PLATFORM}}
8
- **CI/CD:** {{CI_CD_PLATFORM}}
9
- **Environments:** {{ENVIRONMENTS}}
5
+ ## 🚀 Deployment Platform
6
+
7
+ **Platform:** {{DEPLOYMENT_PLATFORM}}
8
+ **CI/CD:** {{CI_CD_PLATFORM}}
9
+ **Environments:** {{ENVIRONMENTS}}
10
10
  ---
11
- ## 📦 Build Process
12
-
13
- ### Production Build
14
-
15
- ```bash
16
- # Build for production
17
- npm run build
18
-
19
- # Output directory
20
- dist/
21
- ├── index.html
22
- ├── assets/
23
- │ ├── app-[hash].js
24
- │ ├── app-[hash].css
25
- │ └── images/
26
- ```
27
-
28
- ### Environment Variables
29
-
30
- ```bash
31
- # .env.production
32
- VITE_API_BASE_URL=https://api.example.com
33
- VITE_APP_ENV=production
34
- ```
11
+ ## 📦 Build Process
12
+
13
+ ### Production Build
14
+
15
+ ```bash
16
+ # Build for production
17
+ npm run build
18
+
19
+ # Output directory
20
+ dist/
21
+ ├── index.html
22
+ ├── assets/
23
+ │ ├── app-[hash].js
24
+ │ ├── app-[hash].css
25
+ │ └── images/
26
+ ```
27
+
28
+ ### Environment Variables
29
+
30
+ ```bash
31
+ # .env.production
32
+ VITE_API_BASE_URL=https://api.example.com
33
+ VITE_APP_ENV=production
34
+ ```
35
35
  ---
36
- ## 🔄 CI/CD Pipeline
37
-
38
- ### GitHub Actions Example
39
-
40
- ```yaml
41
- # .github/workflows/deploy.yml
42
- name: Deploy
43
-
44
- on:
45
- push:
46
- branches: [main]
47
-
48
- jobs:
49
- deploy:
50
- runs-on: ubuntu-latest
51
- steps:
52
- - uses: actions/checkout@v3
53
- - uses: actions/setup-node@v3
54
- with:
55
- node-version: 18
56
- - run: npm ci
57
- - run: npm run lint
58
- - run: npm run test
59
- - run: npm run build
60
- - uses: vercel/action@v1
61
- with:
62
- vercel-token: ${{ secrets.VERCEL_TOKEN }}
63
- ```
36
+ ## 🔄 CI/CD Pipeline
37
+
38
+ ### GitHub Actions Example
39
+
40
+ ```yaml
41
+ # .github/workflows/deploy.yml
42
+ name: Deploy
43
+
44
+ on:
45
+ push:
46
+ branches: [main]
47
+
48
+ jobs:
49
+ deploy:
50
+ runs-on: ubuntu-latest
51
+ steps:
52
+ - uses: actions/checkout@v3
53
+ - uses: actions/setup-node@v3
54
+ with:
55
+ node-version: 18
56
+ - run: npm ci
57
+ - run: npm run lint
58
+ - run: npm run test
59
+ - run: npm run build
60
+ - uses: vercel/action@v1
61
+ with:
62
+ vercel-token: ${{ secrets.VERCEL_TOKEN }}
63
+ ```
64
64
  ---
65
- ## 📊 Monitoring
66
-
67
- ### Error Tracking
68
-
69
- **Tool:** {{ERROR_TRACKING_TOOL}}
70
-
71
- ```typescript
72
- // Sentry setup
73
- import * as Sentry from '@sentry/react';
74
-
75
- Sentry.init({
76
- dsn: import.meta.env.VITE_SENTRY_DSN,
77
- environment: import.meta.env.VITE_APP_ENV,
78
- });
79
- ```
80
-
81
- ### Analytics
82
-
83
- **Tool:** {{ANALYTICS_TOOL}}
84
-
85
- ```typescript
86
- // Google Analytics
87
- gtag('config', 'GA_MEASUREMENT_ID');
88
- ```
89
-
90
- ### Performance Monitoring
91
-
92
- **Tool:** {{PERFORMANCE_MONITORING_TOOL}}
93
-
94
- ```typescript
95
- // Web Vitals
96
- import { onCLS, onFID, onLCP } from 'web-vitals';
97
-
98
- onCLS(console.log);
99
- onFID(console.log);
100
- onLCP(console.log);
101
- ```
65
+ ## 📊 Monitoring
66
+
67
+ ### Error Tracking
68
+
69
+ **Tool:** {{ERROR_TRACKING_TOOL}}
70
+
71
+ ```typescript
72
+ // Sentry setup
73
+ import * as Sentry from '@sentry/react';
74
+
75
+ Sentry.init({
76
+ dsn: import.meta.env.VITE_SENTRY_DSN,
77
+ environment: import.meta.env.VITE_APP_ENV,
78
+ });
79
+ ```
80
+
81
+ ### Analytics
82
+
83
+ **Tool:** {{ANALYTICS_TOOL}}
84
+
85
+ ```typescript
86
+ // Google Analytics
87
+ gtag('config', 'GA_MEASUREMENT_ID');
88
+ ```
89
+
90
+ ### Performance Monitoring
91
+
92
+ **Tool:** {{PERFORMANCE_MONITORING_TOOL}}
93
+
94
+ ```typescript
95
+ // Web Vitals
96
+ import { onCLS, onFID, onLCP } from 'web-vitals';
97
+
98
+ onCLS(console.log);
99
+ onFID(console.log);
100
+ onLCP(console.log);
101
+ ```
102
102
  ---
103
- ## 🔗 Related Documents
104
-
105
- - [Performance](performance.md) - Performance optimization
106
- - [Configuration](../specs/configuration.md) - Environment configuration
103
+ ## 🔗 Related Documents
104
+
105
+ - [Performance](performance.md) - Performance optimization
106
+ - [Configuration](../specs/configuration.md) - Environment configuration
107
107
  ---
108
- **Last Updated:** {{GENERATION_DATE}}
109
-
110
- **Deployment Platform:** {{DEPLOYMENT_PLATFORM}}
111
-
112
-
113
-
108
+ **Last Updated:** {{GENERATION_DATE}}
109
+
110
+ **Deployment Platform:** {{DEPLOYMENT_PLATFORM}}
111
+
112
+
113
+
@@ -1,130 +1,130 @@
1
- # Performance Optimization
2
-
3
- > Performance optimization strategies and best practices for {{PROJECT_NAME}}
1
+ # Performance Optimization
2
+
3
+ > Performance optimization strategies and best practices for {{PROJECT_NAME}}
4
4
  ---
5
- ## 🎯 Performance Targets
6
-
7
- **Core Web Vitals:**
8
- - **LCP:** < {{LCP_TARGET}}s
9
- - **FID/INP:** < {{FID_TARGET}}ms
10
- - **CLS:** < {{CLS_TARGET}}
11
-
12
- **Bundle Size:** < {{BUNDLE_SIZE_TARGET}}KB (gzipped)
5
+ ## 🎯 Performance Targets
6
+
7
+ **Core Web Vitals:**
8
+ - **LCP:** < {{LCP_TARGET}}s
9
+ - **FID/INP:** < {{FID_TARGET}}ms
10
+ - **CLS:** < {{CLS_TARGET}}
11
+
12
+ **Bundle Size:** < {{BUNDLE_SIZE_TARGET}}KB (gzipped)
13
13
  ---
14
- ## 📦 Bundle Optimization
15
-
16
- ### Code Splitting
17
-
18
- ```typescript
19
- // Route-based splitting
20
- const Dashboard = lazy(() => import('./pages/Dashboard'));
21
- const Profile = lazy(() => import('./pages/Profile'));
22
-
23
- // Component-based splitting
24
- const HeavyChart = lazy(() => import('./components/HeavyChart'));
25
- ```
26
-
27
- ### Tree Shaking
28
-
29
- ```typescript
30
- // ✅ Good - Tree shakeable
31
- import { debounce } from 'lodash-es';
32
-
33
- // ❌ Bad - Imports entire library
34
- import _ from 'lodash';
35
- ```
36
-
37
- ### Bundle Analysis
38
-
39
- ```bash
40
- # Analyze bundle size
41
- npm run build -- --analyze
42
-
43
- # Check bundle size in CI
44
- npm run build && du -sh dist/*
45
- ```
14
+ ## 📦 Bundle Optimization
15
+
16
+ ### Code Splitting
17
+
18
+ ```typescript
19
+ // Route-based splitting
20
+ const Dashboard = lazy(() => import('./pages/Dashboard'));
21
+ const Profile = lazy(() => import('./pages/Profile'));
22
+
23
+ // Component-based splitting
24
+ const HeavyChart = lazy(() => import('./components/HeavyChart'));
25
+ ```
26
+
27
+ ### Tree Shaking
28
+
29
+ ```typescript
30
+ // ✅ Good - Tree shakeable
31
+ import { debounce } from 'lodash-es';
32
+
33
+ // ❌ Bad - Imports entire library
34
+ import _ from 'lodash';
35
+ ```
36
+
37
+ ### Bundle Analysis
38
+
39
+ ```bash
40
+ # Analyze bundle size
41
+ npm run build -- --analyze
42
+
43
+ # Check bundle size in CI
44
+ npm run build && du -sh dist/*
45
+ ```
46
46
  ---
47
- ## 🖼️ Image Optimization
48
-
49
- ### Next-gen Formats
50
-
51
- ```typescript
52
- // Use WebP/AVIF with fallback
53
- <picture>
54
- <source srcset="image.avif" type="image/avif" />
55
- <source srcset="image.webp" type="image/webp" />
56
- <img src="image.jpg" alt="Description" />
57
- </picture>
58
- ```
59
-
60
- ### Lazy Loading
61
-
62
- ```typescript
63
- // Native lazy loading
64
- <img src="image.jpg" loading="lazy" alt="Description" />
65
-
66
- // Intersection Observer
67
- const observer = new IntersectionObserver((entries) => {
68
- entries.forEach(entry => {
69
- if (entry.isIntersecting) {
70
- entry.target.src = entry.target.dataset.src;
71
- observer.unobserve(entry.target);
72
- }
73
- });
74
- });
75
- ```
47
+ ## 🖼️ Image Optimization
48
+
49
+ ### Next-gen Formats
50
+
51
+ ```typescript
52
+ // Use WebP/AVIF with fallback
53
+ <picture>
54
+ <source srcset="image.avif" type="image/avif" />
55
+ <source srcset="image.webp" type="image/webp" />
56
+ <img src="image.jpg" alt="Description" />
57
+ </picture>
58
+ ```
59
+
60
+ ### Lazy Loading
61
+
62
+ ```typescript
63
+ // Native lazy loading
64
+ <img src="image.jpg" loading="lazy" alt="Description" />
65
+
66
+ // Intersection Observer
67
+ const observer = new IntersectionObserver((entries) => {
68
+ entries.forEach(entry => {
69
+ if (entry.isIntersecting) {
70
+ entry.target.src = entry.target.dataset.src;
71
+ observer.unobserve(entry.target);
72
+ }
73
+ });
74
+ });
75
+ ```
76
76
  ---
77
- ## ⚡ Performance Monitoring
78
-
79
- ### Core Web Vitals Tracking
80
-
81
- ```typescript
82
- // utils/webVitals.ts
83
- import { onCLS, onFID, onLCP } from 'web-vitals';
84
-
85
- function sendToAnalytics(metric: Metric) {
86
- // Send to analytics service
87
- gtag('event', metric.name, {
88
- value: Math.round(metric.value),
89
- event_label: metric.id,
90
- non_interaction: true,
91
- });
92
- }
93
-
94
- onCLS(sendToAnalytics);
95
- onFID(sendToAnalytics);
96
- onLCP(sendToAnalytics);
97
- ```
98
-
99
- ### Performance Budgets
100
-
101
- ```javascript
102
- // .lighthouserc.js
103
- module.exports = {
104
- ci: {
105
- collect: {
106
- numberOfRuns: 3,
107
- },
108
- assert: {
109
- assertions: {
110
- 'categories:performance': ['error', { minScore: 0.9 }],
111
- 'first-contentful-paint': ['error', { maxNumericValue: 2000 }],
112
- 'largest-contentful-paint': ['error', { maxNumericValue: 2500 }],
113
- 'cumulative-layout-shift': ['error', { maxNumericValue: 0.1 }],
114
- },
115
- },
116
- },
117
- };
118
- ```
77
+ ## ⚡ Performance Monitoring
78
+
79
+ ### Core Web Vitals Tracking
80
+
81
+ ```typescript
82
+ // utils/webVitals.ts
83
+ import { onCLS, onFID, onLCP } from 'web-vitals';
84
+
85
+ function sendToAnalytics(metric: Metric) {
86
+ // Send to analytics service
87
+ gtag('event', metric.name, {
88
+ value: Math.round(metric.value),
89
+ event_label: metric.id,
90
+ non_interaction: true,
91
+ });
92
+ }
93
+
94
+ onCLS(sendToAnalytics);
95
+ onFID(sendToAnalytics);
96
+ onLCP(sendToAnalytics);
97
+ ```
98
+
99
+ ### Performance Budgets
100
+
101
+ ```javascript
102
+ // .lighthouserc.js
103
+ module.exports = {
104
+ ci: {
105
+ collect: {
106
+ numberOfRuns: 3,
107
+ },
108
+ assert: {
109
+ assertions: {
110
+ 'categories:performance': ['error', { minScore: 0.9 }],
111
+ 'first-contentful-paint': ['error', { maxNumericValue: 2000 }],
112
+ 'largest-contentful-paint': ['error', { maxNumericValue: 2500 }],
113
+ 'cumulative-layout-shift': ['error', { maxNumericValue: 0.1 }],
114
+ },
115
+ },
116
+ },
117
+ };
118
+ ```
119
119
  ---
120
- ## 🔗 Related Documents
121
-
122
- - [Operations](operations.md) - Performance monitoring setup
123
- - [Build Configuration](../specs/configuration.md) - Build optimization
120
+ ## 🔗 Related Documents
121
+
122
+ - [Operations](operations.md) - Performance monitoring setup
123
+ - [Build Configuration](../specs/configuration.md) - Build optimization
124
124
  ---
125
- **Last Updated:** {{GENERATION_DATE}}
126
-
127
- **Performance Targets:** LCP < {{LCP_TARGET}}s, FID < {{FID_TARGET}}ms, CLS < {{CLS_TARGET}}
128
-
129
-
130
-
125
+ **Last Updated:** {{GENERATION_DATE}}
126
+
127
+ **Performance Targets:** LCP < {{LCP_TARGET}}s, FID < {{FID_TARGET}}ms, CLS < {{CLS_TARGET}}
128
+
129
+
130
+