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
@@ -1,487 +0,0 @@
1
- # Database Rollback Scripts
2
-
3
- Templates and procedures for database rollbacks.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- Database rollback scripts are essential for:
10
- - Recovering from failed migrations
11
- - Reverting problematic schema changes
12
- - Emergency recovery procedures
13
-
14
- ---
15
-
16
- ## Rollback Script Structure
17
-
18
- ### Basic Rollback Template
19
-
20
- ```sql
21
- -- migrations/20240115_add_user_status.down.sql
22
- -- Rollback: Add user status column
23
-
24
- -- Description: Removes the status column from users table
25
- -- Original migration: 20240115_add_user_status.up.sql
26
- -- Author: Developer Name
27
- -- Date: 2024-01-15
28
-
29
- -- Pre-rollback checks
30
- DO $$
31
- BEGIN
32
- -- Verify column exists before dropping
33
- IF NOT EXISTS (
34
- SELECT 1 FROM information_schema.columns
35
- WHERE table_name = 'users' AND column_name = 'status'
36
- ) THEN
37
- RAISE EXCEPTION 'Column users.status does not exist - nothing to rollback';
38
- END IF;
39
- END $$;
40
-
41
- -- Start transaction
42
- BEGIN;
43
-
44
- -- Perform rollback
45
- ALTER TABLE users DROP COLUMN IF EXISTS status;
46
-
47
- -- Verify rollback
48
- DO $$
49
- BEGIN
50
- IF EXISTS (
51
- SELECT 1 FROM information_schema.columns
52
- WHERE table_name = 'users' AND column_name = 'status'
53
- ) THEN
54
- RAISE EXCEPTION 'Rollback failed - column still exists';
55
- END IF;
56
- END $$;
57
-
58
- COMMIT;
59
- ```
60
-
61
- ### Prisma Rollback Migration
62
-
63
- ```javascript
64
- // prisma/migrations/20240115_add_user_status/migration.js
65
- module.exports = {
66
- // Forward migration
67
- async up(prisma) {
68
- await prisma.$executeRaw`
69
- ALTER TABLE users ADD COLUMN status VARCHAR(50) DEFAULT 'active'
70
- `;
71
- },
72
-
73
- // Rollback migration
74
- async down(prisma) {
75
- // Pre-rollback: Backup data if needed
76
- const backupData = await prisma.$queryRaw`
77
- SELECT id, status FROM users WHERE status != 'active'
78
- `;
79
-
80
- console.log('Backing up non-default status values:', backupData.length);
81
-
82
- // Perform rollback
83
- await prisma.$executeRaw`
84
- ALTER TABLE users DROP COLUMN IF EXISTS status
85
- `;
86
- },
87
- };
88
- ```
89
-
90
- ---
91
-
92
- ## Rollback Scenarios
93
-
94
- ### Scenario 1: Simple Column Drop
95
-
96
- ```sql
97
- -- UP: Added email_verified column
98
- ALTER TABLE users ADD COLUMN email_verified BOOLEAN DEFAULT false;
99
-
100
- -- DOWN: Remove email_verified column
101
- BEGIN;
102
-
103
- -- Save data for potential restore
104
- CREATE TABLE IF NOT EXISTS _rollback_users_email_verified AS
105
- SELECT id, email_verified FROM users WHERE email_verified = true;
106
-
107
- -- Remove column
108
- ALTER TABLE users DROP COLUMN email_verified;
109
-
110
- COMMIT;
111
- ```
112
-
113
- ### Scenario 2: Column Rename Rollback
114
-
115
- ```sql
116
- -- UP: Renamed name to full_name
117
- -- (Expand phase already applied)
118
-
119
- -- DOWN: Revert to original column name
120
- BEGIN;
121
-
122
- -- Copy data back
123
- UPDATE users SET name = full_name WHERE name IS NULL OR name != full_name;
124
-
125
- -- Drop new column
126
- ALTER TABLE users DROP COLUMN full_name;
127
-
128
- -- Ensure original column has correct constraint
129
- ALTER TABLE users ALTER COLUMN name SET NOT NULL;
130
-
131
- COMMIT;
132
- ```
133
-
134
- ### Scenario 3: Data Type Change Rollback
135
-
136
- ```sql
137
- -- UP: Changed amount from DECIMAL to INTEGER (cents)
138
- -- DOWN: Revert to DECIMAL
139
-
140
- BEGIN;
141
-
142
- -- Add back the decimal column
143
- ALTER TABLE orders ADD COLUMN amount_decimal DECIMAL(10,2);
144
-
145
- -- Restore data
146
- UPDATE orders SET amount_decimal = amount / 100.0;
147
-
148
- -- Drop integer column
149
- ALTER TABLE orders DROP COLUMN amount;
150
-
151
- -- Rename back
152
- ALTER TABLE orders RENAME COLUMN amount_decimal TO amount;
153
-
154
- COMMIT;
155
- ```
156
-
157
- ### Scenario 4: Constraint Removal Rollback
158
-
159
- ```sql
160
- -- UP: Added unique constraint on email
161
- -- DOWN: Remove unique constraint
162
-
163
- BEGIN;
164
-
165
- -- Remove constraint
166
- ALTER TABLE users DROP CONSTRAINT IF EXISTS users_email_unique;
167
-
168
- -- Note: Duplicates may now be possible
169
- -- Consider whether to allow this
170
-
171
- COMMIT;
172
- ```
173
-
174
- ### Scenario 5: Table Drop Rollback (with backup)
175
-
176
- ```sql
177
- -- UP: Dropped legacy_logs table
178
- -- DOWN: Restore from backup
179
-
180
- BEGIN;
181
-
182
- -- Recreate table structure
183
- CREATE TABLE legacy_logs (
184
- id SERIAL PRIMARY KEY,
185
- message TEXT,
186
- level VARCHAR(20),
187
- created_at TIMESTAMP DEFAULT NOW()
188
- );
189
-
190
- -- Restore from backup table (if exists)
191
- INSERT INTO legacy_logs
192
- SELECT * FROM _backup_legacy_logs;
193
-
194
- -- Drop backup table
195
- DROP TABLE IF EXISTS _backup_legacy_logs;
196
-
197
- COMMIT;
198
- ```
199
-
200
- ### Scenario 6: Index Removal Rollback
201
-
202
- ```sql
203
- -- UP: Added index for performance
204
- -- DOWN: Remove index (if needed)
205
-
206
- -- Non-blocking removal
207
- DROP INDEX CONCURRENTLY IF EXISTS idx_users_email_created;
208
- ```
209
-
210
- ---
211
-
212
- ## Automated Rollback Script Generator
213
-
214
- ```typescript
215
- // scripts/generate-rollback.ts
216
- import fs from 'fs';
217
- import path from 'path';
218
-
219
- interface MigrationAnalysis {
220
- type: 'add_column' | 'drop_column' | 'add_index' | 'create_table' | 'alter_table' | 'unknown';
221
- table: string;
222
- column?: string;
223
- details: Record<string, any>;
224
- }
225
-
226
- function analyzeMigration(sql: string): MigrationAnalysis[] {
227
- const operations: MigrationAnalysis[] = [];
228
-
229
- // Add column detection
230
- const addColumnMatch = sql.match(/ALTER TABLE (\w+) ADD COLUMN (\w+) ([^;]+)/gi);
231
- if (addColumnMatch) {
232
- addColumnMatch.forEach(match => {
233
- const parts = match.match(/ALTER TABLE (\w+) ADD COLUMN (\w+) (.+)/i);
234
- if (parts) {
235
- operations.push({
236
- type: 'add_column',
237
- table: parts[1],
238
- column: parts[2],
239
- details: { definition: parts[3] },
240
- });
241
- }
242
- });
243
- }
244
-
245
- // Create table detection
246
- const createTableMatch = sql.match(/CREATE TABLE (\w+)/gi);
247
- if (createTableMatch) {
248
- createTableMatch.forEach(match => {
249
- const parts = match.match(/CREATE TABLE (\w+)/i);
250
- if (parts) {
251
- operations.push({
252
- type: 'create_table',
253
- table: parts[1],
254
- details: {},
255
- });
256
- }
257
- });
258
- }
259
-
260
- return operations;
261
- }
262
-
263
- function generateRollback(operations: MigrationAnalysis[]): string {
264
- let rollback = `-- Auto-generated rollback script
265
- -- Generated: ${new Date().toISOString()}
266
- -- Review carefully before executing
267
-
268
- BEGIN;
269
-
270
- `;
271
-
272
- operations.reverse().forEach(op => {
273
- switch (op.type) {
274
- case 'add_column':
275
- rollback += `-- Rollback: Remove column ${op.column} from ${op.table}
276
- ALTER TABLE ${op.table} DROP COLUMN IF EXISTS ${op.column};
277
-
278
- `;
279
- break;
280
-
281
- case 'create_table':
282
- rollback += `-- Rollback: Drop table ${op.table}
283
- -- WARNING: This will delete all data in the table!
284
- DROP TABLE IF EXISTS ${op.table};
285
-
286
- `;
287
- break;
288
-
289
- default:
290
- rollback += `-- TODO: Manual rollback required for operation type: ${op.type}
291
-
292
- `;
293
- }
294
- });
295
-
296
- rollback += `COMMIT;
297
- `;
298
-
299
- return rollback;
300
- }
301
-
302
- // Main
303
- const migrationFile = process.argv[2];
304
- if (!migrationFile) {
305
- console.error('Usage: ts-node generate-rollback.ts <migration-file>');
306
- process.exit(1);
307
- }
308
-
309
- const sql = fs.readFileSync(migrationFile, 'utf-8');
310
- const operations = analyzeMigration(sql);
311
- const rollback = generateRollback(operations);
312
-
313
- const rollbackFile = migrationFile.replace('.up.sql', '.down.sql');
314
- fs.writeFileSync(rollbackFile, rollback);
315
- console.log(`Generated rollback: ${rollbackFile}`);
316
- ```
317
-
318
- ---
319
-
320
- ## Emergency Rollback Procedure
321
-
322
- ```bash
323
- #!/bin/bash
324
- # scripts/emergency-rollback.sh
325
-
326
- set -e
327
-
328
- # Configuration
329
- DB_URL=${DATABASE_URL}
330
- MIGRATION=$1
331
- SKIP_CONFIRMATION=${2:-false}
332
-
333
- echo "╔══════════════════════════════════════════════════╗"
334
- echo "║ EMERGENCY DATABASE ROLLBACK ║"
335
- echo "╚══════════════════════════════════════════════════╝"
336
- echo ""
337
- echo "Target: $MIGRATION"
338
- echo "Database: $(echo $DB_URL | sed 's/:[^@]*@/@/')"
339
- echo ""
340
-
341
- # Check rollback script exists
342
- ROLLBACK_FILE="migrations/${MIGRATION}.down.sql"
343
- if [ ! -f "$ROLLBACK_FILE" ]; then
344
- echo "❌ ERROR: Rollback script not found: $ROLLBACK_FILE"
345
- exit 1
346
- fi
347
-
348
- # Show rollback script content
349
- echo "Rollback Script Content:"
350
- echo "────────────────────────"
351
- cat "$ROLLBACK_FILE"
352
- echo ""
353
- echo "────────────────────────"
354
-
355
- # Confirmation
356
- if [ "$SKIP_CONFIRMATION" != "true" ]; then
357
- read -p "⚠️ Execute this rollback? (type 'ROLLBACK' to confirm): " CONFIRM
358
- if [ "$CONFIRM" != "ROLLBACK" ]; then
359
- echo "Rollback cancelled."
360
- exit 1
361
- fi
362
- fi
363
-
364
- # Create pre-rollback backup
365
- echo ""
366
- echo "Creating pre-rollback backup..."
367
- BACKUP_FILE="/tmp/pre_rollback_$(date +%Y%m%d_%H%M%S).sql"
368
- pg_dump $DB_URL > "$BACKUP_FILE"
369
- echo "✅ Backup created: $BACKUP_FILE"
370
-
371
- # Execute rollback
372
- echo ""
373
- echo "Executing rollback..."
374
- psql $DB_URL -f "$ROLLBACK_FILE"
375
-
376
- # Verify rollback
377
- echo ""
378
- echo "Verifying rollback..."
379
- # Add verification queries here
380
-
381
- echo ""
382
- echo "✅ Rollback completed successfully"
383
- echo ""
384
- echo "Next steps:"
385
- echo "1. Verify application functionality"
386
- echo "2. Monitor error rates"
387
- echo "3. Notify team of rollback"
388
- echo "4. Plan for proper fix"
389
- ```
390
-
391
- ---
392
-
393
- ## Rollback Testing
394
-
395
- ### Pre-deployment Rollback Test
396
-
397
- ```yaml
398
- # .github/workflows/test-rollback.yml
399
- name: Test Migrations and Rollbacks
400
-
401
- on:
402
- pull_request:
403
- paths:
404
- - 'prisma/migrations/**'
405
- - 'migrations/**'
406
-
407
- jobs:
408
- test-migrations:
409
- runs-on: ubuntu-latest
410
-
411
- services:
412
- postgres:
413
- image: postgres:15
414
- env:
415
- POSTGRES_PASSWORD: test
416
- options: >-
417
- --health-cmd pg_isready
418
- --health-interval 10s
419
- --health-timeout 5s
420
- --health-retries 5
421
- ports:
422
- - 5432:5432
423
-
424
- steps:
425
- - uses: actions/checkout@v4
426
-
427
- - name: Setup Node
428
- uses: actions/setup-node@v4
429
- with:
430
- node-version: '20'
431
-
432
- - name: Install dependencies
433
- run: npm ci
434
-
435
- - name: Run migrations UP
436
- run: npm run db:migrate
437
-
438
- - name: Seed test data
439
- run: npm run db:seed
440
-
441
- - name: Run migrations DOWN
442
- run: npm run db:migrate:down
443
-
444
- - name: Run migrations UP again
445
- run: npm run db:migrate
446
-
447
- - name: Verify data integrity
448
- run: npm run db:verify
449
- ```
450
-
451
- ---
452
-
453
- ## Configuration
454
-
455
- ```yaml
456
- # proagents.config.yaml
457
-
458
- database:
459
- rollback:
460
- require_script: true
461
- auto_generate: true
462
-
463
- backup:
464
- before_rollback: true
465
- retention_days: 30
466
-
467
- verification:
468
- run_after_rollback: true
469
- check_data_integrity: true
470
-
471
- notifications:
472
- on_rollback: ["slack", "email"]
473
- channels:
474
- slack: "#db-alerts"
475
- ```
476
-
477
- ---
478
-
479
- ## Commands
480
-
481
- | Command | Description |
482
- |---------|-------------|
483
- | `pa:db-rollback` | Interactive rollback wizard |
484
- | `pa:db-rollback --last` | Rollback last migration |
485
- | `pa:db-rollback --to [version]` | Rollback to specific version |
486
- | `pa:db-rollback --dry-run` | Preview rollback changes |
487
- | `pa:db-rollback --generate [migration]` | Generate rollback script |