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,219 @@
|
|
|
1
|
+
# Runbooks
|
|
2
|
+
|
|
3
|
+
Standard operating procedures for common operational scenarios.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Runbooks provide step-by-step procedures for handling incidents, debugging production issues, managing vulnerabilities, and responding to performance problems.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Available Runbooks
|
|
14
|
+
|
|
15
|
+
| Runbook | Scenario |
|
|
16
|
+
|---------|----------|
|
|
17
|
+
| [Incident Response](./incident-response.md) | Production incident handling |
|
|
18
|
+
| [Production Debugging](./production-debugging.md) | Debugging live issues |
|
|
19
|
+
| [Dependency Vulnerability](./dependency-vulnerability.md) | Security vulnerability response |
|
|
20
|
+
| [Performance Degradation](./performance-degradation.md) | Performance issue response |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quick Reference
|
|
25
|
+
|
|
26
|
+
### Severity Levels
|
|
27
|
+
|
|
28
|
+
| Level | Description | Response Time | Examples |
|
|
29
|
+
|-------|-------------|---------------|----------|
|
|
30
|
+
| **SEV1** | Critical - System down | 15 minutes | Complete outage, data loss |
|
|
31
|
+
| **SEV2** | High - Major feature broken | 1 hour | Auth broken, payments failing |
|
|
32
|
+
| **SEV3** | Medium - Degraded service | 4 hours | Slow performance, partial outage |
|
|
33
|
+
| **SEV4** | Low - Minor issue | 24 hours | UI glitch, non-critical bug |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Incident Response Quick Start
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# 1. Assess the situation
|
|
41
|
+
/runbook incident assess
|
|
42
|
+
|
|
43
|
+
# 2. Start incident response
|
|
44
|
+
/runbook incident start --severity SEV2 --description "Login failures"
|
|
45
|
+
|
|
46
|
+
# 3. Follow guided steps
|
|
47
|
+
/runbook incident guide
|
|
48
|
+
|
|
49
|
+
# 4. Close incident
|
|
50
|
+
/runbook incident close --resolution "Fixed auth service timeout"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Runbook Commands
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# List available runbooks
|
|
59
|
+
/runbook list
|
|
60
|
+
|
|
61
|
+
# Start a runbook
|
|
62
|
+
/runbook start <runbook-name>
|
|
63
|
+
|
|
64
|
+
# View runbook steps
|
|
65
|
+
/runbook view <runbook-name>
|
|
66
|
+
|
|
67
|
+
# Log runbook execution
|
|
68
|
+
/runbook log --action "Restarted service"
|
|
69
|
+
|
|
70
|
+
# Generate post-mortem
|
|
71
|
+
/runbook postmortem --incident INC-123
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Runbook Structure
|
|
77
|
+
|
|
78
|
+
Each runbook follows this structure:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# Runbook: [Name]
|
|
82
|
+
|
|
83
|
+
## Overview
|
|
84
|
+
[Description and when to use]
|
|
85
|
+
|
|
86
|
+
## Prerequisites
|
|
87
|
+
[Required access, tools, knowledge]
|
|
88
|
+
|
|
89
|
+
## Steps
|
|
90
|
+
[Numbered step-by-step procedure]
|
|
91
|
+
|
|
92
|
+
## Verification
|
|
93
|
+
[How to confirm resolution]
|
|
94
|
+
|
|
95
|
+
## Escalation
|
|
96
|
+
[When and how to escalate]
|
|
97
|
+
|
|
98
|
+
## Post-Incident
|
|
99
|
+
[Cleanup and documentation]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## On-Call Responsibilities
|
|
105
|
+
|
|
106
|
+
### Before On-Call
|
|
107
|
+
|
|
108
|
+
- [ ] Review recent deployments
|
|
109
|
+
- [ ] Check monitoring dashboards
|
|
110
|
+
- [ ] Verify access to all systems
|
|
111
|
+
- [ ] Confirm notification settings
|
|
112
|
+
- [ ] Review open incidents/issues
|
|
113
|
+
|
|
114
|
+
### During On-Call
|
|
115
|
+
|
|
116
|
+
- [ ] Respond to alerts within SLA
|
|
117
|
+
- [ ] Follow runbooks for known issues
|
|
118
|
+
- [ ] Escalate when necessary
|
|
119
|
+
- [ ] Document all actions
|
|
120
|
+
- [ ] Hand off to next on-call
|
|
121
|
+
|
|
122
|
+
### After Incident
|
|
123
|
+
|
|
124
|
+
- [ ] Update incident timeline
|
|
125
|
+
- [ ] Create post-mortem if needed
|
|
126
|
+
- [ ] Update runbooks with learnings
|
|
127
|
+
- [ ] Follow up on action items
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Creating Custom Runbooks
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
# runbooks/custom/my-runbook.yaml
|
|
135
|
+
name: "My Custom Runbook"
|
|
136
|
+
description: "Handle specific scenario"
|
|
137
|
+
severity: "SEV3"
|
|
138
|
+
tags: ["custom", "my-service"]
|
|
139
|
+
|
|
140
|
+
prerequisites:
|
|
141
|
+
- access: "production-ssh"
|
|
142
|
+
- tool: "kubectl"
|
|
143
|
+
|
|
144
|
+
steps:
|
|
145
|
+
- name: "Assess situation"
|
|
146
|
+
description: "Check service status"
|
|
147
|
+
command: "kubectl get pods -n my-service"
|
|
148
|
+
expected: "All pods running"
|
|
149
|
+
|
|
150
|
+
- name: "Check logs"
|
|
151
|
+
description: "Review recent errors"
|
|
152
|
+
command: "kubectl logs -n my-service --tail=100"
|
|
153
|
+
look_for:
|
|
154
|
+
- "ERROR"
|
|
155
|
+
- "Exception"
|
|
156
|
+
|
|
157
|
+
- name: "Apply fix"
|
|
158
|
+
description: "Restart affected pods"
|
|
159
|
+
command: "kubectl rollout restart deployment/my-service -n my-service"
|
|
160
|
+
requires_confirmation: true
|
|
161
|
+
|
|
162
|
+
verification:
|
|
163
|
+
- "All pods are Running"
|
|
164
|
+
- "No errors in logs"
|
|
165
|
+
- "Health checks passing"
|
|
166
|
+
|
|
167
|
+
escalation:
|
|
168
|
+
after: "30 minutes"
|
|
169
|
+
to: "#platform-team"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Integration
|
|
175
|
+
|
|
176
|
+
### With PagerDuty/OpsGenie
|
|
177
|
+
|
|
178
|
+
```yaml
|
|
179
|
+
# proagents.config.yaml
|
|
180
|
+
runbooks:
|
|
181
|
+
integration:
|
|
182
|
+
pagerduty:
|
|
183
|
+
enabled: true
|
|
184
|
+
auto_attach: true
|
|
185
|
+
|
|
186
|
+
opsgenie:
|
|
187
|
+
enabled: true
|
|
188
|
+
auto_create_alert: true
|
|
189
|
+
|
|
190
|
+
auto_trigger:
|
|
191
|
+
- alert: "High CPU Usage"
|
|
192
|
+
runbook: "performance-degradation"
|
|
193
|
+
- alert: "Auth Service Down"
|
|
194
|
+
runbook: "incident-response"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### With Slack/Teams
|
|
198
|
+
|
|
199
|
+
```yaml
|
|
200
|
+
runbooks:
|
|
201
|
+
notifications:
|
|
202
|
+
slack:
|
|
203
|
+
channel: "#incidents"
|
|
204
|
+
notify_on:
|
|
205
|
+
- "incident_started"
|
|
206
|
+
- "escalation"
|
|
207
|
+
- "resolution"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Best Practices
|
|
213
|
+
|
|
214
|
+
1. **Keep Updated**: Review runbooks after each incident
|
|
215
|
+
2. **Test Regularly**: Run drills to verify procedures work
|
|
216
|
+
3. **Be Specific**: Include exact commands, not vague instructions
|
|
217
|
+
4. **Include Context**: Explain why each step is needed
|
|
218
|
+
5. **Version Control**: Track runbook changes in git
|
|
219
|
+
6. **Cross-Train**: Ensure multiple team members can execute
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
# Dependency Vulnerability Runbook
|
|
2
|
+
|
|
3
|
+
Response procedures for security vulnerabilities in dependencies.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This runbook provides step-by-step procedures for responding to security vulnerabilities discovered in project dependencies.
|
|
10
|
+
|
|
11
|
+
**When to use:**
|
|
12
|
+
- Security advisory received for a dependency
|
|
13
|
+
- Automated vulnerability scan detected issues
|
|
14
|
+
- CVE announced affecting your dependencies
|
|
15
|
+
- Security researcher report received
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- [ ] Access to dependency management tools (npm, pip, etc.)
|
|
22
|
+
- [ ] Access to security scanning tools (Snyk, npm audit, etc.)
|
|
23
|
+
- [ ] Permission to create/merge security PRs
|
|
24
|
+
- [ ] Understanding of project dependencies
|
|
25
|
+
- [ ] Contact info for security team
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Severity Classification
|
|
30
|
+
|
|
31
|
+
### CVSS Score Mapping
|
|
32
|
+
|
|
33
|
+
| CVSS Score | Severity | Response Time |
|
|
34
|
+
|------------|----------|---------------|
|
|
35
|
+
| 9.0 - 10.0 | Critical | 24 hours |
|
|
36
|
+
| 7.0 - 8.9 | High | 72 hours |
|
|
37
|
+
| 4.0 - 6.9 | Medium | 1 week |
|
|
38
|
+
| 0.1 - 3.9 | Low | 1 month |
|
|
39
|
+
|
|
40
|
+
### Impact Assessment
|
|
41
|
+
|
|
42
|
+
| Factor | Questions |
|
|
43
|
+
|--------|-----------|
|
|
44
|
+
| Exploitability | Is there a public exploit? Is it being exploited in the wild? |
|
|
45
|
+
| Attack Vector | Network accessible? Requires user interaction? |
|
|
46
|
+
| Data Risk | Can it access sensitive data? Can it modify data? |
|
|
47
|
+
| System Access | Can it execute arbitrary code? Can it escalate privileges? |
|
|
48
|
+
| Usage Pattern | Is the vulnerable code path actually used? |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Step 1: Assess the Vulnerability
|
|
53
|
+
|
|
54
|
+
### 1.1 Gather Information
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Check vulnerability details
|
|
58
|
+
npm audit
|
|
59
|
+
|
|
60
|
+
# Or using Snyk
|
|
61
|
+
snyk test
|
|
62
|
+
|
|
63
|
+
# Get specific CVE details
|
|
64
|
+
curl -s https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2024-XXXXX | jq
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 1.2 Document the Vulnerability
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Vulnerability Assessment
|
|
71
|
+
|
|
72
|
+
**CVE ID**: CVE-2024-XXXXX
|
|
73
|
+
**Package**: lodash
|
|
74
|
+
**Affected Version**: < 4.17.21
|
|
75
|
+
**Our Version**: 4.17.19
|
|
76
|
+
**Severity**: High (CVSS 7.5)
|
|
77
|
+
|
|
78
|
+
**Description**: Prototype pollution vulnerability allows attackers to
|
|
79
|
+
inject properties into object prototypes, potentially leading to
|
|
80
|
+
remote code execution.
|
|
81
|
+
|
|
82
|
+
**Exploit Available**: Yes, public PoC available
|
|
83
|
+
**Being Exploited**: Yes, active exploitation reported
|
|
84
|
+
|
|
85
|
+
**Our Usage**:
|
|
86
|
+
- Direct dependency in 3 projects
|
|
87
|
+
- Transitive dependency in 12 projects
|
|
88
|
+
- Used functions: _.get, _.set, _.merge (vulnerable)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 1.3 Assess Impact
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Find all affected projects
|
|
95
|
+
grep -r "lodash" */package.json
|
|
96
|
+
|
|
97
|
+
# Check if vulnerable functions are used
|
|
98
|
+
grep -r "\.merge\|\.set\|\.defaultsDeep" src/
|
|
99
|
+
|
|
100
|
+
# Check dependency tree
|
|
101
|
+
npm ls lodash
|
|
102
|
+
|
|
103
|
+
# Generate dependency graph
|
|
104
|
+
npx depcruise --output-type dot src | dot -T svg > deps.svg
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Step 2: Immediate Response
|
|
110
|
+
|
|
111
|
+
### 2.1 Critical/High Severity
|
|
112
|
+
|
|
113
|
+
**For actively exploited vulnerabilities:**
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# 1. Notify security team immediately
|
|
117
|
+
/security alert --severity critical --cve CVE-2024-XXXXX
|
|
118
|
+
|
|
119
|
+
# 2. Check for signs of exploitation
|
|
120
|
+
grep -r "vulnerable_pattern" /var/log/app/
|
|
121
|
+
|
|
122
|
+
# 3. Consider temporary mitigation
|
|
123
|
+
# - Disable affected feature
|
|
124
|
+
# - Add WAF rules
|
|
125
|
+
# - Restrict access
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Temporary Mitigation Options:**
|
|
129
|
+
|
|
130
|
+
```javascript
|
|
131
|
+
// Option A: Patch at runtime (temporary!)
|
|
132
|
+
const _ = require('lodash');
|
|
133
|
+
const originalMerge = _.merge;
|
|
134
|
+
_.merge = function(target, ...sources) {
|
|
135
|
+
// Validate inputs
|
|
136
|
+
for (const source of sources) {
|
|
137
|
+
if (source && typeof source === 'object') {
|
|
138
|
+
if ('__proto__' in source || 'constructor' in source) {
|
|
139
|
+
throw new Error('Prototype pollution attempt blocked');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return originalMerge(target, ...sources);
|
|
144
|
+
};
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
# Option B: WAF rule (AWS WAF example)
|
|
149
|
+
Rules:
|
|
150
|
+
- Name: BlockPrototypePollution
|
|
151
|
+
Priority: 1
|
|
152
|
+
Action: Block
|
|
153
|
+
Statement:
|
|
154
|
+
ByteMatchStatement:
|
|
155
|
+
SearchString: "__proto__"
|
|
156
|
+
FieldToMatch:
|
|
157
|
+
Body: {}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 2.2 Medium/Low Severity
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Create tracking issue
|
|
164
|
+
/security issue create \
|
|
165
|
+
--title "Vulnerability in lodash < 4.17.21" \
|
|
166
|
+
--severity medium \
|
|
167
|
+
--cve CVE-2024-XXXXX \
|
|
168
|
+
--due-date "2024-01-22"
|
|
169
|
+
|
|
170
|
+
# Add to sprint planning
|
|
171
|
+
/jira add-to-sprint --issue SEC-123 --sprint current
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Step 3: Identify Fix Path
|
|
177
|
+
|
|
178
|
+
### 3.1 Check for Patched Version
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Check available versions
|
|
182
|
+
npm view lodash versions
|
|
183
|
+
|
|
184
|
+
# Check if fix is available
|
|
185
|
+
npm audit fix --dry-run
|
|
186
|
+
|
|
187
|
+
# Check advisory for fixed version
|
|
188
|
+
npm audit --json | jq '.vulnerabilities.lodash.fixAvailable'
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 3.2 Analyze Upgrade Path
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Check for breaking changes
|
|
195
|
+
npm outdated lodash
|
|
196
|
+
|
|
197
|
+
# Review changelog
|
|
198
|
+
curl -s https://raw.githubusercontent.com/lodash/lodash/master/CHANGELOG.md
|
|
199
|
+
|
|
200
|
+
# Check compatibility
|
|
201
|
+
npm ls lodash
|
|
202
|
+
# Note any packages requiring older version
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 3.3 Decision Matrix
|
|
206
|
+
|
|
207
|
+
| Scenario | Action |
|
|
208
|
+
|----------|--------|
|
|
209
|
+
| Direct fix available | Upgrade directly |
|
|
210
|
+
| Breaking changes | Plan migration, temporary mitigation |
|
|
211
|
+
| Transitive dependency | Upgrade parent package |
|
|
212
|
+
| No fix available | Alternative package or fork |
|
|
213
|
+
| False positive | Document and suppress |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Step 4: Apply Fix
|
|
218
|
+
|
|
219
|
+
### 4.1 Direct Dependency Fix
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Create security branch
|
|
223
|
+
git checkout -b security/fix-lodash-vulnerability
|
|
224
|
+
|
|
225
|
+
# Update package
|
|
226
|
+
npm install lodash@4.17.21
|
|
227
|
+
|
|
228
|
+
# Verify fix
|
|
229
|
+
npm audit
|
|
230
|
+
|
|
231
|
+
# Run tests
|
|
232
|
+
npm test
|
|
233
|
+
|
|
234
|
+
# Commit with security reference
|
|
235
|
+
git commit -m "fix(security): upgrade lodash to fix CVE-2024-XXXXX
|
|
236
|
+
|
|
237
|
+
- Upgrades lodash from 4.17.19 to 4.17.21
|
|
238
|
+
- Fixes prototype pollution vulnerability (CVSS 7.5)
|
|
239
|
+
- Advisory: https://github.com/advisories/GHSA-xxxx
|
|
240
|
+
|
|
241
|
+
Security: HIGH"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 4.2 Transitive Dependency Fix
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# Option A: Upgrade parent package
|
|
248
|
+
npm install parent-package@latest
|
|
249
|
+
|
|
250
|
+
# Option B: Use npm overrides (npm 8.3+)
|
|
251
|
+
# In package.json:
|
|
252
|
+
{
|
|
253
|
+
"overrides": {
|
|
254
|
+
"lodash": "4.17.21"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
# Option C: Use resolutions (yarn)
|
|
259
|
+
# In package.json:
|
|
260
|
+
{
|
|
261
|
+
"resolutions": {
|
|
262
|
+
"lodash": "4.17.21"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
# Verify
|
|
267
|
+
npm ls lodash
|
|
268
|
+
# Should show only 4.17.21
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 4.3 Replace Package (if no fix)
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Find alternatives
|
|
275
|
+
npx npm-check-updates --doctor
|
|
276
|
+
|
|
277
|
+
# Replace usage
|
|
278
|
+
# e.g., Replace lodash.merge with spread operator or native methods
|
|
279
|
+
|
|
280
|
+
# Before
|
|
281
|
+
const merged = _.merge({}, defaults, options);
|
|
282
|
+
|
|
283
|
+
# After
|
|
284
|
+
const merged = { ...defaults, ...options };
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Step 5: Test & Verify
|
|
290
|
+
|
|
291
|
+
### 5.1 Run Security Tests
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Full vulnerability scan
|
|
295
|
+
npm audit
|
|
296
|
+
snyk test
|
|
297
|
+
|
|
298
|
+
# Security-focused tests
|
|
299
|
+
npm run test:security
|
|
300
|
+
|
|
301
|
+
# Penetration testing (if applicable)
|
|
302
|
+
npm run test:pentest
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### 5.2 Run Regression Tests
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# Full test suite
|
|
309
|
+
npm test
|
|
310
|
+
|
|
311
|
+
# Integration tests
|
|
312
|
+
npm run test:integration
|
|
313
|
+
|
|
314
|
+
# E2E tests
|
|
315
|
+
npm run test:e2e
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 5.3 Verify Fix
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# Confirm patched version
|
|
322
|
+
npm ls lodash
|
|
323
|
+
# Should show: lodash@4.17.21
|
|
324
|
+
|
|
325
|
+
# Confirm no vulnerabilities
|
|
326
|
+
npm audit
|
|
327
|
+
# Should show: found 0 vulnerabilities
|
|
328
|
+
|
|
329
|
+
# Test the specific vulnerability (in isolated environment)
|
|
330
|
+
# DO NOT run in production
|
|
331
|
+
node test-vulnerability.js
|
|
332
|
+
# Should fail/be blocked
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Step 6: Deploy & Monitor
|
|
338
|
+
|
|
339
|
+
### 6.1 Deploy Fix
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# Fast-track for critical vulnerabilities
|
|
343
|
+
# Skip normal deployment queue
|
|
344
|
+
|
|
345
|
+
# Deploy to staging
|
|
346
|
+
kubectl apply -f k8s/staging/
|
|
347
|
+
|
|
348
|
+
# Verify staging
|
|
349
|
+
npm run verify:staging
|
|
350
|
+
|
|
351
|
+
# Deploy to production
|
|
352
|
+
kubectl apply -f k8s/production/
|
|
353
|
+
|
|
354
|
+
# Verify production
|
|
355
|
+
npm run verify:production
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### 6.2 Monitor for Issues
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
# Watch error rates
|
|
362
|
+
# Set up alert for any increase after deployment
|
|
363
|
+
|
|
364
|
+
# Watch for exploitation attempts
|
|
365
|
+
# Monitor WAF/security logs
|
|
366
|
+
|
|
367
|
+
# Check application logs
|
|
368
|
+
kubectl logs -f -n production -l app=my-service | grep -i security
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## Step 7: Documentation & Follow-up
|
|
374
|
+
|
|
375
|
+
### 7.1 Document the Response
|
|
376
|
+
|
|
377
|
+
```markdown
|
|
378
|
+
# Security Incident Report: CVE-2024-XXXXX
|
|
379
|
+
|
|
380
|
+
## Summary
|
|
381
|
+
- **Vulnerability**: Prototype pollution in lodash
|
|
382
|
+
- **Severity**: High (CVSS 7.5)
|
|
383
|
+
- **Affected**: 3 direct, 12 transitive dependencies
|
|
384
|
+
- **Detection**: Automated Snyk scan
|
|
385
|
+
- **Resolution**: Upgraded to lodash@4.17.21
|
|
386
|
+
|
|
387
|
+
## Timeline
|
|
388
|
+
- 2024-01-15 09:00 - Vulnerability detected by Snyk
|
|
389
|
+
- 2024-01-15 09:15 - Assessment completed
|
|
390
|
+
- 2024-01-15 10:00 - Fix developed and tested
|
|
391
|
+
- 2024-01-15 11:00 - Deployed to production
|
|
392
|
+
- 2024-01-15 11:30 - Verified fix in production
|
|
393
|
+
|
|
394
|
+
## Impact
|
|
395
|
+
- No evidence of exploitation
|
|
396
|
+
- No user data compromised
|
|
397
|
+
- Downtime: 0
|
|
398
|
+
|
|
399
|
+
## Lessons Learned
|
|
400
|
+
- Need better monitoring for lodash-related packages
|
|
401
|
+
- Consider adding prototype pollution WAF rules proactively
|
|
402
|
+
|
|
403
|
+
## Action Items
|
|
404
|
+
- [ ] Add automated lodash monitoring (due: Jan 22)
|
|
405
|
+
- [ ] Implement WAF rules for prototype pollution (due: Jan 25)
|
|
406
|
+
- [ ] Review similar dependencies (due: Jan 30)
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### 7.2 Update Security Processes
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
# Add to vulnerability monitoring
|
|
413
|
+
echo "lodash" >> .security/monitored-packages.txt
|
|
414
|
+
|
|
415
|
+
# Update security policy
|
|
416
|
+
git add SECURITY.md
|
|
417
|
+
git commit -m "docs: update security policy after CVE-2024-XXXXX"
|
|
418
|
+
|
|
419
|
+
# Update runbook if needed
|
|
420
|
+
git add runbooks/dependency-vulnerability.md
|
|
421
|
+
git commit -m "docs: add lessons learned from CVE-2024-XXXXX"
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### 7.3 Preventive Measures
|
|
425
|
+
|
|
426
|
+
```yaml
|
|
427
|
+
# Add to CI/CD pipeline
|
|
428
|
+
# .github/workflows/security.yml
|
|
429
|
+
name: Security Scan
|
|
430
|
+
on: [push, pull_request]
|
|
431
|
+
jobs:
|
|
432
|
+
audit:
|
|
433
|
+
runs-on: ubuntu-latest
|
|
434
|
+
steps:
|
|
435
|
+
- uses: actions/checkout@v3
|
|
436
|
+
- run: npm audit --audit-level=moderate
|
|
437
|
+
- run: npx snyk test
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
```json
|
|
441
|
+
// Add to package.json
|
|
442
|
+
{
|
|
443
|
+
"scripts": {
|
|
444
|
+
"preinstall": "npm audit",
|
|
445
|
+
"postinstall": "npm audit fix"
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## Commands Reference
|
|
453
|
+
|
|
454
|
+
```bash
|
|
455
|
+
# Security scanning
|
|
456
|
+
npm audit # NPM audit
|
|
457
|
+
npm audit fix # Auto-fix vulnerabilities
|
|
458
|
+
npm audit fix --force # Force fix (may break things)
|
|
459
|
+
snyk test # Snyk scan
|
|
460
|
+
snyk monitor # Add to Snyk monitoring
|
|
461
|
+
|
|
462
|
+
# Dependency analysis
|
|
463
|
+
npm ls <package> # Show dependency tree
|
|
464
|
+
npm outdated # Show outdated packages
|
|
465
|
+
npm why <package> # Why package is installed
|
|
466
|
+
|
|
467
|
+
# Quick fixes
|
|
468
|
+
npm update <package> # Update to latest allowed
|
|
469
|
+
npm install <package>@latest # Update to absolute latest
|
|
470
|
+
npm install <package>@X.Y.Z # Install specific version
|
|
471
|
+
|
|
472
|
+
# Create security PR
|
|
473
|
+
/security fix --cve CVE-XXXX --create-pr
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
---
|
|
477
|
+
|
|
478
|
+
## Escalation
|
|
479
|
+
|
|
480
|
+
### When to Escalate
|
|
481
|
+
|
|
482
|
+
- Critical vulnerability with active exploitation
|
|
483
|
+
- Unable to fix without breaking changes
|
|
484
|
+
- Fix requires significant refactoring
|
|
485
|
+
- Unsure about impact assessment
|
|
486
|
+
- External disclosure required
|
|
487
|
+
|
|
488
|
+
### Escalation Contacts
|
|
489
|
+
|
|
490
|
+
| Role | Contact | When |
|
|
491
|
+
|------|---------|------|
|
|
492
|
+
| Security Lead | @security-lead | All critical/high vulnerabilities |
|
|
493
|
+
| Engineering Lead | @eng-lead | Breaking changes required |
|
|
494
|
+
| Legal/Compliance | @legal | Data breach potential |
|
|
495
|
+
| PR/Communications | @pr-team | Public disclosure needed |
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## Resources
|
|
500
|
+
|
|
501
|
+
- [NVD Database](https://nvd.nist.gov/)
|
|
502
|
+
- [GitHub Security Advisories](https://github.com/advisories)
|
|
503
|
+
- [Snyk Vulnerability DB](https://snyk.io/vuln)
|
|
504
|
+
- [npm Advisories](https://www.npmjs.com/advisories)
|
|
505
|
+
- [OWASP Dependency Check](https://owasp.org/www-project-dependency-check/)
|