proagents 1.0.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.
- package/LICENSE +21 -0
- package/README.md +170 -0
- package/bin/proagents.js +90 -0
- package/lib/commands/feature.js +125 -0
- package/lib/commands/fix.js +60 -0
- package/lib/commands/help.js +76 -0
- package/lib/commands/init.js +64 -0
- package/lib/commands/status.js +91 -0
- package/lib/index.js +28 -0
- package/package.json +52 -0
- package/proagents/.learning/global/common-patterns.json +77 -0
- package/proagents/.learning/global/user-preferences.json +76 -0
- package/proagents/.learning/projects/example-project/corrections.json +99 -0
- package/proagents/.learning/projects/example-project/feedback.json +109 -0
- package/proagents/.learning/projects/example-project/metrics.json +101 -0
- package/proagents/.learning/projects/example-project/patterns.json +102 -0
- package/proagents/.learning/schemas/README.md +48 -0
- package/proagents/.learning/schemas/corrections-schema.json +100 -0
- package/proagents/.learning/schemas/feedback-schema.json +144 -0
- package/proagents/.learning/schemas/metrics-schema.json +96 -0
- package/proagents/.learning/schemas/patterns-schema.json +82 -0
- package/proagents/.learning/schemas/project-patterns-schema.json +125 -0
- package/proagents/.learning/schemas/user-preferences-schema.json +136 -0
- package/proagents/GETTING-STARTED-STORY.md +708 -0
- package/proagents/README.md +99 -0
- package/proagents/WORKFLOW.md +1234 -0
- package/proagents/active-features/.gitkeep +0 -0
- package/proagents/active-features/README.md +176 -0
- package/proagents/active-features/_index.json +74 -0
- package/proagents/active-features/feature-user-auth/dependencies.json +81 -0
- package/proagents/active-features/feature-user-auth/files-modified.json +126 -0
- package/proagents/active-features/feature-user-auth/status.json +122 -0
- package/proagents/active-features/schemas/dependencies-schema.json +119 -0
- package/proagents/active-features/schemas/feature-schema.json +132 -0
- package/proagents/active-features/schemas/files-schema.json +100 -0
- package/proagents/active-features/schemas/index-schema.json +95 -0
- package/proagents/adr/README.md +302 -0
- package/proagents/adr/examples/api-versioning.md +297 -0
- package/proagents/adr/examples/database-choice.md +264 -0
- package/proagents/adr/template.md +273 -0
- package/proagents/ai-models/README.md +141 -0
- package/proagents/ai-models/cost-management.md +362 -0
- package/proagents/ai-models/fallbacks.md +342 -0
- package/proagents/ai-models/model-config.md +318 -0
- package/proagents/ai-models/task-routing.md +503 -0
- package/proagents/ai-training/README.md +155 -0
- package/proagents/ai-training/continuous-learning.md +413 -0
- package/proagents/ai-training/domain-knowledge.md +378 -0
- package/proagents/ai-training/pattern-learning.md +455 -0
- package/proagents/ai-training/training-data.md +337 -0
- package/proagents/ai-training/user-preferences.md +346 -0
- package/proagents/api-versioning/README.md +257 -0
- package/proagents/api-versioning/changelog-template.md +225 -0
- package/proagents/api-versioning/deprecation-workflow.md +470 -0
- package/proagents/api-versioning/versioning-strategy.md +291 -0
- package/proagents/approval-workflows/README.md +146 -0
- package/proagents/approval-workflows/approval-config.md +332 -0
- package/proagents/approval-workflows/approval-stages.md +503 -0
- package/proagents/approval-workflows/emergency-bypass.md +351 -0
- package/proagents/approval-workflows/examples.md +859 -0
- package/proagents/approval-workflows/notifications.md +320 -0
- package/proagents/automation/README.md +38 -0
- package/proagents/automation/ai-behavior-rules.md +339 -0
- package/proagents/automation/ai-prompt-injection.md +331 -0
- package/proagents/automation/auto-decisions.md +535 -0
- package/proagents/automation/decision-defaults.yaml +317 -0
- package/proagents/cache/README.md +110 -0
- package/proagents/cache/analysis-metadata.json +76 -0
- package/proagents/cache/conventions.json +125 -0
- package/proagents/cache/dependencies.json +85 -0
- package/proagents/cache/features.json +115 -0
- package/proagents/cache/patterns.json +105 -0
- package/proagents/cache/schemas/conventions-schema.json +138 -0
- package/proagents/cache/schemas/dependencies-schema.json +95 -0
- package/proagents/cache/schemas/features-schema.json +104 -0
- package/proagents/cache/schemas/metadata-schema.json +83 -0
- package/proagents/cache/schemas/patterns-schema.json +136 -0
- package/proagents/cache/schemas/structure-schema.json +72 -0
- package/proagents/cache/structure.json +109 -0
- package/proagents/changelog/2024/01/2024-01-10-api-url-config.md +41 -0
- package/proagents/changelog/2024/01/2024-01-12-login-bug-fix.md +69 -0
- package/proagents/changelog/2024/01/2024-01-15-user-auth-feature.md +99 -0
- package/proagents/changelog/CHANGELOG.md +82 -0
- package/proagents/changelog/README.md +327 -0
- package/proagents/changelog/entry-template.md +283 -0
- package/proagents/checklists/README.md +261 -0
- package/proagents/checklists/code-quality.md +137 -0
- package/proagents/checklists/code-review.md +148 -0
- package/proagents/checklists/pr-checklist.md +78 -0
- package/proagents/checklists/pre-deployment.md +132 -0
- package/proagents/checklists/pre-implementation.md +80 -0
- package/proagents/checklists/testing.md +120 -0
- package/proagents/cicd/README.md +338 -0
- package/proagents/cicd/azure-devops.md +267 -0
- package/proagents/cicd/github-actions.md +375 -0
- package/proagents/cicd/gitlab-ci.md +278 -0
- package/proagents/cicd/jenkins.md +317 -0
- package/proagents/cli/README.md +392 -0
- package/proagents/cli/commands-reference.md +893 -0
- package/proagents/cli/ide-integration.md +584 -0
- package/proagents/cli/shortcuts.md +394 -0
- package/proagents/cli/slash-commands.md +507 -0
- package/proagents/collaboration/README.md +143 -0
- package/proagents/collaboration/roles.md +248 -0
- package/proagents/collaboration/sessions.md +390 -0
- package/proagents/collaboration/sync.md +358 -0
- package/proagents/compliance/README.md +206 -0
- package/proagents/compliance/access-control.md +310 -0
- package/proagents/compliance/audit-logging.md +444 -0
- package/proagents/compliance/compliance-frameworks.md +429 -0
- package/proagents/compliance/reports.md +491 -0
- package/proagents/compliance/retention-policies.md +454 -0
- package/proagents/config/README.md +181 -0
- package/proagents/config/integrations/README.md +68 -0
- package/proagents/config/integrations/github.yaml +211 -0
- package/proagents/config/integrations/jira.yaml +144 -0
- package/proagents/config/integrations/linear.yaml +157 -0
- package/proagents/config/integrations/notion.yaml +203 -0
- package/proagents/config/integrations/slack.yaml +230 -0
- package/proagents/config/rules/README.md +73 -0
- package/proagents/config/rules/custom-rules.template.yaml +188 -0
- package/proagents/config/rules/validation-rules.template.yaml +177 -0
- package/proagents/config/standards/README.md +58 -0
- package/proagents/config/standards/architecture-rules.template.md +124 -0
- package/proagents/config/standards/coding-standards.template.md +107 -0
- package/proagents/config/standards/naming-conventions.template.md +114 -0
- package/proagents/config/standards/testing-standards.template.md +213 -0
- package/proagents/config/templates/README.md +74 -0
- package/proagents/config/templates/api-route.template.ts +142 -0
- package/proagents/config/templates/component.template.tsx +55 -0
- package/proagents/config/templates/hook.template.ts +93 -0
- package/proagents/config/templates/test.template.ts +171 -0
- package/proagents/config-versioning/README.md +120 -0
- package/proagents/config-versioning/changelog.md +300 -0
- package/proagents/config-versioning/rollback.md +283 -0
- package/proagents/config-versioning/versioning.md +330 -0
- package/proagents/contract-testing/README.md +223 -0
- package/proagents/contract-testing/contract-testing.md +614 -0
- package/proagents/contract-testing/pact-integration.md +507 -0
- package/proagents/contract-testing/schema-validation.md +565 -0
- package/proagents/cost/README.md +48 -0
- package/proagents/cost/cost-template.md +283 -0
- package/proagents/cost/estimation-framework.md +287 -0
- package/proagents/database/README.md +72 -0
- package/proagents/database/examples/001-create-users.sql +129 -0
- package/proagents/database/examples/002-add-preferences.sql +94 -0
- package/proagents/database/examples/003-add-index.sql +105 -0
- package/proagents/database/examples/004-rename-column.sql +122 -0
- package/proagents/database/examples/005-add-foreign-key.sql +142 -0
- package/proagents/database/examples/006-data-migration.sql +196 -0
- package/proagents/database/examples/007-drop-column.sql +163 -0
- package/proagents/database/examples/README.md +89 -0
- package/proagents/database/migration-workflow.md +478 -0
- package/proagents/database/rollback-scripts.md +487 -0
- package/proagents/database/safety-checks.md +447 -0
- package/proagents/dependency-management/README.md +140 -0
- package/proagents/dependency-management/automation.md +363 -0
- package/proagents/dependency-management/compatibility.md +319 -0
- package/proagents/dependency-management/security-scanning.md +413 -0
- package/proagents/dependency-management/update-policies.md +374 -0
- package/proagents/disaster-recovery/README.md +247 -0
- package/proagents/disaster-recovery/automation.md +366 -0
- package/proagents/disaster-recovery/backup-recovery.md +571 -0
- package/proagents/disaster-recovery/incident-response.md +565 -0
- package/proagents/disaster-recovery/rollback-procedures.md +499 -0
- package/proagents/disaster-recovery/runbooks.md +603 -0
- package/proagents/disaster-recovery/scenarios.md +892 -0
- package/proagents/disaster-recovery/testing.md +438 -0
- package/proagents/environments/README.md +244 -0
- package/proagents/environments/configuration.md +437 -0
- package/proagents/environments/promotion.md +434 -0
- package/proagents/environments/setup.md +420 -0
- package/proagents/examples/README.md +55 -0
- package/proagents/examples/backend-nodejs/README.md +188 -0
- package/proagents/examples/backend-nodejs/complete-conversation.md +601 -0
- package/proagents/examples/backend-nodejs/proagents.config.yaml +415 -0
- package/proagents/examples/backend-nodejs/workflow-example.md +909 -0
- package/proagents/examples/fullstack-nextjs/README.md +155 -0
- package/proagents/examples/fullstack-nextjs/complete-conversation.md +604 -0
- package/proagents/examples/fullstack-nextjs/proagents.config.yaml +287 -0
- package/proagents/examples/fullstack-nextjs/workflow-example.md +553 -0
- package/proagents/examples/mobile-react-native/README.md +171 -0
- package/proagents/examples/mobile-react-native/complete-conversation.md +825 -0
- package/proagents/examples/mobile-react-native/proagents.config.yaml +330 -0
- package/proagents/examples/mobile-react-native/workflow-example.md +723 -0
- package/proagents/examples/web-frontend-react/README.md +125 -0
- package/proagents/examples/web-frontend-react/complete-conversation.md +556 -0
- package/proagents/examples/web-frontend-react/proagents.config.yaml +183 -0
- package/proagents/examples/web-frontend-react/workflow-example.md +603 -0
- package/proagents/existing-projects/README.md +65 -0
- package/proagents/existing-projects/challenges.md +861 -0
- package/proagents/existing-projects/coexistence-mode.md +483 -0
- package/proagents/existing-projects/compatibility-assessment.md +541 -0
- package/proagents/existing-projects/gradual-adoption.md +515 -0
- package/proagents/existing-projects/migration-strategies.md +788 -0
- package/proagents/existing-projects/pattern-reconciliation.md +489 -0
- package/proagents/existing-projects/team-onboarding.md +617 -0
- package/proagents/existing-projects/technical-debt-handling.md +644 -0
- package/proagents/feature-flags/README.md +263 -0
- package/proagents/feature-flags/ab-testing.md +413 -0
- package/proagents/feature-flags/configuration.md +420 -0
- package/proagents/feature-flags/kill-switches.md +444 -0
- package/proagents/feature-flags/rollout-strategies.md +392 -0
- package/proagents/getting-started/README.md +60 -0
- package/proagents/getting-started/ai-training-setup.md +380 -0
- package/proagents/getting-started/ide-setup.md +195 -0
- package/proagents/getting-started/mcp-setup.md +239 -0
- package/proagents/getting-started/pm-integration.md +336 -0
- package/proagents/getting-started/prompt-engineering.md +478 -0
- package/proagents/getting-started/team-onboarding.md +236 -0
- package/proagents/git/README.md +68 -0
- package/proagents/git/branch-strategy.md +164 -0
- package/proagents/git/commit-conventions.md +241 -0
- package/proagents/git/pr-workflow.md +286 -0
- package/proagents/git/rollback-procedures.md +416 -0
- package/proagents/i18n/README.md +133 -0
- package/proagents/i18n/extraction.md +433 -0
- package/proagents/i18n/tms-integration.md +332 -0
- package/proagents/i18n/translation-workflow.md +413 -0
- package/proagents/i18n/validation.md +355 -0
- package/proagents/ide-integration/README.md +124 -0
- package/proagents/ide-integration/cline-config.md +429 -0
- package/proagents/ide-integration/continue-config.md +380 -0
- package/proagents/ide-integration/cursor-rules.md +280 -0
- package/proagents/ide-integration/github-copilot.md +384 -0
- package/proagents/ide-integration/windsurf-rules.md +314 -0
- package/proagents/integrations/README.md +97 -0
- package/proagents/integrations/pm/README.md +344 -0
- package/proagents/learning/README.md +136 -0
- package/proagents/learning/adaptation.md +305 -0
- package/proagents/learning/data-collection.md +283 -0
- package/proagents/learning/implementation-guide.md +865 -0
- package/proagents/learning/reports.md +306 -0
- package/proagents/logging/README.md +276 -0
- package/proagents/logging/aggregation.md +475 -0
- package/proagents/logging/log-levels.md +376 -0
- package/proagents/logging/sensitive-data.md +423 -0
- package/proagents/logging/structured-logging.md +406 -0
- package/proagents/mcp/README.md +133 -0
- package/proagents/mcp/context-providers.md +442 -0
- package/proagents/mcp/server-config.md +306 -0
- package/proagents/mcp/tools-definition.md +513 -0
- package/proagents/metrics/README.md +174 -0
- package/proagents/metrics/code-quality-kpis.md +461 -0
- package/proagents/metrics/deployment-metrics.md +517 -0
- package/proagents/metrics/developer-productivity.md +368 -0
- package/proagents/metrics/learning-effectiveness.md +478 -0
- package/proagents/migrations/README.md +77 -0
- package/proagents/migrations/from-claude-projects.md +312 -0
- package/proagents/migrations/from-cursor-rules.md +345 -0
- package/proagents/migrations/from-custom-workflows.md +410 -0
- package/proagents/monitoring/README.md +308 -0
- package/proagents/monitoring/alerting.md +449 -0
- package/proagents/monitoring/dashboards.md +454 -0
- package/proagents/monitoring/health-checks.md +436 -0
- package/proagents/monitoring/metrics.md +434 -0
- package/proagents/multi-project/README.md +170 -0
- package/proagents/multi-project/coordinated-deploy.md +510 -0
- package/proagents/multi-project/cross-project-deps.md +395 -0
- package/proagents/multi-project/unified-changelog.md +477 -0
- package/proagents/multi-project/walkthroughs/monorepo-setup.md +787 -0
- package/proagents/multi-project/workspace-config.md +408 -0
- package/proagents/notifications/README.md +151 -0
- package/proagents/notifications/channels.md +457 -0
- package/proagents/notifications/preferences.md +415 -0
- package/proagents/notifications/routing.md +449 -0
- package/proagents/notifications/scheduling.md +425 -0
- package/proagents/notifications/templates.md +446 -0
- package/proagents/offline-mode/README.md +145 -0
- package/proagents/offline-mode/caching.md +344 -0
- package/proagents/offline-mode/offline-operations.md +312 -0
- package/proagents/offline-mode/queue-specifications.md +679 -0
- package/proagents/offline-mode/sync.md +475 -0
- package/proagents/parallel-features/README.md +85 -0
- package/proagents/parallel-features/conflict-detection.md +226 -0
- package/proagents/parallel-features/dependency-management.md +392 -0
- package/proagents/parallel-features/merge-coordination.md +506 -0
- package/proagents/parallel-features/tracking-system.md +416 -0
- package/proagents/patterns/README.md +305 -0
- package/proagents/patterns/api-errors.md +453 -0
- package/proagents/patterns/async-errors.md +521 -0
- package/proagents/patterns/error-types.md +437 -0
- package/proagents/patterns/ui-errors.md +595 -0
- package/proagents/performance/README.md +59 -0
- package/proagents/performance/bundle-analysis.md +375 -0
- package/proagents/performance/load-testing.md +563 -0
- package/proagents/performance/runtime-metrics.md +489 -0
- package/proagents/performance/web-vitals.md +425 -0
- package/proagents/plugins/README.md +139 -0
- package/proagents/plugins/creating-plugins.md +504 -0
- package/proagents/plugins/plugin-api.md +467 -0
- package/proagents/plugins/plugin-registry.md +276 -0
- package/proagents/pm-integration/README.md +151 -0
- package/proagents/pm-integration/asana.md +346 -0
- package/proagents/pm-integration/github-issues.md +308 -0
- package/proagents/pm-integration/gitlab-issues.md +482 -0
- package/proagents/pm-integration/jira.md +364 -0
- package/proagents/pm-integration/linear.md +409 -0
- package/proagents/pm-integration/notion.md +275 -0
- package/proagents/pm-integration/sync-config.md +533 -0
- package/proagents/pm-integration/trello.md +159 -0
- package/proagents/proagents.config.yaml +213 -0
- package/proagents/prompts/00-init-wizard.md +426 -0
- package/proagents/prompts/00-init.md +219 -0
- package/proagents/prompts/01-analysis.md +244 -0
- package/proagents/prompts/02-requirements.md +399 -0
- package/proagents/prompts/03-ui-design.md +493 -0
- package/proagents/prompts/04-planning.md +505 -0
- package/proagents/prompts/05-implementation.md +518 -0
- package/proagents/prompts/06-testing.md +620 -0
- package/proagents/prompts/06.5-code-review.md +512 -0
- package/proagents/prompts/07-documentation.md +673 -0
- package/proagents/prompts/08-deployment.md +539 -0
- package/proagents/prompts/09-rollback.md +554 -0
- package/proagents/prompts/README.md +51 -0
- package/proagents/prompts/accessibility/README.md +146 -0
- package/proagents/prompts/accessibility/aria.md +276 -0
- package/proagents/prompts/accessibility/audit.md +233 -0
- package/proagents/prompts/accessibility/keyboard.md +392 -0
- package/proagents/prompts/accessibility/wcag.md +189 -0
- package/proagents/prompts/debugging/README.md +51 -0
- package/proagents/prompts/debugging/error-analysis.md +385 -0
- package/proagents/prompts/debugging/performance-debug.md +381 -0
- package/proagents/prompts/debugging/systematic.md +270 -0
- package/proagents/prompts/performance/README.md +47 -0
- package/proagents/prompts/performance/analyze.md +265 -0
- package/proagents/prompts/performance/optimize.md +347 -0
- package/proagents/prompts/refactoring/README.md +51 -0
- package/proagents/prompts/refactoring/architecture.md +531 -0
- package/proagents/prompts/refactoring/code-smells.md +174 -0
- package/proagents/prompts/refactoring/patterns.md +516 -0
- package/proagents/prompts/security-audit/README.md +197 -0
- package/proagents/prompts/security-audit/code-review.md +260 -0
- package/proagents/prompts/security-audit/vulnerability-scan.md +288 -0
- package/proagents/reporting/README.md +158 -0
- package/proagents/reporting/dashboards.md +366 -0
- package/proagents/reporting/exports.md +524 -0
- package/proagents/reporting/quality-metrics.md +385 -0
- package/proagents/reporting/templates/README.md +56 -0
- package/proagents/reporting/templates/dashboard-config.json +187 -0
- package/proagents/reporting/templates/metrics-queries.md +427 -0
- package/proagents/reporting/templates/react-dashboard.tsx +544 -0
- package/proagents/reporting/templates/widgets.md +451 -0
- package/proagents/reporting/velocity-metrics.md +340 -0
- package/proagents/reverse-engineering/README.md +151 -0
- package/proagents/reverse-engineering/architecture-extraction.md +325 -0
- package/proagents/reverse-engineering/code-analysis.md +377 -0
- package/proagents/reverse-engineering/dependency-mapping.md +567 -0
- package/proagents/reverse-engineering/diagram-generation.md +586 -0
- package/proagents/reverse-engineering/documentation-generation.md +468 -0
- package/proagents/reverse-engineering/pattern-detection.md +569 -0
- package/proagents/reverse-engineering/quality-assessment.md +733 -0
- package/proagents/rules/README.md +179 -0
- package/proagents/rules/custom-rules-template.yaml +286 -0
- package/proagents/rules/custom-rules.md +754 -0
- package/proagents/rules/validation-rules-template.yaml +517 -0
- package/proagents/runbooks/README.md +219 -0
- package/proagents/runbooks/dependency-vulnerability.md +505 -0
- package/proagents/runbooks/incident-response.md +451 -0
- package/proagents/runbooks/performance-degradation.md +584 -0
- package/proagents/runbooks/production-debugging.md +489 -0
- package/proagents/scaffolding/README.md +64 -0
- package/proagents/scaffolding/nextjs/README.md +578 -0
- package/proagents/scaffolding/nextjs/templates/api-route.ts.template +185 -0
- package/proagents/scaffolding/nextjs/templates/page.tsx.template +109 -0
- package/proagents/scaffolding/nextjs/templates/server-action.ts.template +204 -0
- package/proagents/scaffolding/nodejs/README.md +558 -0
- package/proagents/scaffolding/nodejs/templates/controller.ts.template +167 -0
- package/proagents/scaffolding/nodejs/templates/repository.ts.template +155 -0
- package/proagents/scaffolding/nodejs/templates/service.ts.template +207 -0
- package/proagents/scaffolding/project-types.md +401 -0
- package/proagents/scaffolding/react/README.md +399 -0
- package/proagents/scaffolding/react/templates/component.tsx.template +88 -0
- package/proagents/scaffolding/react/templates/hook.ts.template +127 -0
- package/proagents/scaffolding/react/templates/service.ts.template +155 -0
- package/proagents/scaffolding/react/templates/test.tsx.template +149 -0
- package/proagents/scaffolding/react-native/README.md +476 -0
- package/proagents/scaffolding/react-native/templates/hook.ts.template +226 -0
- package/proagents/scaffolding/react-native/templates/screen.tsx.template +247 -0
- package/proagents/secrets/README.md +278 -0
- package/proagents/secrets/access-control.md +443 -0
- package/proagents/secrets/rotation.md +403 -0
- package/proagents/secrets/scanning.md +487 -0
- package/proagents/secrets/storage.md +394 -0
- package/proagents/security/README.md +71 -0
- package/proagents/security/owasp-checklist.md +390 -0
- package/proagents/security/sast-guide.md +473 -0
- package/proagents/security/security-report-template.md +343 -0
- package/proagents/security/vulnerability-scanning.md +329 -0
- package/proagents/slash-commands.json +161 -0
- package/proagents/standards/README.md +120 -0
- package/proagents/standards/architecture-patterns.md +728 -0
- package/proagents/standards/architecture-rules-template.md +489 -0
- package/proagents/standards/coding-standards-template.md +489 -0
- package/proagents/standards/examples/README.md +61 -0
- package/proagents/standards/examples/nodejs-api.md +560 -0
- package/proagents/standards/examples/react-nextjs.md +428 -0
- package/proagents/standards/naming-conventions-template.md +526 -0
- package/proagents/standards/override-system.md +717 -0
- package/proagents/standards/testing-standards-template.md +220 -0
- package/proagents/team/README.md +256 -0
- package/proagents/team/code-ownership.md +306 -0
- package/proagents/team/communication-templates.md +441 -0
- package/proagents/team/handoff-protocol.md +380 -0
- package/proagents/team/ide-setup/README.md +103 -0
- package/proagents/team/ide-setup/cursor.md +276 -0
- package/proagents/team/ide-setup/jetbrains.md +330 -0
- package/proagents/team/ide-setup/neovim.md +640 -0
- package/proagents/team/ide-setup/vscode.md +348 -0
- package/proagents/team/onboarding.md +278 -0
- package/proagents/templates/README.md +57 -0
- package/proagents/templates/code-review-report.md +255 -0
- package/proagents/templates/codebase-analysis-report.md +315 -0
- package/proagents/templates/deployment-checklist.md +277 -0
- package/proagents/templates/feature-requirements.md +142 -0
- package/proagents/templates/feature-status.md +231 -0
- package/proagents/templates/implementation-plan.md +373 -0
- package/proagents/templates/rollback-plan.md +331 -0
- package/proagents/templates/test-plan.md +336 -0
- package/proagents/templates/ui-specification.md +431 -0
- package/proagents/testing-standards/README.md +229 -0
- package/proagents/testing-standards/coverage-requirements.md +198 -0
- package/proagents/testing-standards/mocking-guidelines.md +478 -0
- package/proagents/testing-standards/test-naming.md +485 -0
- package/proagents/testing-standards/test-patterns.md +488 -0
- package/proagents/troubleshooting/README.md +730 -0
- package/proagents/troubleshooting/ai-issues.md +601 -0
- package/proagents/troubleshooting/workflow-issues.md +571 -0
- package/proagents/ui-integration/README.md +77 -0
- package/proagents/ui-integration/figma-guide.md +217 -0
- package/proagents/ui-integration/manual-export-guide.md +358 -0
- package/proagents/ui-integration/sketch-interpretation.md +471 -0
- package/proagents/webhooks/README.md +126 -0
- package/proagents/webhooks/endpoints.md +298 -0
- package/proagents/webhooks/events.md +316 -0
- package/proagents/webhooks/payloads.md +325 -0
- package/proagents/webhooks/reliability.md +363 -0
- package/proagents/webhooks/security.md +380 -0
- package/proagents/workflow-modes/README.md +136 -0
- package/proagents/workflow-modes/deferred-tracking.md +405 -0
- package/proagents/workflow-modes/entry-modes.md +397 -0
- package/proagents/workflow-modes/guardrails.md +405 -0
- package/proagents/workflow-modes/mode-detection.md +358 -0
- package/proagents/workflow-modes/mode-switching.md +372 -0
|
@@ -0,0 +1,487 @@
|
|
|
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
|
+
## Slash Commands
|
|
480
|
+
|
|
481
|
+
| Command | Description |
|
|
482
|
+
|---------|-------------|
|
|
483
|
+
| `/db-rollback` | Interactive rollback wizard |
|
|
484
|
+
| `/db-rollback --last` | Rollback last migration |
|
|
485
|
+
| `/db-rollback --to [version]` | Rollback to specific version |
|
|
486
|
+
| `/db-rollback --dry-run` | Preview rollback changes |
|
|
487
|
+
| `/db-rollback --generate [migration]` | Generate rollback script |
|