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,330 @@
|
|
|
1
|
+
# Configuration Versioning
|
|
2
|
+
|
|
3
|
+
Track all configuration changes with full history.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Version Structure
|
|
8
|
+
|
|
9
|
+
### Version Format
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
v{major}.{minor}.{patch}
|
|
13
|
+
|
|
14
|
+
Examples:
|
|
15
|
+
v1.0.0 - Initial configuration
|
|
16
|
+
v1.1.0 - Added new checkpoint
|
|
17
|
+
v1.1.1 - Fixed typo in rule
|
|
18
|
+
v2.0.0 - Breaking change to standards
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Version Metadata
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"version": "v1.5.0",
|
|
26
|
+
"timestamp": "2024-01-15T10:30:00Z",
|
|
27
|
+
"author": "developer@company.com",
|
|
28
|
+
"reason": "Added stricter security rules",
|
|
29
|
+
"files_changed": [
|
|
30
|
+
"proagents.config.yaml",
|
|
31
|
+
"rules/security-rules.yaml"
|
|
32
|
+
],
|
|
33
|
+
"checksum": "sha256:abc123..."
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Creating Versions
|
|
40
|
+
|
|
41
|
+
### Automatic Versioning
|
|
42
|
+
|
|
43
|
+
Changes are automatically versioned when using CLI:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Set config value (creates version)
|
|
47
|
+
proagents config set checkpoints.before_deployment true
|
|
48
|
+
|
|
49
|
+
# Output:
|
|
50
|
+
Configuration updated.
|
|
51
|
+
Version: v1.5.1
|
|
52
|
+
Reason: Updated checkpoints.before_deployment
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Manual Versioning
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Create version with message
|
|
59
|
+
proagents config commit --message "Added new security rules"
|
|
60
|
+
|
|
61
|
+
# Create version with specific version number
|
|
62
|
+
proagents config commit --version v2.0.0 --message "Breaking changes"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Version on Edit
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
config_versioning:
|
|
69
|
+
auto_version:
|
|
70
|
+
enabled: true
|
|
71
|
+
on_save: true
|
|
72
|
+
version_bump: "patch" # auto, major, minor, patch
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Version History
|
|
78
|
+
|
|
79
|
+
### View History
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Show recent versions
|
|
83
|
+
proagents config history
|
|
84
|
+
|
|
85
|
+
# Output:
|
|
86
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
87
|
+
│ Configuration History │
|
|
88
|
+
├─────────────────────────────────────────────────────────────┤
|
|
89
|
+
│ │
|
|
90
|
+
│ v1.5.1 (current) │
|
|
91
|
+
│ ├── Date: Jan 15, 2024 10:30 │
|
|
92
|
+
│ ├── Author: developer@company.com │
|
|
93
|
+
│ └── Reason: Updated checkpoint settings │
|
|
94
|
+
│ │
|
|
95
|
+
│ v1.5.0 │
|
|
96
|
+
│ ├── Date: Jan 14, 2024 15:45 │
|
|
97
|
+
│ ├── Author: lead@company.com │
|
|
98
|
+
│ └── Reason: Added stricter security rules │
|
|
99
|
+
│ │
|
|
100
|
+
│ v1.4.0 │
|
|
101
|
+
│ ├── Date: Jan 10, 2024 09:00 │
|
|
102
|
+
│ ├── Author: developer@company.com │
|
|
103
|
+
│ └── Reason: Configured test coverage targets │
|
|
104
|
+
│ │
|
|
105
|
+
│ Showing 3 of 15 versions. Use --all to see all. │
|
|
106
|
+
│ │
|
|
107
|
+
└─────────────────────────────────────────────────────────────┘
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Filter History
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# By date range
|
|
114
|
+
proagents config history --from 2024-01-01 --to 2024-01-31
|
|
115
|
+
|
|
116
|
+
# By author
|
|
117
|
+
proagents config history --author developer@company.com
|
|
118
|
+
|
|
119
|
+
# By file
|
|
120
|
+
proagents config history --file rules/security-rules.yaml
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Comparing Versions
|
|
126
|
+
|
|
127
|
+
### Diff Versions
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Compare with previous
|
|
131
|
+
proagents config diff
|
|
132
|
+
|
|
133
|
+
# Compare specific versions
|
|
134
|
+
proagents config diff v1.4.0 v1.5.0
|
|
135
|
+
|
|
136
|
+
# Compare with current
|
|
137
|
+
proagents config diff v1.4.0
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Diff Output
|
|
141
|
+
|
|
142
|
+
```diff
|
|
143
|
+
--- v1.4.0
|
|
144
|
+
+++ v1.5.0
|
|
145
|
+
|
|
146
|
+
proagents.config.yaml:
|
|
147
|
+
@@ -15,6 +15,9 @@
|
|
148
|
+
checkpoints:
|
|
149
|
+
after_analysis: true
|
|
150
|
+
- before_deployment: false
|
|
151
|
+
+ before_deployment: true
|
|
152
|
+
+
|
|
153
|
+
+security:
|
|
154
|
+
+ require_review: true
|
|
155
|
+
+ scan_dependencies: true
|
|
156
|
+
|
|
157
|
+
rules/security-rules.yaml:
|
|
158
|
+
@@ -1,4 +1,8 @@
|
|
159
|
+
rules:
|
|
160
|
+
- id: no-secrets
|
|
161
|
+
severity: error
|
|
162
|
+
+
|
|
163
|
+
+ - id: dependency-check
|
|
164
|
+
+ severity: warning
|
|
165
|
+
+ scan_on: commit
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Version Storage
|
|
171
|
+
|
|
172
|
+
### Storage Structure
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
.proagents/config-history/
|
|
176
|
+
├── index.json # Version index
|
|
177
|
+
├── versions/
|
|
178
|
+
│ ├── v1.5.1/
|
|
179
|
+
│ │ ├── metadata.json # Version metadata
|
|
180
|
+
│ │ ├── proagents.config.yaml
|
|
181
|
+
│ │ └── rules/
|
|
182
|
+
│ │ └── security-rules.yaml
|
|
183
|
+
│ ├── v1.5.0/
|
|
184
|
+
│ │ └── ...
|
|
185
|
+
│ └── v1.4.0/
|
|
186
|
+
│ └── ...
|
|
187
|
+
└── changelog.md # Human-readable changelog
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Index File
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"current_version": "v1.5.1",
|
|
195
|
+
"versions": [
|
|
196
|
+
{
|
|
197
|
+
"version": "v1.5.1",
|
|
198
|
+
"timestamp": "2024-01-15T10:30:00Z",
|
|
199
|
+
"author": "developer@company.com",
|
|
200
|
+
"path": "versions/v1.5.1"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"version": "v1.5.0",
|
|
204
|
+
"timestamp": "2024-01-14T15:45:00Z",
|
|
205
|
+
"author": "lead@company.com",
|
|
206
|
+
"path": "versions/v1.5.0"
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Validation
|
|
215
|
+
|
|
216
|
+
### Pre-Apply Validation
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
# Validate current config
|
|
220
|
+
proagents config validate
|
|
221
|
+
|
|
222
|
+
# Validate specific version
|
|
223
|
+
proagents config validate --version v1.5.0
|
|
224
|
+
|
|
225
|
+
# Output:
|
|
226
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
227
|
+
│ Configuration Validation │
|
|
228
|
+
├─────────────────────────────────────────────────────────────┤
|
|
229
|
+
│ │
|
|
230
|
+
│ ✅ Syntax: Valid YAML │
|
|
231
|
+
│ ✅ Schema: Matches expected structure │
|
|
232
|
+
│ ✅ Rules: All rules have valid syntax │
|
|
233
|
+
│ ✅ References: All file references exist │
|
|
234
|
+
│ ⚠️ Warning: Deprecated option 'old_setting' used │
|
|
235
|
+
│ │
|
|
236
|
+
│ Validation: PASSED (with warnings) │
|
|
237
|
+
│ │
|
|
238
|
+
└─────────────────────────────────────────────────────────────┘
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Validation Rules
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
config_versioning:
|
|
245
|
+
validation:
|
|
246
|
+
# Schema validation
|
|
247
|
+
schema: true
|
|
248
|
+
|
|
249
|
+
# Syntax check
|
|
250
|
+
syntax: true
|
|
251
|
+
|
|
252
|
+
# Check file references
|
|
253
|
+
references: true
|
|
254
|
+
|
|
255
|
+
# Check for deprecated options
|
|
256
|
+
deprecation_warnings: true
|
|
257
|
+
|
|
258
|
+
# Custom validators
|
|
259
|
+
custom:
|
|
260
|
+
- "validate_rule_ids_unique"
|
|
261
|
+
- "validate_paths_exist"
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Export/Import
|
|
267
|
+
|
|
268
|
+
### Export Configuration
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Export current config
|
|
272
|
+
proagents config export > config-backup.yaml
|
|
273
|
+
|
|
274
|
+
# Export specific version
|
|
275
|
+
proagents config export --version v1.5.0 > config-v1.5.0.yaml
|
|
276
|
+
|
|
277
|
+
# Export with history
|
|
278
|
+
proagents config export --include-history > config-full.tar.gz
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Import Configuration
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Import and apply
|
|
285
|
+
proagents config import config-backup.yaml
|
|
286
|
+
|
|
287
|
+
# Import as new version
|
|
288
|
+
proagents config import config-backup.yaml --as-version v2.0.0
|
|
289
|
+
|
|
290
|
+
# Import and validate only
|
|
291
|
+
proagents config import config-backup.yaml --dry-run
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Hooks
|
|
297
|
+
|
|
298
|
+
### Pre-Change Hooks
|
|
299
|
+
|
|
300
|
+
```yaml
|
|
301
|
+
config_versioning:
|
|
302
|
+
hooks:
|
|
303
|
+
pre_change:
|
|
304
|
+
- script: "validate-config.sh"
|
|
305
|
+
blocking: true
|
|
306
|
+
|
|
307
|
+
- script: "notify-team.sh"
|
|
308
|
+
blocking: false
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Post-Change Hooks
|
|
312
|
+
|
|
313
|
+
```yaml
|
|
314
|
+
config_versioning:
|
|
315
|
+
hooks:
|
|
316
|
+
post_change:
|
|
317
|
+
- script: "sync-to-remote.sh"
|
|
318
|
+
- script: "update-documentation.sh"
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Best Practices
|
|
324
|
+
|
|
325
|
+
1. **Always Add Reason**: Document why changes were made
|
|
326
|
+
2. **Review Diffs**: Before applying, review changes
|
|
327
|
+
3. **Test First**: Validate in staging before production
|
|
328
|
+
4. **Backup Regularly**: Export config periodically
|
|
329
|
+
5. **Use Semantic Versioning**: Major for breaking changes
|
|
330
|
+
6. **Keep History Clean**: Remove very old versions
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Contract Testing
|
|
2
|
+
|
|
3
|
+
Ensure API contracts between services remain compatible.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Contract testing verifies that API interactions between services conform to agreed-upon contracts, catching integration issues early without requiring full end-to-end testing.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What is Contract Testing?
|
|
14
|
+
|
|
15
|
+
Contract testing validates that:
|
|
16
|
+
- **Consumers** correctly call providers
|
|
17
|
+
- **Providers** return expected responses
|
|
18
|
+
- **Both sides** agree on the contract
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
┌──────────────┐ ┌──────────────┐
|
|
22
|
+
│ Consumer │ ←── Contract ───→ │ Provider │
|
|
23
|
+
│ (Frontend) │ │ (Backend) │
|
|
24
|
+
└──────────────┘ └──────────────┘
|
|
25
|
+
│ │
|
|
26
|
+
▼ ▼
|
|
27
|
+
Consumer Tests Provider Tests
|
|
28
|
+
verify request verify response
|
|
29
|
+
matches contract matches contract
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Quick Start
|
|
35
|
+
|
|
36
|
+
### Install Pact
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Node.js
|
|
40
|
+
npm install --save-dev @pact-foundation/pact
|
|
41
|
+
|
|
42
|
+
# Or use Pact standalone
|
|
43
|
+
curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/latest/download/pact-2.0.0-osx.tar.gz
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Consumer Test
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
import { PactV3, MatchersV3 } from '@pact-foundation/pact';
|
|
50
|
+
|
|
51
|
+
const provider = new PactV3({
|
|
52
|
+
consumer: 'Frontend',
|
|
53
|
+
provider: 'UserService',
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
describe('User API', () => {
|
|
57
|
+
it('gets user by ID', async () => {
|
|
58
|
+
await provider
|
|
59
|
+
.given('user exists')
|
|
60
|
+
.uponReceiving('a request for user')
|
|
61
|
+
.withRequest({
|
|
62
|
+
method: 'GET',
|
|
63
|
+
path: '/users/123',
|
|
64
|
+
})
|
|
65
|
+
.willRespondWith({
|
|
66
|
+
status: 200,
|
|
67
|
+
body: {
|
|
68
|
+
id: MatchersV3.string('123'),
|
|
69
|
+
name: MatchersV3.string('John'),
|
|
70
|
+
email: MatchersV3.email(),
|
|
71
|
+
},
|
|
72
|
+
})
|
|
73
|
+
.executeTest(async (mockServer) => {
|
|
74
|
+
const response = await fetch(`${mockServer.url}/users/123`);
|
|
75
|
+
const user = await response.json();
|
|
76
|
+
expect(user.name).toBe('John');
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Provider Test
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
import { Verifier } from '@pact-foundation/pact';
|
|
86
|
+
|
|
87
|
+
describe('User Service Provider', () => {
|
|
88
|
+
it('validates the contract', async () => {
|
|
89
|
+
await new Verifier({
|
|
90
|
+
providerBaseUrl: 'http://localhost:3000',
|
|
91
|
+
pactUrls: ['./pacts/frontend-userservice.json'],
|
|
92
|
+
stateHandlers: {
|
|
93
|
+
'user exists': async () => {
|
|
94
|
+
await db.users.create({ id: '123', name: 'John' });
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
}).verifyProvider();
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Documentation
|
|
105
|
+
|
|
106
|
+
| Document | Description |
|
|
107
|
+
|----------|-------------|
|
|
108
|
+
| [Contract Testing Guide](./contract-testing.md) | Complete contract testing guide |
|
|
109
|
+
| [Pact Integration](./pact-integration.md) | Using Pact for contract testing |
|
|
110
|
+
| [Schema Validation](./schema-validation.md) | JSON Schema and OpenAPI validation |
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Contract Testing vs Other Testing
|
|
115
|
+
|
|
116
|
+
| Type | Purpose | When to Use |
|
|
117
|
+
|------|---------|-------------|
|
|
118
|
+
| **Unit Tests** | Test individual components | Always |
|
|
119
|
+
| **Contract Tests** | Test API agreements | Service boundaries |
|
|
120
|
+
| **Integration Tests** | Test real interactions | Critical paths |
|
|
121
|
+
| **E2E Tests** | Test full workflows | Key user journeys |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Benefits
|
|
126
|
+
|
|
127
|
+
- **Catch breaking changes early** - Before deployment
|
|
128
|
+
- **Decouple teams** - Test independently
|
|
129
|
+
- **Faster feedback** - No need for running all services
|
|
130
|
+
- **Living documentation** - Contracts serve as specs
|
|
131
|
+
- **Prevent regression** - Automated verification
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Commands
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Run consumer tests
|
|
139
|
+
/contract test consumer
|
|
140
|
+
|
|
141
|
+
# Run provider tests
|
|
142
|
+
/contract test provider
|
|
143
|
+
|
|
144
|
+
# Publish contracts
|
|
145
|
+
/contract publish
|
|
146
|
+
|
|
147
|
+
# Verify contracts
|
|
148
|
+
/contract verify
|
|
149
|
+
|
|
150
|
+
# Generate contract documentation
|
|
151
|
+
/contract docs
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Configuration
|
|
157
|
+
|
|
158
|
+
```yaml
|
|
159
|
+
# proagents.config.yaml
|
|
160
|
+
contract_testing:
|
|
161
|
+
enabled: true
|
|
162
|
+
tool: "pact"
|
|
163
|
+
|
|
164
|
+
broker:
|
|
165
|
+
url: "${PACT_BROKER_URL}"
|
|
166
|
+
token: "${PACT_BROKER_TOKEN}"
|
|
167
|
+
|
|
168
|
+
consumer:
|
|
169
|
+
output_dir: "./pacts"
|
|
170
|
+
|
|
171
|
+
provider:
|
|
172
|
+
pact_urls:
|
|
173
|
+
- "${PACT_BROKER_URL}/pacts/provider/UserService/latest"
|
|
174
|
+
|
|
175
|
+
ci:
|
|
176
|
+
can_i_deploy: true
|
|
177
|
+
publish_on_success: true
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## CI/CD Integration
|
|
183
|
+
|
|
184
|
+
```yaml
|
|
185
|
+
# .github/workflows/contract.yml
|
|
186
|
+
name: Contract Tests
|
|
187
|
+
|
|
188
|
+
on: [push, pull_request]
|
|
189
|
+
|
|
190
|
+
jobs:
|
|
191
|
+
consumer:
|
|
192
|
+
runs-on: ubuntu-latest
|
|
193
|
+
steps:
|
|
194
|
+
- uses: actions/checkout@v3
|
|
195
|
+
- run: npm ci
|
|
196
|
+
- run: npm run test:contract:consumer
|
|
197
|
+
- run: npm run pact:publish
|
|
198
|
+
|
|
199
|
+
provider:
|
|
200
|
+
runs-on: ubuntu-latest
|
|
201
|
+
needs: consumer
|
|
202
|
+
steps:
|
|
203
|
+
- uses: actions/checkout@v3
|
|
204
|
+
- run: npm ci
|
|
205
|
+
- run: npm run test:contract:provider
|
|
206
|
+
|
|
207
|
+
can-i-deploy:
|
|
208
|
+
runs-on: ubuntu-latest
|
|
209
|
+
needs: [consumer, provider]
|
|
210
|
+
steps:
|
|
211
|
+
- run: pact-broker can-i-deploy --pacticipant Frontend --latest
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Best Practices
|
|
217
|
+
|
|
218
|
+
1. **Consumer-driven** - Consumers define what they need
|
|
219
|
+
2. **Minimal contracts** - Only include what's used
|
|
220
|
+
3. **Use matchers** - Don't hardcode values
|
|
221
|
+
4. **Version contracts** - Track changes over time
|
|
222
|
+
5. **Automate publishing** - Integrate with CI/CD
|
|
223
|
+
6. **Can-I-Deploy** - Block deployments on failures
|