proagents 1.6.19 → 1.6.21

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 (143) hide show
  1. package/.claude/settings.local.json +13 -1
  2. package/.proagents/.cursorrules +25 -10
  3. package/.proagents/.windsurfrules +25 -10
  4. package/.proagents/AGENTS.md +30 -11
  5. package/.proagents/AI_INSTRUCTIONS.md +86 -30
  6. package/.proagents/BOLT.md +25 -10
  7. package/.proagents/CLAUDE.md +25 -10
  8. package/.proagents/GEMINI.md +25 -10
  9. package/.proagents/KIRO.md +25 -10
  10. package/.proagents/LOVABLE.md +25 -10
  11. package/.proagents/PROAGENTS.md +96 -343
  12. package/.proagents/REPLIT.md +25 -10
  13. package/.proagents/activity.log +1 -0
  14. package/.proagents/custom-commands.yaml +0 -1
  15. package/.proagents/docs/command-details.md +1 -2
  16. package/.proagents/getting-started/ai-training-setup.md +0 -1
  17. package/.proagents/performance/README.md +59 -0
  18. package/.proagents/performance/bundle-analysis.md +375 -0
  19. package/.proagents/performance/load-testing.md +563 -0
  20. package/.proagents/performance/runtime-metrics.md +489 -0
  21. package/.proagents/performance/web-vitals.md +425 -0
  22. package/.proagents/platforms.yaml +66 -0
  23. package/.proagents/proagents.config.yaml +0 -1
  24. package/.proagents/prompts/ai-add.md +80 -0
  25. package/.proagents/prompts/ai-list.md +41 -0
  26. package/.proagents/prompts/ai-remove.md +112 -0
  27. package/.proagents/prompts/ai-sync.md +96 -0
  28. package/.proagents/workflow-modes/entry-modes.md +1 -6
  29. package/lib/commands/ai.js +100 -48
  30. package/lib/commands/init.js +89 -22
  31. package/package.json +1 -1
  32. package/.proagents/ANTIGRAVITY.md +0 -61
  33. package/.proagents/CHATGPT.md +0 -57
  34. package/.proagents/GROQ.md +0 -57
  35. package/.proagents/api-versioning/README.md +0 -257
  36. package/.proagents/api-versioning/changelog-template.md +0 -225
  37. package/.proagents/api-versioning/deprecation-workflow.md +0 -470
  38. package/.proagents/api-versioning/versioning-strategy.md +0 -291
  39. package/.proagents/automation/README.md +0 -38
  40. package/.proagents/automation/ai-behavior-rules.md +0 -339
  41. package/.proagents/automation/ai-prompt-injection.md +0 -331
  42. package/.proagents/automation/auto-decisions.md +0 -535
  43. package/.proagents/automation/decision-defaults.yaml +0 -317
  44. package/.proagents/cache/README.md +0 -110
  45. package/.proagents/cache/analysis-metadata.json +0 -76
  46. package/.proagents/cache/conventions.json +0 -125
  47. package/.proagents/cache/dependencies.json +0 -85
  48. package/.proagents/cache/features.json +0 -115
  49. package/.proagents/cache/patterns.json +0 -105
  50. package/.proagents/cache/schemas/conventions-schema.json +0 -138
  51. package/.proagents/cache/schemas/dependencies-schema.json +0 -95
  52. package/.proagents/cache/schemas/features-schema.json +0 -104
  53. package/.proagents/cache/schemas/metadata-schema.json +0 -83
  54. package/.proagents/cache/schemas/patterns-schema.json +0 -136
  55. package/.proagents/cache/schemas/structure-schema.json +0 -72
  56. package/.proagents/cache/structure.json +0 -109
  57. package/.proagents/checklists/README.md +0 -261
  58. package/.proagents/checklists/code-quality.md +0 -137
  59. package/.proagents/checklists/code-review.md +0 -148
  60. package/.proagents/checklists/pr-checklist.md +0 -78
  61. package/.proagents/checklists/pre-deployment.md +0 -132
  62. package/.proagents/checklists/pre-implementation.md +0 -80
  63. package/.proagents/checklists/testing.md +0 -120
  64. package/.proagents/checkpoints.json +0 -13
  65. package/.proagents/cicd/README.md +0 -338
  66. package/.proagents/cicd/azure-devops.md +0 -267
  67. package/.proagents/cicd/github-actions.md +0 -375
  68. package/.proagents/cicd/gitlab-ci.md +0 -278
  69. package/.proagents/cicd/jenkins.md +0 -317
  70. package/.proagents/collaboration/README.md +0 -143
  71. package/.proagents/collaboration/roles.md +0 -248
  72. package/.proagents/collaboration/sessions.md +0 -390
  73. package/.proagents/collaboration/sync.md +0 -358
  74. package/.proagents/cost/README.md +0 -48
  75. package/.proagents/cost/cost-template.md +0 -283
  76. package/.proagents/cost/estimation-framework.md +0 -287
  77. package/.proagents/database/README.md +0 -72
  78. package/.proagents/database/examples/001-create-users.sql +0 -129
  79. package/.proagents/database/examples/002-add-preferences.sql +0 -94
  80. package/.proagents/database/examples/003-add-index.sql +0 -105
  81. package/.proagents/database/examples/004-rename-column.sql +0 -122
  82. package/.proagents/database/examples/005-add-foreign-key.sql +0 -142
  83. package/.proagents/database/examples/006-data-migration.sql +0 -196
  84. package/.proagents/database/examples/007-drop-column.sql +0 -163
  85. package/.proagents/database/examples/README.md +0 -89
  86. package/.proagents/database/migration-workflow.md +0 -478
  87. package/.proagents/database/rollback-scripts.md +0 -487
  88. package/.proagents/database/safety-checks.md +0 -447
  89. package/.proagents/git/README.md +0 -68
  90. package/.proagents/git/branch-strategy.md +0 -164
  91. package/.proagents/git/commit-conventions.md +0 -241
  92. package/.proagents/git/pr-workflow.md +0 -286
  93. package/.proagents/git/rollback-procedures.md +0 -416
  94. package/.proagents/ide-integration/README.md +0 -124
  95. package/.proagents/ide-integration/cline-config.md +0 -429
  96. package/.proagents/ide-integration/continue-config.md +0 -380
  97. package/.proagents/ide-integration/cursor-rules.md +0 -280
  98. package/.proagents/ide-integration/github-copilot.md +0 -384
  99. package/.proagents/ide-integration/windsurf-rules.md +0 -314
  100. package/.proagents/integrations/README.md +0 -97
  101. package/.proagents/integrations/pm/README.md +0 -344
  102. package/.proagents/learning/README.md +0 -136
  103. package/.proagents/learning/adaptation.md +0 -305
  104. package/.proagents/learning/data-collection.md +0 -283
  105. package/.proagents/learning/implementation-guide.md +0 -865
  106. package/.proagents/learning/reports.md +0 -306
  107. package/.proagents/mcp/README.md +0 -133
  108. package/.proagents/mcp/context-providers.md +0 -442
  109. package/.proagents/mcp/server-config.md +0 -306
  110. package/.proagents/mcp/tools-definition.md +0 -513
  111. package/.proagents/pm-integration/README.md +0 -151
  112. package/.proagents/pm-integration/asana.md +0 -346
  113. package/.proagents/pm-integration/github-issues.md +0 -308
  114. package/.proagents/pm-integration/gitlab-issues.md +0 -482
  115. package/.proagents/pm-integration/jira.md +0 -364
  116. package/.proagents/pm-integration/linear.md +0 -409
  117. package/.proagents/pm-integration/notion.md +0 -275
  118. package/.proagents/pm-integration/sync-config.md +0 -533
  119. package/.proagents/pm-integration/trello.md +0 -159
  120. package/.proagents/rules/README.md +0 -179
  121. package/.proagents/rules/custom-rules-template.yaml +0 -286
  122. package/.proagents/rules/custom-rules.md +0 -754
  123. package/.proagents/rules/validation-rules-template.yaml +0 -517
  124. package/.proagents/runbooks/README.md +0 -219
  125. package/.proagents/runbooks/dependency-vulnerability.md +0 -505
  126. package/.proagents/runbooks/incident-response.md +0 -451
  127. package/.proagents/runbooks/performance-degradation.md +0 -584
  128. package/.proagents/runbooks/production-debugging.md +0 -489
  129. package/.proagents/sprints/README.md +0 -58
  130. package/.proagents/team/README.md +0 -256
  131. package/.proagents/team/code-ownership.md +0 -306
  132. package/.proagents/team/communication-templates.md +0 -441
  133. package/.proagents/team/handoff-protocol.md +0 -380
  134. package/.proagents/team/ide-setup/README.md +0 -103
  135. package/.proagents/team/ide-setup/cursor.md +0 -276
  136. package/.proagents/team/ide-setup/jetbrains.md +0 -330
  137. package/.proagents/team/ide-setup/neovim.md +0 -640
  138. package/.proagents/team/ide-setup/vscode.md +0 -348
  139. package/.proagents/team/onboarding.md +0 -278
  140. package/.proagents/time-tracking.json +0 -19
  141. package/.proagents/troubleshooting/README.md +0 -730
  142. package/.proagents/troubleshooting/ai-issues.md +0 -601
  143. package/.proagents/troubleshooting/workflow-issues.md +0 -571
