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,438 @@
|
|
|
1
|
+
# Disaster Recovery Testing
|
|
2
|
+
|
|
3
|
+
Validate your recovery procedures before you need them.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Testing Types
|
|
8
|
+
|
|
9
|
+
| Type | Frequency | Scope | Impact |
|
|
10
|
+
|------|-----------|-------|--------|
|
|
11
|
+
| **Tabletop Exercise** | Monthly | Discussion-based | None |
|
|
12
|
+
| **Component Test** | Weekly | Single service | Minimal |
|
|
13
|
+
| **Partial Failover** | Monthly | Multiple services | Low |
|
|
14
|
+
| **Full DR Test** | Quarterly | Complete system | Medium |
|
|
15
|
+
| **Chaos Engineering** | Continuous | Random failures | Variable |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Tabletop Exercises
|
|
20
|
+
|
|
21
|
+
### Scenario Planning
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
# proagents.config.yaml
|
|
25
|
+
disaster_recovery:
|
|
26
|
+
testing:
|
|
27
|
+
tabletop:
|
|
28
|
+
scenarios:
|
|
29
|
+
- name: "Database Corruption"
|
|
30
|
+
description: "Primary database becomes corrupted during peak hours"
|
|
31
|
+
participants: ["DBA", "Backend Lead", "SRE"]
|
|
32
|
+
duration: "1h"
|
|
33
|
+
questions:
|
|
34
|
+
- "How do we detect the corruption?"
|
|
35
|
+
- "What's our RTO for database recovery?"
|
|
36
|
+
- "How do we communicate to users?"
|
|
37
|
+
- "What data might we lose?"
|
|
38
|
+
|
|
39
|
+
- name: "Cloud Region Outage"
|
|
40
|
+
description: "Primary cloud region becomes unavailable"
|
|
41
|
+
participants: ["SRE", "Platform Lead", "Engineering Manager"]
|
|
42
|
+
duration: "2h"
|
|
43
|
+
questions:
|
|
44
|
+
- "How quickly can we failover to secondary region?"
|
|
45
|
+
- "What services are region-dependent?"
|
|
46
|
+
- "How do we handle data synchronization?"
|
|
47
|
+
|
|
48
|
+
- name: "Security Breach"
|
|
49
|
+
description: "Unauthorized access detected in production"
|
|
50
|
+
participants: ["Security Team", "SRE", "CTO"]
|
|
51
|
+
duration: "2h"
|
|
52
|
+
questions:
|
|
53
|
+
- "How do we isolate affected systems?"
|
|
54
|
+
- "What's our communication plan?"
|
|
55
|
+
- "How do we preserve evidence?"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Exercise Template
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
## Tabletop Exercise: [Scenario Name]
|
|
62
|
+
|
|
63
|
+
**Date:** [YYYY-MM-DD]
|
|
64
|
+
**Participants:** [List]
|
|
65
|
+
**Facilitator:** [Name]
|
|
66
|
+
|
|
67
|
+
### Scenario
|
|
68
|
+
[Detailed scenario description]
|
|
69
|
+
|
|
70
|
+
### Timeline
|
|
71
|
+
| Time | Event | Expected Response |
|
|
72
|
+
|------|-------|-------------------|
|
|
73
|
+
| T+0 | Incident detected | Alert triggers |
|
|
74
|
+
| T+5m | Initial assessment | Oncall responds |
|
|
75
|
+
| T+15m | Escalation decision | Team assembled |
|
|
76
|
+
| T+30m | Recovery initiated | Rollback/failover |
|
|
77
|
+
| T+60m | Verification | Health checks pass |
|
|
78
|
+
|
|
79
|
+
### Discussion Points
|
|
80
|
+
1. [Question 1]
|
|
81
|
+
- Response: [Team's answer]
|
|
82
|
+
- Gap identified: [Any issues found]
|
|
83
|
+
|
|
84
|
+
### Action Items
|
|
85
|
+
- [ ] [Action 1] - Owner: [Name] - Due: [Date]
|
|
86
|
+
- [ ] [Action 2] - Owner: [Name] - Due: [Date]
|
|
87
|
+
|
|
88
|
+
### Lessons Learned
|
|
89
|
+
[Summary of findings]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Component Testing
|
|
95
|
+
|
|
96
|
+
### Single Service Rollback
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
disaster_recovery:
|
|
100
|
+
testing:
|
|
101
|
+
component:
|
|
102
|
+
# Test individual service rollback
|
|
103
|
+
service_rollback:
|
|
104
|
+
schedule: "weekly"
|
|
105
|
+
environment: "staging"
|
|
106
|
+
services:
|
|
107
|
+
- name: "api-gateway"
|
|
108
|
+
test_steps:
|
|
109
|
+
- deploy_test_version
|
|
110
|
+
- verify_degradation
|
|
111
|
+
- trigger_rollback
|
|
112
|
+
- verify_recovery
|
|
113
|
+
|
|
114
|
+
- name: "auth-service"
|
|
115
|
+
test_steps:
|
|
116
|
+
- deploy_test_version
|
|
117
|
+
- verify_auth_fails
|
|
118
|
+
- trigger_rollback
|
|
119
|
+
- verify_auth_works
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Database Recovery Test
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
disaster_recovery:
|
|
126
|
+
testing:
|
|
127
|
+
component:
|
|
128
|
+
database_recovery:
|
|
129
|
+
schedule: "weekly"
|
|
130
|
+
environment: "staging"
|
|
131
|
+
steps:
|
|
132
|
+
- create_backup
|
|
133
|
+
- simulate_corruption
|
|
134
|
+
- restore_from_backup
|
|
135
|
+
- verify_data_integrity
|
|
136
|
+
- measure_recovery_time
|
|
137
|
+
|
|
138
|
+
acceptance_criteria:
|
|
139
|
+
recovery_time: "< 30m"
|
|
140
|
+
data_loss: "< 5m of transactions"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Partial Failover Testing
|
|
146
|
+
|
|
147
|
+
### Multi-Service Failover
|
|
148
|
+
|
|
149
|
+
```yaml
|
|
150
|
+
disaster_recovery:
|
|
151
|
+
testing:
|
|
152
|
+
partial_failover:
|
|
153
|
+
schedule: "monthly"
|
|
154
|
+
environment: "staging"
|
|
155
|
+
|
|
156
|
+
scenarios:
|
|
157
|
+
- name: "Backend Cluster Failure"
|
|
158
|
+
services: ["api", "worker", "scheduler"]
|
|
159
|
+
steps:
|
|
160
|
+
- mark_cluster_unhealthy
|
|
161
|
+
- verify_traffic_shifts
|
|
162
|
+
- verify_secondary_handles_load
|
|
163
|
+
- restore_primary
|
|
164
|
+
- verify_traffic_returns
|
|
165
|
+
|
|
166
|
+
- name: "Database Failover"
|
|
167
|
+
components: ["primary-db"]
|
|
168
|
+
steps:
|
|
169
|
+
- promote_replica
|
|
170
|
+
- update_connection_strings
|
|
171
|
+
- verify_write_capability
|
|
172
|
+
- demote_old_primary
|
|
173
|
+
- resync_data
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Failover Metrics
|
|
177
|
+
|
|
178
|
+
```yaml
|
|
179
|
+
disaster_recovery:
|
|
180
|
+
testing:
|
|
181
|
+
metrics:
|
|
182
|
+
# Track during tests
|
|
183
|
+
measure:
|
|
184
|
+
- name: "failover_time"
|
|
185
|
+
description: "Time from trigger to recovery"
|
|
186
|
+
target: "< 5m"
|
|
187
|
+
|
|
188
|
+
- name: "data_loss_window"
|
|
189
|
+
description: "Time of unrecoverable transactions"
|
|
190
|
+
target: "< 30s"
|
|
191
|
+
|
|
192
|
+
- name: "error_spike_duration"
|
|
193
|
+
description: "Duration of elevated errors"
|
|
194
|
+
target: "< 2m"
|
|
195
|
+
|
|
196
|
+
- name: "full_recovery_time"
|
|
197
|
+
description: "Time to return to normal operations"
|
|
198
|
+
target: "< 15m"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Full DR Testing
|
|
204
|
+
|
|
205
|
+
### Complete System Failover
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
disaster_recovery:
|
|
209
|
+
testing:
|
|
210
|
+
full_dr:
|
|
211
|
+
schedule: "quarterly"
|
|
212
|
+
notification_lead_time: "1 week"
|
|
213
|
+
|
|
214
|
+
phases:
|
|
215
|
+
- name: "Preparation"
|
|
216
|
+
duration: "1 day"
|
|
217
|
+
tasks:
|
|
218
|
+
- notify_stakeholders
|
|
219
|
+
- verify_backup_integrity
|
|
220
|
+
- prepare_runbooks
|
|
221
|
+
- brief_team
|
|
222
|
+
|
|
223
|
+
- name: "Failover"
|
|
224
|
+
duration: "4 hours"
|
|
225
|
+
tasks:
|
|
226
|
+
- initiate_failover
|
|
227
|
+
- verify_all_services
|
|
228
|
+
- test_critical_flows
|
|
229
|
+
- measure_performance
|
|
230
|
+
|
|
231
|
+
- name: "Operation"
|
|
232
|
+
duration: "4 hours"
|
|
233
|
+
tasks:
|
|
234
|
+
- run_on_dr_site
|
|
235
|
+
- monitor_for_issues
|
|
236
|
+
- handle_any_incidents
|
|
237
|
+
- document_findings
|
|
238
|
+
|
|
239
|
+
- name: "Failback"
|
|
240
|
+
duration: "4 hours"
|
|
241
|
+
tasks:
|
|
242
|
+
- initiate_failback
|
|
243
|
+
- resync_data
|
|
244
|
+
- verify_primary
|
|
245
|
+
- restore_normal_operations
|
|
246
|
+
|
|
247
|
+
- name: "Review"
|
|
248
|
+
duration: "1 day"
|
|
249
|
+
tasks:
|
|
250
|
+
- analyze_metrics
|
|
251
|
+
- document_issues
|
|
252
|
+
- update_runbooks
|
|
253
|
+
- plan_improvements
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### DR Test Report Template
|
|
257
|
+
|
|
258
|
+
```markdown
|
|
259
|
+
## Full DR Test Report
|
|
260
|
+
|
|
261
|
+
**Date:** [YYYY-MM-DD]
|
|
262
|
+
**Duration:** [X hours]
|
|
263
|
+
**Participants:** [List]
|
|
264
|
+
|
|
265
|
+
### Objectives
|
|
266
|
+
- [ ] Complete failover to DR site
|
|
267
|
+
- [ ] Operate on DR site for [X hours]
|
|
268
|
+
- [ ] Failback to primary site
|
|
269
|
+
- [ ] Meet RTO/RPO targets
|
|
270
|
+
|
|
271
|
+
### Results Summary
|
|
272
|
+
|
|
273
|
+
| Metric | Target | Actual | Status |
|
|
274
|
+
|--------|--------|--------|--------|
|
|
275
|
+
| Failover Time | 15m | 12m | Pass |
|
|
276
|
+
| Data Loss | 0 | 0 | Pass |
|
|
277
|
+
| Error Rate During Failover | < 5% | 3.2% | Pass |
|
|
278
|
+
| Failback Time | 30m | 45m | Fail |
|
|
279
|
+
|
|
280
|
+
### Issues Encountered
|
|
281
|
+
|
|
282
|
+
#### Issue 1: [Title]
|
|
283
|
+
- **Severity:** [High/Medium/Low]
|
|
284
|
+
- **Description:** [Details]
|
|
285
|
+
- **Impact:** [Effect on test]
|
|
286
|
+
- **Resolution:** [How it was handled]
|
|
287
|
+
- **Follow-up:** [Action item]
|
|
288
|
+
|
|
289
|
+
### Recommendations
|
|
290
|
+
1. [Recommendation 1]
|
|
291
|
+
2. [Recommendation 2]
|
|
292
|
+
|
|
293
|
+
### Sign-off
|
|
294
|
+
- [ ] Engineering Lead: ________
|
|
295
|
+
- [ ] SRE Lead: ________
|
|
296
|
+
- [ ] Security: ________
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Chaos Engineering
|
|
302
|
+
|
|
303
|
+
### Chaos Configuration
|
|
304
|
+
|
|
305
|
+
```yaml
|
|
306
|
+
disaster_recovery:
|
|
307
|
+
testing:
|
|
308
|
+
chaos:
|
|
309
|
+
enabled: true
|
|
310
|
+
environment: "staging" # Never in production without controls
|
|
311
|
+
|
|
312
|
+
experiments:
|
|
313
|
+
- name: "pod_failure"
|
|
314
|
+
type: "kubernetes"
|
|
315
|
+
action: "kill_pod"
|
|
316
|
+
target:
|
|
317
|
+
selector: "app=api"
|
|
318
|
+
count: 1
|
|
319
|
+
schedule: "random"
|
|
320
|
+
window: "business_hours"
|
|
321
|
+
|
|
322
|
+
- name: "network_latency"
|
|
323
|
+
type: "network"
|
|
324
|
+
action: "add_latency"
|
|
325
|
+
parameters:
|
|
326
|
+
latency: "500ms"
|
|
327
|
+
duration: "5m"
|
|
328
|
+
target: "api-to-database"
|
|
329
|
+
|
|
330
|
+
- name: "resource_stress"
|
|
331
|
+
type: "resource"
|
|
332
|
+
action: "cpu_stress"
|
|
333
|
+
parameters:
|
|
334
|
+
load: "80%"
|
|
335
|
+
duration: "10m"
|
|
336
|
+
target: "worker-nodes"
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Chaos Guardrails
|
|
340
|
+
|
|
341
|
+
```yaml
|
|
342
|
+
disaster_recovery:
|
|
343
|
+
testing:
|
|
344
|
+
chaos:
|
|
345
|
+
guardrails:
|
|
346
|
+
# Stop conditions
|
|
347
|
+
abort_conditions:
|
|
348
|
+
- "error_rate > 10%"
|
|
349
|
+
- "p99_latency > 5s"
|
|
350
|
+
- "health_check_failing"
|
|
351
|
+
|
|
352
|
+
# Blast radius limits
|
|
353
|
+
limits:
|
|
354
|
+
max_affected_pods: 2
|
|
355
|
+
max_affected_nodes: 1
|
|
356
|
+
max_duration: "30m"
|
|
357
|
+
|
|
358
|
+
# Excluded resources
|
|
359
|
+
excluded:
|
|
360
|
+
- "production-*"
|
|
361
|
+
- "critical-*"
|
|
362
|
+
- "database-primary"
|
|
363
|
+
|
|
364
|
+
# Notification on experiment
|
|
365
|
+
notify:
|
|
366
|
+
before: ["#chaos-engineering"]
|
|
367
|
+
on_abort: ["#incidents", "oncall"]
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Automated DR Testing
|
|
373
|
+
|
|
374
|
+
### Scheduled Tests
|
|
375
|
+
|
|
376
|
+
```yaml
|
|
377
|
+
disaster_recovery:
|
|
378
|
+
testing:
|
|
379
|
+
automation:
|
|
380
|
+
# Automated test schedule
|
|
381
|
+
schedule:
|
|
382
|
+
- name: "backup_verification"
|
|
383
|
+
cron: "0 2 * * *" # Daily at 2 AM
|
|
384
|
+
test: "verify_backup_integrity"
|
|
385
|
+
|
|
386
|
+
- name: "restore_test"
|
|
387
|
+
cron: "0 3 * * 0" # Weekly on Sunday
|
|
388
|
+
test: "restore_to_test_env"
|
|
389
|
+
|
|
390
|
+
- name: "failover_drill"
|
|
391
|
+
cron: "0 4 1 * *" # Monthly on 1st
|
|
392
|
+
test: "staging_failover"
|
|
393
|
+
|
|
394
|
+
# Reporting
|
|
395
|
+
reports:
|
|
396
|
+
destination: "s3://dr-reports/"
|
|
397
|
+
notify: ["engineering@company.com"]
|
|
398
|
+
on_failure: ["oncall@company.com"]
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## Commands
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
# Run tabletop exercise
|
|
407
|
+
proagents dr test tabletop --scenario "database-corruption"
|
|
408
|
+
|
|
409
|
+
# Test component rollback
|
|
410
|
+
proagents dr test component --service api --env staging
|
|
411
|
+
|
|
412
|
+
# Run partial failover test
|
|
413
|
+
proagents dr test failover --scope partial --env staging
|
|
414
|
+
|
|
415
|
+
# Schedule full DR test
|
|
416
|
+
proagents dr test schedule --type full --date 2024-03-15
|
|
417
|
+
|
|
418
|
+
# Run chaos experiment
|
|
419
|
+
proagents dr chaos run --experiment pod_failure --duration 5m
|
|
420
|
+
|
|
421
|
+
# View test history
|
|
422
|
+
proagents dr test history --last 30d
|
|
423
|
+
|
|
424
|
+
# Generate DR test report
|
|
425
|
+
proagents dr test report --date 2024-01-15
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Best Practices
|
|
431
|
+
|
|
432
|
+
1. **Start Small**: Begin with tabletop exercises before live tests
|
|
433
|
+
2. **Regular Schedule**: Test consistently, not just before audits
|
|
434
|
+
3. **Document Everything**: Capture findings and improvements
|
|
435
|
+
4. **Include Everyone**: Involve all relevant teams
|
|
436
|
+
5. **Fix Issues**: Address gaps found during testing
|
|
437
|
+
6. **Measure Improvement**: Track metrics over time
|
|
438
|
+
7. **Chaos Carefully**: Start chaos engineering in non-production
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# Environment Management
|
|
2
|
+
|
|
3
|
+
Configure and manage development, staging, and production environments.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Consistent environment configuration across development, staging, and production.
|
|
10
|
+
|
|
11
|
+
## Documentation
|
|
12
|
+
|
|
13
|
+
| Document | Description |
|
|
14
|
+
|----------|-------------|
|
|
15
|
+
| [Environment Setup](./setup.md) | Setting up environments |
|
|
16
|
+
| [Configuration](./configuration.md) | Environment-specific config |
|
|
17
|
+
| [Promotion](./promotion.md) | Promoting between environments |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Environment Types
|
|
22
|
+
|
|
23
|
+
### Standard Environments
|
|
24
|
+
|
|
25
|
+
| Environment | Purpose | Data |
|
|
26
|
+
|-------------|---------|------|
|
|
27
|
+
| `development` | Local development | Mock/seed data |
|
|
28
|
+
| `staging` | Pre-production testing | Production-like |
|
|
29
|
+
| `production` | Live users | Real data |
|
|
30
|
+
|
|
31
|
+
### Optional Environments
|
|
32
|
+
|
|
33
|
+
| Environment | Purpose |
|
|
34
|
+
|-------------|---------|
|
|
35
|
+
| `test` | Automated testing |
|
|
36
|
+
| `preview` | PR previews |
|
|
37
|
+
| `sandbox` | Experimentation |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Configuration
|
|
42
|
+
|
|
43
|
+
### Environment Files
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
your-project/
|
|
47
|
+
├── .env # Shared defaults
|
|
48
|
+
├── .env.development # Development overrides
|
|
49
|
+
├── .env.staging # Staging overrides
|
|
50
|
+
├── .env.production # Production overrides
|
|
51
|
+
└── .env.local # Local overrides (gitignored)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### ProAgents Config
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
# proagents.config.yaml
|
|
58
|
+
environments:
|
|
59
|
+
default: "development"
|
|
60
|
+
|
|
61
|
+
development:
|
|
62
|
+
api_url: "http://localhost:3000"
|
|
63
|
+
debug: true
|
|
64
|
+
mocks: true
|
|
65
|
+
|
|
66
|
+
staging:
|
|
67
|
+
api_url: "https://staging-api.example.com"
|
|
68
|
+
debug: true
|
|
69
|
+
mocks: false
|
|
70
|
+
|
|
71
|
+
production:
|
|
72
|
+
api_url: "https://api.example.com"
|
|
73
|
+
debug: false
|
|
74
|
+
mocks: false
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Environment Variables
|
|
80
|
+
|
|
81
|
+
### Variable Categories
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
environments:
|
|
85
|
+
variables:
|
|
86
|
+
# Public (safe to expose)
|
|
87
|
+
public:
|
|
88
|
+
- "API_URL"
|
|
89
|
+
- "APP_NAME"
|
|
90
|
+
- "FEATURE_FLAGS"
|
|
91
|
+
|
|
92
|
+
# Private (server-only)
|
|
93
|
+
private:
|
|
94
|
+
- "DATABASE_URL"
|
|
95
|
+
- "API_KEY"
|
|
96
|
+
- "JWT_SECRET"
|
|
97
|
+
|
|
98
|
+
# Sensitive (encrypted)
|
|
99
|
+
sensitive:
|
|
100
|
+
- "AWS_SECRET_KEY"
|
|
101
|
+
- "STRIPE_SECRET"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Validation
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
environments:
|
|
108
|
+
validation:
|
|
109
|
+
required:
|
|
110
|
+
all:
|
|
111
|
+
- "API_URL"
|
|
112
|
+
- "NODE_ENV"
|
|
113
|
+
production:
|
|
114
|
+
- "DATABASE_URL"
|
|
115
|
+
- "REDIS_URL"
|
|
116
|
+
|
|
117
|
+
format:
|
|
118
|
+
API_URL: "url"
|
|
119
|
+
PORT: "number"
|
|
120
|
+
DEBUG: "boolean"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Commands
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Check current environment
|
|
129
|
+
proagents env current
|
|
130
|
+
|
|
131
|
+
# List all environments
|
|
132
|
+
proagents env list
|
|
133
|
+
|
|
134
|
+
# Switch environment
|
|
135
|
+
proagents env use staging
|
|
136
|
+
|
|
137
|
+
# Validate environment
|
|
138
|
+
proagents env validate
|
|
139
|
+
|
|
140
|
+
# Compare environments
|
|
141
|
+
proagents env diff staging production
|
|
142
|
+
|
|
143
|
+
# Export environment
|
|
144
|
+
proagents env export staging --output .env.staging
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Environment Promotion
|
|
150
|
+
|
|
151
|
+
### Promotion Flow
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
development → staging → production
|
|
155
|
+
↓ ↓ ↓
|
|
156
|
+
Test QA Release
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Promotion Configuration
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
environments:
|
|
163
|
+
promotion:
|
|
164
|
+
development_to_staging:
|
|
165
|
+
requires:
|
|
166
|
+
- "all_tests_pass"
|
|
167
|
+
- "code_review_approved"
|
|
168
|
+
|
|
169
|
+
staging_to_production:
|
|
170
|
+
requires:
|
|
171
|
+
- "all_tests_pass"
|
|
172
|
+
- "qa_approved"
|
|
173
|
+
- "security_scan_clean"
|
|
174
|
+
|
|
175
|
+
approval:
|
|
176
|
+
required: true
|
|
177
|
+
approvers: ["tech_lead", "product_manager"]
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Promote Command
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Promote to staging
|
|
184
|
+
proagents env promote staging
|
|
185
|
+
|
|
186
|
+
# Promote to production (with approval)
|
|
187
|
+
proagents env promote production --request-approval
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Environment Parity
|
|
193
|
+
|
|
194
|
+
### Keeping Environments in Sync
|
|
195
|
+
|
|
196
|
+
```yaml
|
|
197
|
+
environments:
|
|
198
|
+
parity:
|
|
199
|
+
# Sync these between environments
|
|
200
|
+
sync:
|
|
201
|
+
- "database_schema"
|
|
202
|
+
- "feature_flags"
|
|
203
|
+
- "config_structure"
|
|
204
|
+
|
|
205
|
+
# Detect drift
|
|
206
|
+
drift_detection:
|
|
207
|
+
enabled: true
|
|
208
|
+
schedule: "daily"
|
|
209
|
+
notify: "#devops"
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Drift Report
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
216
|
+
│ Environment Drift Report │
|
|
217
|
+
├─────────────────────────────────────────────────────────────┤
|
|
218
|
+
│ │
|
|
219
|
+
│ Comparing: staging ↔ production │
|
|
220
|
+
│ │
|
|
221
|
+
│ Schema Differences: │
|
|
222
|
+
│ ├── Missing in prod: users.preferences (column) │
|
|
223
|
+
│ └── Extra in prod: legacy_table (table) │
|
|
224
|
+
│ │
|
|
225
|
+
│ Config Differences: │
|
|
226
|
+
│ ├── FEATURE_X: staging=true, prod=false │
|
|
227
|
+
│ └── MAX_CONNECTIONS: staging=10, prod=100 │
|
|
228
|
+
│ │
|
|
229
|
+
│ Recommendation: Run migrations before next deploy │
|
|
230
|
+
│ │
|
|
231
|
+
└─────────────────────────────────────────────────────────────┘
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Best Practices
|
|
237
|
+
|
|
238
|
+
1. **Parity**: Keep environments as similar as possible
|
|
239
|
+
2. **Never Share Secrets**: Different secrets per environment
|
|
240
|
+
3. **Validate Early**: Check env vars on startup
|
|
241
|
+
4. **Document Requirements**: List required variables
|
|
242
|
+
5. **Use Defaults Wisely**: Safe defaults for development
|
|
243
|
+
6. **Protect Production**: Require approvals for prod changes
|
|
244
|
+
7. **Monitor Drift**: Regularly check for differences
|