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,286 @@
|
|
|
1
|
+
# Pull Request Workflow
|
|
2
|
+
|
|
3
|
+
Standard workflow for creating and reviewing pull requests.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Creating a Pull Request
|
|
8
|
+
|
|
9
|
+
### Step 1: Prepare Branch
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Ensure branch is up to date
|
|
13
|
+
git fetch origin
|
|
14
|
+
git rebase origin/develop
|
|
15
|
+
|
|
16
|
+
# Push branch
|
|
17
|
+
git push origin feature/my-feature -u
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Step 2: Create PR
|
|
21
|
+
|
|
22
|
+
Using GitHub CLI:
|
|
23
|
+
```bash
|
|
24
|
+
gh pr create --title "feat(scope): description" --body "$(cat <<'EOF'
|
|
25
|
+
## Summary
|
|
26
|
+
Brief description of changes.
|
|
27
|
+
|
|
28
|
+
## Changes
|
|
29
|
+
- Change 1
|
|
30
|
+
- Change 2
|
|
31
|
+
|
|
32
|
+
## Test Plan
|
|
33
|
+
- [ ] Unit tests added
|
|
34
|
+
- [ ] Manual testing completed
|
|
35
|
+
|
|
36
|
+
## Screenshots
|
|
37
|
+
(if applicable)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
41
|
+
EOF
|
|
42
|
+
)"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## PR Title Format
|
|
48
|
+
|
|
49
|
+
Follow commit conventions:
|
|
50
|
+
```
|
|
51
|
+
<type>(<scope>): <description>
|
|
52
|
+
|
|
53
|
+
Examples:
|
|
54
|
+
feat(auth): add password reset flow
|
|
55
|
+
fix(api): handle null response in user service
|
|
56
|
+
docs(readme): update installation instructions
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## PR Description Template
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## Summary
|
|
65
|
+
[Brief description of what this PR does]
|
|
66
|
+
|
|
67
|
+
## Related Issue
|
|
68
|
+
Fixes #[issue number]
|
|
69
|
+
|
|
70
|
+
## Changes
|
|
71
|
+
- [Change 1]
|
|
72
|
+
- [Change 2]
|
|
73
|
+
- [Change 3]
|
|
74
|
+
|
|
75
|
+
## Type of Change
|
|
76
|
+
- [ ] Bug fix (non-breaking change that fixes an issue)
|
|
77
|
+
- [ ] New feature (non-breaking change that adds functionality)
|
|
78
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
79
|
+
- [ ] Documentation update
|
|
80
|
+
|
|
81
|
+
## Test Plan
|
|
82
|
+
- [ ] Unit tests added/updated
|
|
83
|
+
- [ ] Integration tests added/updated
|
|
84
|
+
- [ ] Manual testing completed
|
|
85
|
+
|
|
86
|
+
## Screenshots
|
|
87
|
+
[If applicable, add screenshots]
|
|
88
|
+
|
|
89
|
+
## Checklist
|
|
90
|
+
- [ ] Code follows project conventions
|
|
91
|
+
- [ ] Self-review completed
|
|
92
|
+
- [ ] Documentation updated
|
|
93
|
+
- [ ] Tests pass locally
|
|
94
|
+
- [ ] No new warnings
|
|
95
|
+
|
|
96
|
+
## Notes for Reviewers
|
|
97
|
+
[Any additional context for reviewers]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Review Process
|
|
103
|
+
|
|
104
|
+
### For Authors
|
|
105
|
+
|
|
106
|
+
1. **Self-Review First**
|
|
107
|
+
- Review your own diff
|
|
108
|
+
- Check for obvious issues
|
|
109
|
+
- Ensure tests pass
|
|
110
|
+
|
|
111
|
+
2. **Request Reviews**
|
|
112
|
+
- Add appropriate reviewers
|
|
113
|
+
- CODEOWNERS auto-assigns owners
|
|
114
|
+
|
|
115
|
+
3. **Respond to Feedback**
|
|
116
|
+
- Address all comments
|
|
117
|
+
- Explain decisions if disagreeing
|
|
118
|
+
- Mark resolved when addressed
|
|
119
|
+
|
|
120
|
+
4. **Keep Updated**
|
|
121
|
+
- Rebase if base branch updated
|
|
122
|
+
- Resolve merge conflicts promptly
|
|
123
|
+
|
|
124
|
+
### For Reviewers
|
|
125
|
+
|
|
126
|
+
1. **Timely Review**
|
|
127
|
+
- Review within SLA (see code-ownership.md)
|
|
128
|
+
- Don't let PRs go stale
|
|
129
|
+
|
|
130
|
+
2. **Review Checklist**
|
|
131
|
+
- Code correctness
|
|
132
|
+
- Code style
|
|
133
|
+
- Test coverage
|
|
134
|
+
- Documentation
|
|
135
|
+
- Security
|
|
136
|
+
- Performance
|
|
137
|
+
|
|
138
|
+
3. **Provide Constructive Feedback**
|
|
139
|
+
- Be specific
|
|
140
|
+
- Explain why
|
|
141
|
+
- Suggest alternatives
|
|
142
|
+
- Distinguish blocking vs non-blocking
|
|
143
|
+
|
|
144
|
+
4. **Approve or Request Changes**
|
|
145
|
+
- Approve if ready
|
|
146
|
+
- Request changes with clear items
|
|
147
|
+
- Comment if just suggestions
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Review Comment Conventions
|
|
152
|
+
|
|
153
|
+
### Blocking (Must Fix)
|
|
154
|
+
```
|
|
155
|
+
🔴 **Blocking:** This could cause [issue].
|
|
156
|
+
Suggested fix: [suggestion]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Should Fix (Important)
|
|
160
|
+
```
|
|
161
|
+
🟡 **Important:** Consider [change].
|
|
162
|
+
Reason: [explanation]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Suggestion (Optional)
|
|
166
|
+
```
|
|
167
|
+
💡 **Suggestion:** You might want to [improvement].
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Question
|
|
171
|
+
```
|
|
172
|
+
❓ **Question:** Why did you choose [approach]?
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Praise
|
|
176
|
+
```
|
|
177
|
+
✅ **Nice!** This is a clean solution.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Merge Requirements
|
|
183
|
+
|
|
184
|
+
### Required Checks
|
|
185
|
+
- [ ] CI passes (tests, lint, build)
|
|
186
|
+
- [ ] Required reviewers approved
|
|
187
|
+
- [ ] No merge conflicts
|
|
188
|
+
- [ ] Branch up to date
|
|
189
|
+
|
|
190
|
+
### Merge Strategies
|
|
191
|
+
|
|
192
|
+
**Squash and Merge (Recommended)**
|
|
193
|
+
- For feature branches
|
|
194
|
+
- Creates clean history
|
|
195
|
+
- Single commit per feature
|
|
196
|
+
|
|
197
|
+
**Rebase and Merge**
|
|
198
|
+
- For clean commit history
|
|
199
|
+
- Preserves individual commits
|
|
200
|
+
- Use when commits are atomic
|
|
201
|
+
|
|
202
|
+
**Merge Commit**
|
|
203
|
+
- For long-running branches
|
|
204
|
+
- Preserves full history
|
|
205
|
+
- Shows merge point
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## After Merge
|
|
210
|
+
|
|
211
|
+
1. **Delete Branch**
|
|
212
|
+
```bash
|
|
213
|
+
git branch -d feature/my-feature
|
|
214
|
+
git push origin --delete feature/my-feature
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
2. **Update Local**
|
|
218
|
+
```bash
|
|
219
|
+
git checkout develop
|
|
220
|
+
git pull origin develop
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
3. **Verify Deployment**
|
|
224
|
+
- Check CI/CD pipeline
|
|
225
|
+
- Verify staging deployment
|
|
226
|
+
- Monitor for issues
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Handling Feedback
|
|
231
|
+
|
|
232
|
+
### If Changes Requested
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Make changes
|
|
236
|
+
git add .
|
|
237
|
+
git commit -m "address review feedback"
|
|
238
|
+
git push origin feature/my-feature
|
|
239
|
+
|
|
240
|
+
# Or amend if single change
|
|
241
|
+
git add .
|
|
242
|
+
git commit --amend
|
|
243
|
+
git push --force-with-lease
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### If Conflicts Arise
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# Update from base
|
|
250
|
+
git fetch origin
|
|
251
|
+
git rebase origin/develop
|
|
252
|
+
|
|
253
|
+
# Resolve conflicts
|
|
254
|
+
# ... resolve in editor ...
|
|
255
|
+
|
|
256
|
+
git add .
|
|
257
|
+
git rebase --continue
|
|
258
|
+
git push --force-with-lease
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## PR Size Guidelines
|
|
264
|
+
|
|
265
|
+
| Size | Lines Changed | Review Time |
|
|
266
|
+
|------|---------------|-------------|
|
|
267
|
+
| Small | < 100 | < 30 min |
|
|
268
|
+
| Medium | 100-500 | 1-2 hours |
|
|
269
|
+
| Large | > 500 | Consider splitting |
|
|
270
|
+
|
|
271
|
+
### Tips for Smaller PRs
|
|
272
|
+
- Break features into increments
|
|
273
|
+
- Separate refactoring from features
|
|
274
|
+
- Use feature flags for partial work
|
|
275
|
+
- Create dependent PRs
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Slash Commands
|
|
280
|
+
|
|
281
|
+
| Command | Description |
|
|
282
|
+
|---------|-------------|
|
|
283
|
+
| `/pr-create` | Create pull request |
|
|
284
|
+
| `/pr-update` | Update PR description |
|
|
285
|
+
| `/pr-merge` | Merge pull request |
|
|
286
|
+
| `/pr-review` | Request review |
|
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# Git Rollback Procedures
|
|
2
|
+
|
|
3
|
+
Safe and effective rollback strategies using Git.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This guide covers rollback procedures for:
|
|
10
|
+
- Code rollbacks
|
|
11
|
+
- Release rollbacks
|
|
12
|
+
- Emergency hotfixes
|
|
13
|
+
- Database-coordinated rollbacks
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Rollback Types
|
|
18
|
+
|
|
19
|
+
### 1. Quick Rollback (Last Commit)
|
|
20
|
+
|
|
21
|
+
**When:** Single bad commit needs reverting
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Revert the last commit (creates new commit)
|
|
25
|
+
git revert HEAD
|
|
26
|
+
|
|
27
|
+
# Revert without auto-commit (review first)
|
|
28
|
+
git revert HEAD --no-commit
|
|
29
|
+
git diff --staged # Review changes
|
|
30
|
+
git commit -m "Revert: [original commit message]"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Best for:** Small changes, bug fixes gone wrong
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### 2. Feature Rollback (Multiple Commits)
|
|
38
|
+
|
|
39
|
+
**When:** Entire feature needs reverting
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Find where feature started
|
|
43
|
+
git log --oneline --graph
|
|
44
|
+
|
|
45
|
+
# Revert range of commits (oldest to newest)
|
|
46
|
+
git revert --no-commit abc123..def456
|
|
47
|
+
git commit -m "Revert: feature-name due to [reason]"
|
|
48
|
+
|
|
49
|
+
# OR revert a merge commit
|
|
50
|
+
git revert -m 1 <merge-commit-hash>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Example:**
|
|
54
|
+
```bash
|
|
55
|
+
# Feature was merged in commit abc123
|
|
56
|
+
git revert -m 1 abc123
|
|
57
|
+
|
|
58
|
+
# Message
|
|
59
|
+
Revert: Merge feature/user-auth
|
|
60
|
+
|
|
61
|
+
Reason: Authentication causing 500 errors in production
|
|
62
|
+
Ticket: ISSUE-456
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### 3. Release Rollback (Version Tag)
|
|
68
|
+
|
|
69
|
+
**When:** Entire release needs reverting
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Current: v1.2.0 (broken)
|
|
73
|
+
# Target: v1.1.0 (last stable)
|
|
74
|
+
|
|
75
|
+
# Option A: Reset to previous tag (CAREFUL - destructive)
|
|
76
|
+
git reset --hard v1.1.0
|
|
77
|
+
git push --force origin main # Requires permissions
|
|
78
|
+
|
|
79
|
+
# Option B: Revert all commits since last release (safe)
|
|
80
|
+
git revert --no-commit v1.1.0..v1.2.0
|
|
81
|
+
git commit -m "Revert: v1.2.0 release - rolling back to v1.1.0"
|
|
82
|
+
git tag v1.2.1
|
|
83
|
+
git push origin main --tags
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Best for:** Major release issues
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### 4. Emergency Hotfix
|
|
91
|
+
|
|
92
|
+
**When:** Critical fix needed immediately
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Start from production tag
|
|
96
|
+
git checkout v1.2.0
|
|
97
|
+
git checkout -b hotfix/critical-fix
|
|
98
|
+
|
|
99
|
+
# Make minimal fix
|
|
100
|
+
# ... edit files ...
|
|
101
|
+
|
|
102
|
+
git add .
|
|
103
|
+
git commit -m "hotfix: Critical fix for [issue]"
|
|
104
|
+
|
|
105
|
+
# Create new tag
|
|
106
|
+
git tag v1.2.1
|
|
107
|
+
|
|
108
|
+
# Merge back to main
|
|
109
|
+
git checkout main
|
|
110
|
+
git merge hotfix/critical-fix
|
|
111
|
+
|
|
112
|
+
# Push everything
|
|
113
|
+
git push origin main --tags
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Rollback Decision Tree
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Problem Detected
|
|
122
|
+
│
|
|
123
|
+
▼
|
|
124
|
+
┌──────────────────┐
|
|
125
|
+
│ Can quick fix? │──Yes──▶ Deploy hotfix
|
|
126
|
+
└──────────────────┘
|
|
127
|
+
│ No
|
|
128
|
+
▼
|
|
129
|
+
┌──────────────────┐
|
|
130
|
+
│ Single commit? │──Yes──▶ git revert HEAD
|
|
131
|
+
└──────────────────┘
|
|
132
|
+
│ No
|
|
133
|
+
▼
|
|
134
|
+
┌──────────────────┐
|
|
135
|
+
│ Feature merge? │──Yes──▶ git revert -m 1 <merge>
|
|
136
|
+
└──────────────────┘
|
|
137
|
+
│ No
|
|
138
|
+
▼
|
|
139
|
+
┌──────────────────┐
|
|
140
|
+
│ Multiple commits │──Yes──▶ git revert <range>
|
|
141
|
+
└──────────────────┘
|
|
142
|
+
│ No
|
|
143
|
+
▼
|
|
144
|
+
┌──────────────────┐
|
|
145
|
+
│ Full release? │──Yes──▶ Revert to previous tag
|
|
146
|
+
└──────────────────┘
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Rollback Checklist
|
|
152
|
+
|
|
153
|
+
### Before Rollback
|
|
154
|
+
```markdown
|
|
155
|
+
- [ ] Confirm the issue requires rollback (not fixable quickly)
|
|
156
|
+
- [ ] Identify exact commits/release to roll back
|
|
157
|
+
- [ ] Notify stakeholders (team, support, customers if needed)
|
|
158
|
+
- [ ] Check for database migrations that need reverting
|
|
159
|
+
- [ ] Prepare rollback script/commands
|
|
160
|
+
- [ ] Ensure access to deployment pipeline
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### During Rollback
|
|
164
|
+
```markdown
|
|
165
|
+
- [ ] Put application in maintenance mode (if applicable)
|
|
166
|
+
- [ ] Execute Git rollback commands
|
|
167
|
+
- [ ] Revert any database migrations
|
|
168
|
+
- [ ] Deploy rolled-back code
|
|
169
|
+
- [ ] Verify application health checks
|
|
170
|
+
- [ ] Test critical paths manually
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### After Rollback
|
|
174
|
+
```markdown
|
|
175
|
+
- [ ] Monitor error rates and performance
|
|
176
|
+
- [ ] Communicate completion to stakeholders
|
|
177
|
+
- [ ] Create incident report
|
|
178
|
+
- [ ] Schedule post-mortem
|
|
179
|
+
- [ ] Plan proper fix for original issue
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Database-Coordinated Rollback
|
|
185
|
+
|
|
186
|
+
When rollback involves database changes:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# 1. Put app in maintenance mode
|
|
190
|
+
./scripts/maintenance-mode on
|
|
191
|
+
|
|
192
|
+
# 2. Run database rollback
|
|
193
|
+
npm run db:migrate:down
|
|
194
|
+
# OR
|
|
195
|
+
npx prisma migrate reset --to <migration-name>
|
|
196
|
+
|
|
197
|
+
# 3. Verify database state
|
|
198
|
+
npm run db:verify
|
|
199
|
+
|
|
200
|
+
# 4. Git rollback
|
|
201
|
+
git revert <commits>
|
|
202
|
+
|
|
203
|
+
# 5. Deploy rolled-back code
|
|
204
|
+
./scripts/deploy
|
|
205
|
+
|
|
206
|
+
# 6. Exit maintenance mode
|
|
207
|
+
./scripts/maintenance-mode off
|
|
208
|
+
|
|
209
|
+
# 7. Verify application
|
|
210
|
+
curl -f https://api.example.com/health
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Rollback Scripts
|
|
216
|
+
|
|
217
|
+
### Automated Rollback Script
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
#!/bin/bash
|
|
221
|
+
# rollback.sh
|
|
222
|
+
|
|
223
|
+
set -e
|
|
224
|
+
|
|
225
|
+
# Configuration
|
|
226
|
+
ROLLBACK_TARGET="${1:-HEAD~1}"
|
|
227
|
+
ENVIRONMENT="${2:-staging}"
|
|
228
|
+
|
|
229
|
+
echo "=== Starting Rollback ==="
|
|
230
|
+
echo "Target: $ROLLBACK_TARGET"
|
|
231
|
+
echo "Environment: $ENVIRONMENT"
|
|
232
|
+
|
|
233
|
+
# Confirm
|
|
234
|
+
read -p "Continue? (y/n) " -n 1 -r
|
|
235
|
+
echo
|
|
236
|
+
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
237
|
+
exit 1
|
|
238
|
+
fi
|
|
239
|
+
|
|
240
|
+
# Create rollback branch
|
|
241
|
+
BRANCH="rollback/$(date +%Y%m%d-%H%M%S)"
|
|
242
|
+
git checkout -b "$BRANCH"
|
|
243
|
+
|
|
244
|
+
# Perform rollback
|
|
245
|
+
if [[ "$ROLLBACK_TARGET" == v* ]]; then
|
|
246
|
+
# Tag-based rollback
|
|
247
|
+
CURRENT_TAG=$(git describe --tags --abbrev=0)
|
|
248
|
+
git revert --no-commit "$ROLLBACK_TARGET..$CURRENT_TAG"
|
|
249
|
+
else
|
|
250
|
+
# Commit-based rollback
|
|
251
|
+
git revert --no-commit "$ROLLBACK_TARGET"
|
|
252
|
+
fi
|
|
253
|
+
|
|
254
|
+
# Commit rollback
|
|
255
|
+
git commit -m "Rollback to $ROLLBACK_TARGET
|
|
256
|
+
|
|
257
|
+
Environment: $ENVIRONMENT
|
|
258
|
+
Reason: Emergency rollback
|
|
259
|
+
Date: $(date)
|
|
260
|
+
"
|
|
261
|
+
|
|
262
|
+
# Push
|
|
263
|
+
git push origin "$BRANCH"
|
|
264
|
+
|
|
265
|
+
# Create PR (using GitHub CLI)
|
|
266
|
+
gh pr create \
|
|
267
|
+
--title "ROLLBACK: Revert to $ROLLBACK_TARGET" \
|
|
268
|
+
--body "## Emergency Rollback
|
|
269
|
+
|
|
270
|
+
Target: $ROLLBACK_TARGET
|
|
271
|
+
Environment: $ENVIRONMENT
|
|
272
|
+
Time: $(date)
|
|
273
|
+
|
|
274
|
+
### Checklist
|
|
275
|
+
- [ ] Database rollback completed (if applicable)
|
|
276
|
+
- [ ] Smoke tests passed
|
|
277
|
+
- [ ] Stakeholders notified
|
|
278
|
+
" \
|
|
279
|
+
--label "rollback,urgent"
|
|
280
|
+
|
|
281
|
+
echo "=== Rollback PR Created ==="
|
|
282
|
+
echo "Please review and merge to deploy"
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Recovery Scenarios
|
|
288
|
+
|
|
289
|
+
### Scenario 1: Accidental Force Push
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# Find the previous HEAD in reflog
|
|
293
|
+
git reflog show origin/main
|
|
294
|
+
|
|
295
|
+
# Output:
|
|
296
|
+
# abc1234 origin/main@{0}: update by push --force
|
|
297
|
+
# xyz5678 origin/main@{1}: update by push <-- This is what we want
|
|
298
|
+
|
|
299
|
+
# Restore
|
|
300
|
+
git checkout main
|
|
301
|
+
git reset --hard xyz5678
|
|
302
|
+
git push --force origin main
|
|
303
|
+
|
|
304
|
+
# Notify team
|
|
305
|
+
echo "Main branch restored to xyz5678. Please re-pull."
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Scenario 2: Merged Wrong Branch
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Revert the merge commit
|
|
312
|
+
git revert -m 1 <merge-commit-hash>
|
|
313
|
+
|
|
314
|
+
# Push the revert
|
|
315
|
+
git push origin main
|
|
316
|
+
|
|
317
|
+
# Note: If you need to re-merge later
|
|
318
|
+
git checkout feature-branch
|
|
319
|
+
git revert <revert-commit-hash> # Undo the revert
|
|
320
|
+
git checkout main
|
|
321
|
+
git merge feature-branch
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Scenario 3: Lost Commits
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# Check reflog for lost commits
|
|
328
|
+
git reflog
|
|
329
|
+
|
|
330
|
+
# Find the commit
|
|
331
|
+
git show abc1234
|
|
332
|
+
|
|
333
|
+
# Recover it
|
|
334
|
+
git cherry-pick abc1234
|
|
335
|
+
|
|
336
|
+
# Or create branch from it
|
|
337
|
+
git checkout -b recovered-commits abc1234
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Rollback Communication Template
|
|
343
|
+
|
|
344
|
+
```markdown
|
|
345
|
+
## Rollback Notification
|
|
346
|
+
|
|
347
|
+
**Status:** 🔄 Rollback In Progress / ✅ Rollback Complete
|
|
348
|
+
|
|
349
|
+
**Time:** [UTC timestamp]
|
|
350
|
+
**Environment:** [Production/Staging]
|
|
351
|
+
**Duration:** [Expected/Actual duration]
|
|
352
|
+
|
|
353
|
+
### What Happened
|
|
354
|
+
[Brief description of the issue that caused rollback]
|
|
355
|
+
|
|
356
|
+
### Impact
|
|
357
|
+
- [Affected features/services]
|
|
358
|
+
- [User impact description]
|
|
359
|
+
|
|
360
|
+
### Actions Taken
|
|
361
|
+
1. [Action 1]
|
|
362
|
+
2. [Action 2]
|
|
363
|
+
3. [Action 3]
|
|
364
|
+
|
|
365
|
+
### Current Status
|
|
366
|
+
- Application: [Healthy/Degraded/Down]
|
|
367
|
+
- Error rate: [X%]
|
|
368
|
+
- Response time: [Xms]
|
|
369
|
+
|
|
370
|
+
### Next Steps
|
|
371
|
+
- [ ] Complete root cause analysis
|
|
372
|
+
- [ ] Schedule fix implementation
|
|
373
|
+
- [ ] Post-mortem meeting
|
|
374
|
+
|
|
375
|
+
### Contact
|
|
376
|
+
[On-call engineer name/contact]
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Configuration
|
|
382
|
+
|
|
383
|
+
```yaml
|
|
384
|
+
# proagents.config.yaml
|
|
385
|
+
|
|
386
|
+
git:
|
|
387
|
+
rollback:
|
|
388
|
+
auto_create_backup_branch: true
|
|
389
|
+
require_confirmation: true
|
|
390
|
+
notify_on_rollback: true
|
|
391
|
+
|
|
392
|
+
notifications:
|
|
393
|
+
slack_channel: "#deployments"
|
|
394
|
+
email: ["oncall@company.com"]
|
|
395
|
+
|
|
396
|
+
protection:
|
|
397
|
+
require_approval_for_production: true
|
|
398
|
+
max_commits_without_confirmation: 5
|
|
399
|
+
|
|
400
|
+
scripts:
|
|
401
|
+
pre_rollback: "./scripts/pre-rollback.sh"
|
|
402
|
+
post_rollback: "./scripts/post-rollback.sh"
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Slash Commands
|
|
408
|
+
|
|
409
|
+
| Command | Description |
|
|
410
|
+
|---------|-------------|
|
|
411
|
+
| `/rollback` | Start rollback wizard |
|
|
412
|
+
| `/rollback --last` | Revert last commit |
|
|
413
|
+
| `/rollback --to [tag]` | Rollback to specific tag |
|
|
414
|
+
| `/rollback --commits [n]` | Revert last n commits |
|
|
415
|
+
| `/rollback --dry-run` | Preview rollback changes |
|
|
416
|
+
| `/rollback --status` | Check current rollback status |
|