@@ -0,0 +1,425 @@
1
+ # Web Vitals Performance Guide
2
+
3
+ Monitor and optimize Core Web Vitals for better user experience.
4
+
5
+ ---
6
+
7
+ ## Core Web Vitals
8
+
9
+ ### LCP - Largest Contentful Paint
10
+
11
+ **What:** Time until largest content element is visible
12
+ **Target:** < 2.5 seconds
13
+ **Measures:** Loading performance
14
+
15
+ ### FID - First Input Delay
16
+
17
+ **What:** Time from first interaction to browser response
18
+ **Target:** < 100 milliseconds
19
+ **Measures:** Interactivity
20
+
21
+ ### CLS - Cumulative Layout Shift
22
+
23
+ **What:** Visual stability (unexpected layout shifts)
24
+ **Target:** < 0.1
25
+ **Measures:** Visual stability
26
+
27
+ ---
28
+
29
+ ## Measuring Web Vitals
30
+
31
+ ### Using web-vitals Library
32
+
33
+ ```javascript
34
+ // Install
35
+ npm install web-vitals
36
+
37
+ // Usage
38
+ import { getCLS, getFID, getLCP, getFCP, getTTFB } from 'web-vitals';
39
+
40
+ function sendToAnalytics(metric) {
41
+ console.log(metric);
42
+ // Send to analytics service
43
+ analytics.track('Web Vitals', {
44
+ name: metric.name,
45
+ value: metric.value,
46
+ rating: metric.rating, // 'good', 'needs-improvement', 'poor'
47
+ id: metric.id,
48
+ });
49
+ }
50
+
51
+ getCLS(sendToAnalytics);
52
+ getFID(sendToAnalytics);
53
+ getLCP(sendToAnalytics);
54
+ getFCP(sendToAnalytics);
55
+ getTTFB(sendToAnalytics);
56
+ ```
57
+
58
+ ### React Integration
59
+
60
+ ```javascript
61
+ // In React app
62
+ import { useEffect } from 'react';
63
+ import { getCLS, getFID, getLCP } from 'web-vitals';
64
+
65
+ function App() {
66
+ useEffect(() => {
67
+ getCLS(console.log);
68
+ getFID(console.log);
69
+ getLCP(console.log);
70
+ }, []);
71
+
72
+ return <MainApp />;
73
+ }
74
+
75
+ // Or in reportWebVitals.js (Create React App)
76
+ const reportWebVitals = (onPerfEntry) => {
77
+ if (onPerfEntry && onPerfEntry instanceof Function) {
78
+ import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
79
+ getCLS(onPerfEntry);
80
+ getFID(onPerfEntry);
81
+ getFCP(onPerfEntry);
82
+ getLCP(onPerfEntry);
83
+ getTTFB(onPerfEntry);
84
+ });
85
+ }
86
+ };
87
+ ```
88
+
89
+ ### Lighthouse
90
+
91
+ ```bash
92
+ # CLI
93
+ npm install -g lighthouse
94
+ lighthouse https://example.com --output html --output-path report.html
95
+
96
+ # Chrome DevTools
97
+ 1. Open DevTools (F12)
98
+ 2. Go to Lighthouse tab
99
+ 3. Click "Generate report"
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Optimizing LCP
105
+
106
+ ### Common LCP Elements
107
+
108
+ - `<img>` elements
109
+ - `<video>` poster images
110
+ - Elements with background-image
111
+ - Block-level text elements
112
+
113
+ ### Optimization Techniques
114
+
115
+ #### 1. Optimize Images
116
+
117
+ ```html
118
+ <!-- Use modern formats -->
119
+ <picture>
120
+ <source srcset="image.avif" type="image/avif">
121
+ <source srcset="image.webp" type="image/webp">
122
+ <img src="image.jpg" alt="...">
123
+ </picture>
124
+
125
+ <!-- Responsive images -->
126
+ <img
127
+ srcset="small.jpg 300w,
128
+ medium.jpg 600w,
129
+ large.jpg 1200w"
130
+ sizes="(max-width: 600px) 300px,
131
+ (max-width: 1200px) 600px,
132
+ 1200px"
133
+ src="medium.jpg"
134
+ alt="..."
135
+ >
136
+
137
+ <!-- Preload LCP image -->
138
+ <link rel="preload" as="image" href="hero-image.webp">
139
+ ```
140
+
141
+ #### 2. Optimize Server Response
142
+
143
+ ```javascript
144
+ // Enable caching
145
+ app.use((req, res, next) => {
146
+ res.setHeader('Cache-Control', 'public, max-age=31536000');
147
+ next();
148
+ });
149
+
150
+ // Use CDN
151
+ // Configure CDN for static assets
152
+
153
+ // Enable compression
154
+ const compression = require('compression');
155
+ app.use(compression());
156
+ ```
157
+
158
+ #### 3. Preload Critical Resources
159
+
160
+ ```html
161
+ <head>
162
+ <!-- Preload critical CSS -->
163
+ <link rel="preload" href="critical.css" as="style">
164
+
165
+ <!-- Preload fonts -->
166
+ <link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>
167
+
168
+ <!-- Preconnect to origins -->
169
+ <link rel="preconnect" href="https://api.example.com">
170
+ <link rel="dns-prefetch" href="https://cdn.example.com">
171
+ </head>
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Optimizing FID
177
+
178
+ ### Optimization Techniques
179
+
180
+ #### 1. Break Up Long Tasks
181
+
182
+ ```javascript
183
+ // BAD: Long blocking task
184
+ function processData(data) {
185
+ // 1000ms of work
186
+ data.forEach(item => heavyComputation(item));
187
+ }
188
+
189
+ // GOOD: Break into chunks
190
+ async function processData(data) {
191
+ const chunks = chunkArray(data, 100);
192
+
193
+ for (const chunk of chunks) {
194
+ chunk.forEach(item => heavyComputation(item));
195
+ // Yield to main thread
196
+ await new Promise(resolve => setTimeout(resolve, 0));
197
+ }
198
+ }
199
+ ```
200
+
201
+ #### 2. Use Web Workers
202
+
203
+ ```javascript
204
+ // Heavy computation in worker
205
+ const worker = new Worker('worker.js');
206
+
207
+ worker.postMessage({ data: largeDataSet });
208
+ worker.onmessage = (event) => {
209
+ console.log('Processed:', event.data);
210
+ };
211
+
212
+ // worker.js
213
+ self.onmessage = (event) => {
214
+ const result = heavyComputation(event.data);
215
+ self.postMessage(result);
216
+ };
217
+ ```
218
+
219
+ #### 3. Defer Non-Critical JavaScript
220
+
221
+ ```html
222
+ <!-- Defer non-critical scripts -->
223
+ <script src="analytics.js" defer></script>
224
+ <script src="non-critical.js" defer></script>
225
+
226
+ <!-- Async for independent scripts -->
227
+ <script src="independent.js" async></script>
228
+ ```
229
+
230
+ #### 4. Lazy Load Components
231
+
232
+ ```javascript
233
+ // React
234
+ const HeavyComponent = React.lazy(() => import('./HeavyComponent'));
235
+
236
+ function App() {
237
+ return (
238
+ <Suspense fallback={<Loading />}>
239
+ <HeavyComponent />
240
+ </Suspense>
241
+ );
242
+ }
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Optimizing CLS
248
+
249
+ ### Common Causes
250
+
251
+ 1. Images without dimensions
252
+ 2. Ads/embeds without reserved space
253
+ 3. Dynamically injected content
254
+ 4. Web fonts causing FOIT/FOUT
255
+
256
+ ### Optimization Techniques
257
+
258
+ #### 1. Always Set Image Dimensions
259
+
260
+ ```html
261
+ <!-- Always specify width and height -->
262
+ <img src="image.jpg" width="800" height="600" alt="...">
263
+
264
+ <!-- Or use aspect-ratio -->
265
+ <style>
266
+ .image-container {
267
+ aspect-ratio: 16 / 9;
268
+ }
269
+ </style>
270
+ ```
271
+
272
+ #### 2. Reserve Space for Dynamic Content
273
+
274
+ ```css
275
+ /* Reserve space for ads */
276
+ .ad-container {
277
+ min-height: 250px;
278
+ }
279
+
280
+ /* Skeleton for loading content */
281
+ .skeleton {
282
+ min-height: 200px;
283
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
284
+ background-size: 200% 100%;
285
+ animation: loading 1.5s infinite;
286
+ }
287
+ ```
288
+
289
+ #### 3. Optimize Font Loading
290
+
291
+ ```css
292
+ /* Use font-display */
293
+ @font-face {
294
+ font-family: 'CustomFont';
295
+ src: url('font.woff2') format('woff2');
296
+ font-display: swap;
297
+ }
298
+
299
+ /* Or use optional for non-critical fonts */
300
+ @font-face {
301
+ font-family: 'NiceToHave';
302
+ src: url('font.woff2') format('woff2');
303
+ font-display: optional;
304
+ }
305
+ ```
306
+
307
+ ```html
308
+ <!-- Preload critical fonts -->
309
+ <link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>
310
+ ```
311
+
312
+ #### 4. Avoid Inserting Content Above Existing
313
+
314
+ ```javascript
315
+ // BAD: Insert at top
316
+ container.prepend(newElement);
317
+
318
+ // GOOD: Insert below fold or with reserved space
319
+ reservedSpace.appendChild(newElement);
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Performance Budget
325
+
326
+ ```javascript
327
+ // performance-budget.json
328
+ {
329
+ "budgets": [
330
+ {
331
+ "resourceSizes": [
332
+ { "resourceType": "script", "budget": 150 },
333
+ { "resourceType": "image", "budget": 300 },
334
+ { "resourceType": "stylesheet", "budget": 50 },
335
+ { "resourceType": "total", "budget": 500 }
336
+ ],
337
+ "timings": [
338
+ { "metric": "largest-contentful-paint", "budget": 2500 },
339
+ { "metric": "first-input-delay", "budget": 100 },
340
+ { "metric": "cumulative-layout-shift", "budget": 0.1 },
341
+ { "metric": "time-to-interactive", "budget": 3500 }
342
+ ]
343
+ }
344
+ ]
345
+ }
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Monitoring Dashboard
351
+
352
+ ```markdown
353
+ # Web Vitals Dashboard
354
+
355
+ ## Current Performance
356
+
357
+ | Metric | P75 Value | Target | Status |
358
+ |--------|-----------|--------|--------|
359
+ | LCP | 2.1s | < 2.5s | ✅ Good |
360
+ | FID | 80ms | < 100ms | ✅ Good |
361
+ | CLS | 0.15 | < 0.1 | ⚠️ Needs Improvement |
362
+ | FCP | 1.5s | < 1.8s | ✅ Good |
363
+ | TTFB | 300ms | < 600ms | ✅ Good |
364
+
365
+ ## Trends (Last 30 Days)
366
+
367
+ LCP: ████████░░ Improved 15%
368
+ FID: ██████████ Stable
369
+ CLS: ██████░░░░ Degraded 5%
370
+
371
+ ## Top Issues
372
+
373
+ 1. CLS on product pages (0.2)
374
+ - Cause: Images without dimensions
375
+ - Fix: Add width/height attributes
376
+
377
+ 2. LCP on homepage (2.8s)
378
+ - Cause: Large hero image
379
+ - Fix: Optimize and preload image
380
+ ```
381
+
382
+ ---
383
+
384
+ ## CI/CD Integration
385
+
386
+ ```yaml
387
+ # .github/workflows/performance.yml
388
+ name: Performance Check
389
+
390
+ on: pull_request
391
+
392
+ jobs:
393
+ lighthouse:
394
+ runs-on: ubuntu-latest
395
+ steps:
396
+ - uses: actions/checkout@v3
397
+
398
+ - name: Run Lighthouse
399
+ uses: treosh/lighthouse-ci-action@v9
400
+ with:
401
+ urls: |
402
+ https://example.com/
403
+ https://example.com/products
404
+ budgetPath: ./performance-budget.json
405
+ uploadArtifacts: true
406
+
407
+ - name: Check Web Vitals
408
+ run: |
409
+ if [ "$LCP" -gt 2500 ]; then
410
+ echo "LCP exceeds budget"
411
+ exit 1
412
+ fi
413
+ ```
414
+
415
+ ---
416
+
417
+ ## Commands
418
+
419
+ | Command | Description |
420
+ |---------|-------------|
421
+ | `pa:perf-vitals` | Check Web Vitals |
422
+ | `pa:perf-lcp` | Analyze LCP |
423
+ | `pa:perf-cls` | Analyze CLS |
424
+ | `pa:perf-fid` | Analyze FID |
425
+ | `pa:perf-report` | Generate performance report |
@@ -0,0 +1,66 @@
1
+ # ProAgents Supported AI Platforms
2
+ # Single source of truth - used by code and AI assistants
3
+ #
4
+ # To add a new platform:
5
+ # 1. Add entry below with id, name, file, desc
6
+ # 2. Create the instruction file in .proagents/
7
+ # 3. Run: proagents ai add
8
+
9
+ ide:
10
+ label: "IDE-based AI Assistants"
11
+ platforms:
12
+ - id: claude
13
+ name: Claude Code
14
+ file: CLAUDE.md
15
+ desc: Anthropic Claude in terminal/IDE
16
+
17
+ - id: cursor
18
+ name: Cursor
19
+ file: .cursorrules
20
+ desc: Cursor AI IDE
21
+
22
+ - id: windsurf
23
+ name: Windsurf
24
+ file: .windsurfrules
25
+ desc: Codeium Windsurf IDE
26
+
27
+ - id: copilot
28
+ name: GitHub Copilot
29
+ file: .github/copilot-instructions.md
30
+ desc: GitHub Copilot
31
+
32
+ - id: kiro
33
+ name: AWS Kiro
34
+ file: KIRO.md
35
+ desc: AWS Kiro IDE
36
+
37
+ - id: gemini
38
+ name: Gemini
39
+ file: GEMINI.md
40
+ desc: Google Gemini / AI Studio
41
+
42
+ web:
43
+ label: "Web-based AI Platforms"
44
+ platforms:
45
+ - id: replit
46
+ name: Replit AI
47
+ file: REPLIT.md
48
+ desc: Replit Ghostwriter
49
+
50
+ - id: bolt
51
+ name: Bolt.new
52
+ file: BOLT.md
53
+ desc: StackBlitz Bolt
54
+
55
+ - id: lovable
56
+ name: Lovable
57
+ file: LOVABLE.md
58
+ desc: Lovable (GPT Engineer)
59
+
60
+ # Auto-handled platforms (use AGENTS.md, no separate file needed)
61
+ auto_handled:
62
+ - ChatGPT
63
+ - Groq
64
+ - Antigravity
65
+ - Codex CLI
66
+ - OpenAI API
@@ -67,7 +67,6 @@ documentation:
67
67
  internal:
68
68
  feature_docs: "./.proagents/active-features/" # Feature-specific docs
69
69
  dev_changelog: "./.proagents/changelog/" # Detailed dev notes
70
- analysis: "./.proagents/cache/" # Codebase analysis
71
70
  learning: "./.proagents/.learning/" # AI learning data
72
71
 
73
72
  required_for_all_modes: true
@@ -0,0 +1,80 @@
1
+ # pa:ai-add - Add AI Platform
2
+
3
+ Add a new AI platform configuration to this project.
4
+
5
+ ## Steps
6
+
7
+ ### 1. Read Available Platforms
8
+
9
+ **IMPORTANT:** Always read the authoritative list first - do not hallucinate platforms.
10
+
11
+ ```bash
12
+ cat .proagents/platforms.yaml
13
+ ```
14
+
15
+ ### 2. Show Options to User
16
+
17
+ Display platforms grouped by category:
18
+
19
+ ```
20
+ IDE-based AI Assistants:
21
+ 1. claude - Claude Code (CLAUDE.md)
22
+ 2. cursor - Cursor (.cursorrules)
23
+ 3. windsurf - Windsurf (.windsurfrules)
24
+ 4. copilot - GitHub Copilot (.github/copilot-instructions.md)
25
+ 5. kiro - AWS Kiro (KIRO.md)
26
+ 6. gemini - Gemini (GEMINI.md)
27
+
28
+ Web-based AI Platforms:
29
+ 7. replit - Replit AI (REPLIT.md)
30
+ 8. bolt - Bolt.new (BOLT.md)
31
+ 9. lovable - Lovable (LOVABLE.md)
32
+
33
+ Auto-handled (use AGENTS.md):
34
+ - ChatGPT, Groq, Antigravity, Codex CLI, OpenAI API
35
+
36
+ Which platform to add?
37
+ ```
38
+
39
+ ### 3. Create the File
40
+
41
+ After user selects platform:
42
+
43
+ 1. **Read source template** from `.proagents/{file}`
44
+ 2. **Check if target file exists** in project root:
45
+ - If exists: Merge using markers (append ProAgents section)
46
+ - If not exists: Create new file with markers
47
+
48
+ 3. **Wrap content with markers:**
49
+ ```
50
+ <!-- PROAGENTS_START -->
51
+ {content from template}
52
+ <!-- PROAGENTS_END -->
53
+ ```
54
+
55
+ ### 4. Update Config
56
+
57
+ Add platform to `ai_platforms` array in `./proagents.config.yaml`:
58
+
59
+ ```yaml
60
+ ai_platforms:
61
+ - claude
62
+ - cursor
63
+ - {new_platform} # Add this
64
+ ```
65
+
66
+ ### 5. Confirm
67
+
68
+ ```
69
+ Added {platform_name}!
70
+ File: {file_path}
71
+ Config updated: ./proagents.config.yaml
72
+ ```
73
+
74
+ ## Merge Rules
75
+
76
+ When target file already exists:
77
+
78
+ 1. **Has PROAGENTS markers:** Update content between markers only
79
+ 2. **No markers:** Append ProAgents section at end with markers
80
+ 3. **Never overwrite** user's existing configuration
@@ -0,0 +1,41 @@
1
+ # pa:ai-list - List AI Platforms
2
+
3
+ Show which AI platforms are configured for this project.
4
+
5
+ ## Steps
6
+
7
+ 1. **Read config file:**
8
+ ```bash
9
+ cat ./proagents.config.yaml
10
+ ```
11
+
12
+ 2. **Extract `ai_platforms` array** from the config
13
+
14
+ 3. **Display installed platforms:**
15
+ ```
16
+ Installed AI Platforms:
17
+ - Claude Code (CLAUDE.md)
18
+ - Cursor (.cursorrules)
19
+ - ...
20
+ ```
21
+
22
+ 4. **Show available platforms** (not yet installed):
23
+ - Read `.proagents/platforms.yaml` for full list
24
+ - Compare with installed list
25
+ - Show what can be added
26
+
27
+ ## Output Format
28
+
29
+ ```
30
+ Installed AI Platforms:
31
+ [x] claude - Claude Code
32
+ [x] cursor - Cursor
33
+
34
+ Available to Add:
35
+ [ ] windsurf - Windsurf
36
+ [ ] copilot - GitHub Copilot
37
+ [ ] gemini - Gemini
38
+ ...
39
+
40
+ Use pa:ai-add to add more platforms.
41
+ ```