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,58 @@
|
|
|
1
|
+
# Project Standards Configuration
|
|
2
|
+
|
|
3
|
+
Place your project-specific coding standards here. These override the default templates.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
1. Copy templates from `/proagents/standards/examples/`
|
|
10
|
+
2. Customize for your project
|
|
11
|
+
3. ProAgents will use your standards during code generation and review
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Files to Create
|
|
16
|
+
|
|
17
|
+
| File | Purpose |
|
|
18
|
+
|------|---------|
|
|
19
|
+
| `coding-standards.md` | Code style and conventions |
|
|
20
|
+
| `architecture-rules.md` | Architectural patterns and constraints |
|
|
21
|
+
| `naming-conventions.md` | Naming rules for files, functions, variables |
|
|
22
|
+
| `testing-standards.md` | Testing requirements and patterns |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Copy example standards
|
|
30
|
+
cp proagents/standards/examples/react-nextjs.md \
|
|
31
|
+
proagents/config/standards/coding-standards.md
|
|
32
|
+
|
|
33
|
+
# Edit for your project
|
|
34
|
+
vim proagents/config/standards/coding-standards.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Example Structure
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
proagents/config/standards/
|
|
43
|
+
├── README.md # This file
|
|
44
|
+
├── coding-standards.md # Your coding standards
|
|
45
|
+
├── architecture-rules.md # Your architecture rules
|
|
46
|
+
├── naming-conventions.md # Your naming conventions
|
|
47
|
+
└── testing-standards.md # Your testing standards
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Priority Order
|
|
53
|
+
|
|
54
|
+
When standards conflict, priority is:
|
|
55
|
+
|
|
56
|
+
1. `config/standards/` (highest - your project)
|
|
57
|
+
2. `standards/examples/` (framework defaults)
|
|
58
|
+
3. Auto-detected patterns (lowest)
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Architecture Rules Template
|
|
2
|
+
|
|
3
|
+
Copy this file to `architecture-rules.md` and customize for your project.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Project Type: [Web Frontend | Full-Stack | Backend | Mobile]
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Directory Structure
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[Define your expected directory structure]
|
|
15
|
+
|
|
16
|
+
src/
|
|
17
|
+
├── [folder]/ # [purpose]
|
|
18
|
+
├── [folder]/ # [purpose]
|
|
19
|
+
└── [folder]/ # [purpose]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Dependency Rules
|
|
25
|
+
|
|
26
|
+
### Allowed Dependencies
|
|
27
|
+
|
|
28
|
+
| Layer | Can Import From |
|
|
29
|
+
|-------|-----------------|
|
|
30
|
+
| Components | hooks, utils, types, services |
|
|
31
|
+
| Pages | components, hooks, services |
|
|
32
|
+
| Services | utils, types |
|
|
33
|
+
| Utils | types only |
|
|
34
|
+
|
|
35
|
+
### Forbidden Dependencies
|
|
36
|
+
|
|
37
|
+
- Components CANNOT import from pages
|
|
38
|
+
- Utils CANNOT import from services
|
|
39
|
+
- No circular dependencies
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## State Management
|
|
44
|
+
|
|
45
|
+
**Approach:** [Redux | Zustand | Context | MobX | None]
|
|
46
|
+
|
|
47
|
+
Rules:
|
|
48
|
+
- Global state for: [list what goes in global state]
|
|
49
|
+
- Local state for: [list what stays local]
|
|
50
|
+
- Server state managed by: [React Query | SWR | Apollo | etc.]
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## API Patterns
|
|
55
|
+
|
|
56
|
+
**Style:** [REST | GraphQL | tRPC | gRPC]
|
|
57
|
+
|
|
58
|
+
Rules:
|
|
59
|
+
- All API calls through: `[service layer path]`
|
|
60
|
+
- Error handling: [centralized | per-call]
|
|
61
|
+
- Authentication: [how auth is handled]
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Component Patterns
|
|
66
|
+
|
|
67
|
+
**Style:** [Functional only | Class allowed]
|
|
68
|
+
|
|
69
|
+
Rules:
|
|
70
|
+
- Props interface above component
|
|
71
|
+
- Destructure props in signature
|
|
72
|
+
- Use memo() for: [criteria]
|
|
73
|
+
- Max component size: [lines or recommendation]
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Database Access
|
|
78
|
+
|
|
79
|
+
**ORM/Query Builder:** [Prisma | TypeORM | Drizzle | Raw SQL]
|
|
80
|
+
|
|
81
|
+
Rules:
|
|
82
|
+
- All queries in: `[repository/service path]`
|
|
83
|
+
- Transactions for: [multi-table operations]
|
|
84
|
+
- No raw SQL in: [controllers/routes]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Authentication & Authorization
|
|
89
|
+
|
|
90
|
+
**Method:** [JWT | Session | OAuth]
|
|
91
|
+
|
|
92
|
+
Rules:
|
|
93
|
+
- Auth middleware on: [which routes]
|
|
94
|
+
- Role checks in: [where]
|
|
95
|
+
- Token storage: [localStorage | httpOnly cookie | memory]
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Error Handling
|
|
100
|
+
|
|
101
|
+
**Strategy:** [Error boundaries | Global handler | Per-component]
|
|
102
|
+
|
|
103
|
+
Rules:
|
|
104
|
+
- All errors logged to: [service]
|
|
105
|
+
- User-facing errors: [how handled]
|
|
106
|
+
- API errors: [format and handling]
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Performance Requirements
|
|
111
|
+
|
|
112
|
+
- Bundle size limit: [size]
|
|
113
|
+
- Initial load time: [target]
|
|
114
|
+
- API response time: [target]
|
|
115
|
+
- Core Web Vitals targets: [LCP, FID, CLS]
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Security Requirements
|
|
120
|
+
|
|
121
|
+
- Input validation: [where and how]
|
|
122
|
+
- Output encoding: [XSS prevention]
|
|
123
|
+
- CSRF protection: [method]
|
|
124
|
+
- Rate limiting: [requirements]
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Coding Standards Template
|
|
2
|
+
|
|
3
|
+
Copy this file to `coding-standards.md` and customize for your project.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Language: [JavaScript/TypeScript/Python/Go/etc.]
|
|
8
|
+
|
|
9
|
+
### Code Style
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
indentation: [2 spaces | 4 spaces | tabs]
|
|
13
|
+
max_line_length: [80 | 100 | 120]
|
|
14
|
+
quotes: [single | double]
|
|
15
|
+
semicolons: [required | omit]
|
|
16
|
+
trailing_commas: [always | never | es5]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Formatting
|
|
20
|
+
|
|
21
|
+
- Use [Prettier | Black | gofmt | etc.] for auto-formatting
|
|
22
|
+
- Configuration file: [.prettierrc | pyproject.toml | etc.]
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## TypeScript Specific
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
strict_mode: true
|
|
30
|
+
no_any: true
|
|
31
|
+
explicit_return_types: [always | public_only | never]
|
|
32
|
+
prefer_const: true
|
|
33
|
+
no_unused_variables: true
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Import Organization
|
|
39
|
+
|
|
40
|
+
Order imports as follows:
|
|
41
|
+
1. [Built-in modules]
|
|
42
|
+
2. [External dependencies]
|
|
43
|
+
3. [Internal absolute imports]
|
|
44
|
+
4. [Relative imports]
|
|
45
|
+
5. [Style imports]
|
|
46
|
+
|
|
47
|
+
Example:
|
|
48
|
+
```typescript
|
|
49
|
+
// 1. Built-in
|
|
50
|
+
import { useState } from 'react';
|
|
51
|
+
|
|
52
|
+
// 2. External
|
|
53
|
+
import axios from 'axios';
|
|
54
|
+
|
|
55
|
+
// 3. Internal absolute
|
|
56
|
+
import { Button } from '@/components';
|
|
57
|
+
|
|
58
|
+
// 4. Relative
|
|
59
|
+
import { helper } from './utils';
|
|
60
|
+
|
|
61
|
+
// 5. Styles
|
|
62
|
+
import styles from './Component.module.css';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Comments
|
|
68
|
+
|
|
69
|
+
- Use JSDoc/docstrings for public APIs
|
|
70
|
+
- Inline comments only for non-obvious logic
|
|
71
|
+
- TODO format: `// TODO(author): description`
|
|
72
|
+
- No commented-out code in production
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Error Handling
|
|
77
|
+
|
|
78
|
+
- Always handle errors explicitly
|
|
79
|
+
- Use typed error classes
|
|
80
|
+
- Log errors with context
|
|
81
|
+
- User-facing errors should be friendly
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## File Organization
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
src/
|
|
89
|
+
├── components/ # UI components
|
|
90
|
+
├── hooks/ # Custom hooks
|
|
91
|
+
├── services/ # API/business logic
|
|
92
|
+
├── utils/ # Pure utility functions
|
|
93
|
+
├── types/ # TypeScript types
|
|
94
|
+
└── constants/ # Constants and config
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Naming Conventions
|
|
100
|
+
|
|
101
|
+
See `naming-conventions.md` for detailed rules.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Testing Requirements
|
|
106
|
+
|
|
107
|
+
See `testing-standards.md` for detailed rules.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Naming Conventions Template
|
|
2
|
+
|
|
3
|
+
Copy this file to `naming-conventions.md` and customize for your project.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Naming
|
|
8
|
+
|
|
9
|
+
| Type | Convention | Example |
|
|
10
|
+
|------|------------|---------|
|
|
11
|
+
| Components | [PascalCase | kebab-case] | `UserProfile.tsx` or `user-profile.tsx` |
|
|
12
|
+
| Hooks | camelCase with `use` prefix | `useUserData.ts` |
|
|
13
|
+
| Utilities | [camelCase | kebab-case] | `formatDate.ts` or `format-date.ts` |
|
|
14
|
+
| Constants | [UPPER_SNAKE | camelCase] | `API_ENDPOINTS.ts` |
|
|
15
|
+
| Types | PascalCase | `UserTypes.ts` |
|
|
16
|
+
| Tests | Same as source + `.test` | `UserProfile.test.tsx` |
|
|
17
|
+
| Styles | Same as component + `.module` | `UserProfile.module.css` |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Variable Naming
|
|
22
|
+
|
|
23
|
+
| Type | Convention | Example |
|
|
24
|
+
|------|------------|---------|
|
|
25
|
+
| Variables | camelCase | `userName`, `isLoading` |
|
|
26
|
+
| Constants | UPPER_SNAKE_CASE | `MAX_RETRIES`, `API_URL` |
|
|
27
|
+
| Booleans | `is`, `has`, `can` prefix | `isActive`, `hasPermission` |
|
|
28
|
+
| Arrays | Plural nouns | `users`, `items` |
|
|
29
|
+
| Objects | Singular nouns | `user`, `config` |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Function Naming
|
|
34
|
+
|
|
35
|
+
| Type | Convention | Example |
|
|
36
|
+
|------|------------|---------|
|
|
37
|
+
| Functions | camelCase, verb prefix | `getUserData`, `calculateTotal` |
|
|
38
|
+
| Event handlers | `handle` + Event | `handleClick`, `handleSubmit` |
|
|
39
|
+
| Async functions | Verb describing action | `fetchUser`, `saveData` |
|
|
40
|
+
| Predicates | `is`, `has`, `can` prefix | `isValid`, `hasAccess` |
|
|
41
|
+
| Transformers | `to` or `format` prefix | `toUpperCase`, `formatDate` |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Component Naming
|
|
46
|
+
|
|
47
|
+
| Type | Convention | Example |
|
|
48
|
+
|------|------------|---------|
|
|
49
|
+
| Components | PascalCase, noun-based | `UserCard`, `NavigationMenu` |
|
|
50
|
+
| Pages | PascalCase + `Page` suffix | `HomePage`, `ProfilePage` |
|
|
51
|
+
| Layouts | PascalCase + `Layout` suffix | `MainLayout`, `AuthLayout` |
|
|
52
|
+
| Providers | PascalCase + `Provider` suffix | `AuthProvider`, `ThemeProvider` |
|
|
53
|
+
| HOCs | `with` prefix | `withAuth`, `withLoading` |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Type/Interface Naming
|
|
58
|
+
|
|
59
|
+
| Type | Convention | Example |
|
|
60
|
+
|------|------------|---------|
|
|
61
|
+
| Interfaces | PascalCase (no `I` prefix) | `User`, `ApiResponse` |
|
|
62
|
+
| Types | PascalCase | `UserStatus`, `RequestConfig` |
|
|
63
|
+
| Props | Component name + `Props` | `UserCardProps` |
|
|
64
|
+
| Enums | PascalCase | `UserRole`, `OrderStatus` |
|
|
65
|
+
| Generics | Single uppercase or descriptive | `T`, `TData`, `TResponse` |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## API/Database Naming
|
|
70
|
+
|
|
71
|
+
| Type | Convention | Example |
|
|
72
|
+
|------|------------|---------|
|
|
73
|
+
| Endpoints | kebab-case, plural | `/api/users`, `/api/order-items` |
|
|
74
|
+
| Table names | snake_case, plural | `users`, `order_items` |
|
|
75
|
+
| Column names | snake_case | `created_at`, `user_id` |
|
|
76
|
+
| Foreign keys | Referenced table + `_id` | `user_id`, `order_id` |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## CSS/Styling Naming
|
|
81
|
+
|
|
82
|
+
| Type | Convention | Example |
|
|
83
|
+
|------|------------|---------|
|
|
84
|
+
| CSS Classes | [BEM | camelCase | kebab-case] | `.user-card__title` |
|
|
85
|
+
| CSS Variables | kebab-case with `--` | `--primary-color` |
|
|
86
|
+
| Tailwind | Standard Tailwind | `bg-blue-500` |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Test Naming
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
// Test files
|
|
94
|
+
UserProfile.test.tsx
|
|
95
|
+
|
|
96
|
+
// Describe blocks
|
|
97
|
+
describe('UserProfile', () => {
|
|
98
|
+
|
|
99
|
+
// Test cases - should describe behavior
|
|
100
|
+
it('renders user name when provided', () => {
|
|
101
|
+
it('shows loading state while fetching', () => {
|
|
102
|
+
it('calls onEdit when edit button clicked', () => {
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Git Branch Naming
|
|
108
|
+
|
|
109
|
+
| Type | Convention | Example |
|
|
110
|
+
|------|------------|---------|
|
|
111
|
+
| Features | `feature/[ticket]-description` | `feature/PROJ-123-user-auth` |
|
|
112
|
+
| Bug fixes | `fix/[ticket]-description` | `fix/PROJ-456-login-error` |
|
|
113
|
+
| Hotfixes | `hotfix/description` | `hotfix/critical-payment-bug` |
|
|
114
|
+
| Releases | `release/version` | `release/1.2.0` |
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Testing Standards Template
|
|
2
|
+
|
|
3
|
+
Copy this file to `testing-standards.md` and customize for your project.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Testing Framework
|
|
8
|
+
|
|
9
|
+
**Unit Tests:** [Jest | Vitest | Mocha | pytest]
|
|
10
|
+
**Integration Tests:** [Jest | Supertest | pytest]
|
|
11
|
+
**E2E Tests:** [Playwright | Cypress | Selenium]
|
|
12
|
+
**Component Tests:** [Testing Library | Enzyme]
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Coverage Requirements
|
|
17
|
+
|
|
18
|
+
| Type | Minimum Coverage |
|
|
19
|
+
|------|------------------|
|
|
20
|
+
| Overall | [80% | 85% | 90%] |
|
|
21
|
+
| Critical paths | [95% | 100%] |
|
|
22
|
+
| New code | [80% | 90%] |
|
|
23
|
+
| Utilities | [90% | 100%] |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Test File Organization
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
src/
|
|
31
|
+
├── components/
|
|
32
|
+
│ ├── UserCard.tsx
|
|
33
|
+
│ └── UserCard.test.tsx # Co-located
|
|
34
|
+
└── __tests__/ # Or centralized
|
|
35
|
+
└── integration/
|
|
36
|
+
└── user-flow.test.ts
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Approach:** [Co-located | Centralized | Both]
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Unit Test Structure
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
describe('ComponentName', () => {
|
|
47
|
+
// Setup
|
|
48
|
+
beforeEach(() => {
|
|
49
|
+
// Common setup
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// Group related tests
|
|
53
|
+
describe('when [condition]', () => {
|
|
54
|
+
it('should [expected behavior]', () => {
|
|
55
|
+
// Arrange
|
|
56
|
+
// Act
|
|
57
|
+
// Assert
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## What to Test
|
|
66
|
+
|
|
67
|
+
### Components
|
|
68
|
+
- [ ] Renders without crashing
|
|
69
|
+
- [ ] Renders correct content based on props
|
|
70
|
+
- [ ] Handles user interactions
|
|
71
|
+
- [ ] Shows correct states (loading, error, empty)
|
|
72
|
+
- [ ] Accessibility (labels, roles)
|
|
73
|
+
|
|
74
|
+
### Hooks
|
|
75
|
+
- [ ] Returns correct initial state
|
|
76
|
+
- [ ] Updates state correctly
|
|
77
|
+
- [ ] Handles edge cases
|
|
78
|
+
- [ ] Cleans up properly
|
|
79
|
+
|
|
80
|
+
### Services/API
|
|
81
|
+
- [ ] Makes correct API calls
|
|
82
|
+
- [ ] Handles success responses
|
|
83
|
+
- [ ] Handles error responses
|
|
84
|
+
- [ ] Handles loading states
|
|
85
|
+
|
|
86
|
+
### Utilities
|
|
87
|
+
- [ ] Returns correct output for valid input
|
|
88
|
+
- [ ] Handles edge cases
|
|
89
|
+
- [ ] Throws/returns appropriate errors for invalid input
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Mocking Guidelines
|
|
94
|
+
|
|
95
|
+
### Do Mock
|
|
96
|
+
- External API calls
|
|
97
|
+
- Third-party services
|
|
98
|
+
- Time/date functions
|
|
99
|
+
- Random values
|
|
100
|
+
- File system operations
|
|
101
|
+
|
|
102
|
+
### Don't Mock
|
|
103
|
+
- The component/function under test
|
|
104
|
+
- Simple utility functions
|
|
105
|
+
- React hooks (use Testing Library's approach)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Test Data
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
// Use factories for test data
|
|
113
|
+
const createUser = (overrides = {}): User => ({
|
|
114
|
+
id: 'user-1',
|
|
115
|
+
name: 'Test User',
|
|
116
|
+
email: 'test@example.com',
|
|
117
|
+
...overrides,
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
// Usage
|
|
121
|
+
const user = createUser({ name: 'Custom Name' });
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Async Testing
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
// Always await async operations
|
|
130
|
+
it('fetches user data', async () => {
|
|
131
|
+
render(<UserProfile userId="1" />);
|
|
132
|
+
|
|
133
|
+
// Wait for loading to finish
|
|
134
|
+
await waitFor(() => {
|
|
135
|
+
expect(screen.getByText('John Doe')).toBeInTheDocument();
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Integration Test Patterns
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
describe('User Authentication Flow', () => {
|
|
146
|
+
it('allows user to log in and view dashboard', async () => {
|
|
147
|
+
// 1. Navigate to login
|
|
148
|
+
// 2. Fill in credentials
|
|
149
|
+
// 3. Submit form
|
|
150
|
+
// 4. Verify redirect to dashboard
|
|
151
|
+
// 5. Verify user data displayed
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## E2E Test Patterns
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
// Playwright example
|
|
162
|
+
test('complete checkout flow', async ({ page }) => {
|
|
163
|
+
// 1. Add item to cart
|
|
164
|
+
await page.goto('/products/1');
|
|
165
|
+
await page.click('[data-testid="add-to-cart"]');
|
|
166
|
+
|
|
167
|
+
// 2. Go to checkout
|
|
168
|
+
await page.click('[data-testid="checkout"]');
|
|
169
|
+
|
|
170
|
+
// 3. Fill shipping info
|
|
171
|
+
// 4. Complete payment
|
|
172
|
+
// 5. Verify confirmation
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Snapshot Testing
|
|
179
|
+
|
|
180
|
+
**When to use:**
|
|
181
|
+
- UI components with stable output
|
|
182
|
+
- Error messages
|
|
183
|
+
- Generated content
|
|
184
|
+
|
|
185
|
+
**When NOT to use:**
|
|
186
|
+
- Dynamic content
|
|
187
|
+
- Frequently changing components
|
|
188
|
+
- Large component trees
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Performance Testing
|
|
193
|
+
|
|
194
|
+
- Measure render times for critical components
|
|
195
|
+
- Test with realistic data volumes
|
|
196
|
+
- Monitor bundle size changes
|
|
197
|
+
- Set performance budgets
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## CI/CD Integration
|
|
202
|
+
|
|
203
|
+
```yaml
|
|
204
|
+
# Example CI config
|
|
205
|
+
test:
|
|
206
|
+
script:
|
|
207
|
+
- npm run test:unit
|
|
208
|
+
- npm run test:integration
|
|
209
|
+
- npm run test:e2e
|
|
210
|
+
coverage:
|
|
211
|
+
minimum: 80%
|
|
212
|
+
fail_under: true
|
|
213
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Project Templates Configuration
|
|
2
|
+
|
|
3
|
+
Place your project-specific code templates here. ProAgents uses these when generating new code.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
1. Create templates for your common patterns
|
|
10
|
+
2. ProAgents uses these templates when generating code
|
|
11
|
+
3. Templates support variables and conditionals
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Template Files
|
|
16
|
+
|
|
17
|
+
| File | Purpose |
|
|
18
|
+
|------|---------|
|
|
19
|
+
| `component.template.tsx` | React component template |
|
|
20
|
+
| `hook.template.ts` | Custom hook template |
|
|
21
|
+
| `api-route.template.ts` | API route/endpoint template |
|
|
22
|
+
| `test.template.ts` | Test file template |
|
|
23
|
+
| `service.template.ts` | Service class template |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Copy a template
|
|
31
|
+
cp proagents/config/templates/component.template.tsx \
|
|
32
|
+
proagents/config/templates/component.template.tsx
|
|
33
|
+
|
|
34
|
+
# Edit for your project
|
|
35
|
+
vim proagents/config/templates/component.template.tsx
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Template Variables
|
|
41
|
+
|
|
42
|
+
Templates support these variables:
|
|
43
|
+
|
|
44
|
+
| Variable | Description |
|
|
45
|
+
|----------|-------------|
|
|
46
|
+
| `{{ComponentName}}` | PascalCase name |
|
|
47
|
+
| `{{componentName}}` | camelCase name |
|
|
48
|
+
| `{{component-name}}` | kebab-case name |
|
|
49
|
+
| `{{COMPONENT_NAME}}` | UPPER_SNAKE_CASE name |
|
|
50
|
+
| `{{description}}` | Component description |
|
|
51
|
+
| `{{date}}` | Current date |
|
|
52
|
+
| `{{author}}` | Current user |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Conditional Sections
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
// {{#if hasProps}}
|
|
60
|
+
interface {{ComponentName}}Props {
|
|
61
|
+
// Props here
|
|
62
|
+
}
|
|
63
|
+
// {{/if}}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Example Usage
|
|
69
|
+
|
|
70
|
+
When you ask ProAgents to create a new component, it will:
|
|
71
|
+
1. Load your `component.template.tsx`
|
|
72
|
+
2. Replace variables with actual values
|
|
73
|
+
3. Apply your coding standards
|
|
74
|
+
4. Generate the file
|