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,733 @@
|
|
|
1
|
+
# Quality Assessment
|
|
2
|
+
|
|
3
|
+
Comprehensive code quality analysis including complexity metrics, maintainability scores, and technical debt identification.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Quality assessment provides:
|
|
10
|
+
- Objective code quality metrics
|
|
11
|
+
- Technical debt identification
|
|
12
|
+
- Maintainability analysis
|
|
13
|
+
- Best practice compliance
|
|
14
|
+
- Actionable improvement recommendations
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Assessment Categories
|
|
19
|
+
|
|
20
|
+
### 1. Code Complexity Analysis
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
complexity_analysis:
|
|
24
|
+
overall_score: 72 # out of 100
|
|
25
|
+
|
|
26
|
+
metrics:
|
|
27
|
+
cyclomatic_complexity:
|
|
28
|
+
average: 4.2
|
|
29
|
+
max: 18
|
|
30
|
+
threshold: 10
|
|
31
|
+
files_exceeding: 5
|
|
32
|
+
|
|
33
|
+
cognitive_complexity:
|
|
34
|
+
average: 6.8
|
|
35
|
+
max: 32
|
|
36
|
+
threshold: 15
|
|
37
|
+
files_exceeding: 8
|
|
38
|
+
|
|
39
|
+
nesting_depth:
|
|
40
|
+
average: 2.1
|
|
41
|
+
max: 5
|
|
42
|
+
threshold: 4
|
|
43
|
+
files_exceeding: 3
|
|
44
|
+
|
|
45
|
+
high_complexity_files:
|
|
46
|
+
- file: "src/services/orderService.ts"
|
|
47
|
+
cyclomatic: 18
|
|
48
|
+
cognitive: 32
|
|
49
|
+
issue: "Complex order processing logic"
|
|
50
|
+
recommendation: "Break into smaller functions"
|
|
51
|
+
|
|
52
|
+
- file: "src/components/Dashboard.tsx"
|
|
53
|
+
cyclomatic: 15
|
|
54
|
+
cognitive: 28
|
|
55
|
+
issue: "Too many conditional renders"
|
|
56
|
+
recommendation: "Extract into sub-components"
|
|
57
|
+
|
|
58
|
+
- file: "src/utils/dataTransform.ts"
|
|
59
|
+
cyclomatic: 14
|
|
60
|
+
cognitive: 24
|
|
61
|
+
issue: "Multiple nested loops"
|
|
62
|
+
recommendation: "Use functional approaches"
|
|
63
|
+
|
|
64
|
+
complexity_distribution:
|
|
65
|
+
low_1_5: 85 # 85% of files
|
|
66
|
+
medium_6_10: 10
|
|
67
|
+
high_11_15: 3
|
|
68
|
+
very_high_16_plus: 2
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Complexity Visualization:**
|
|
72
|
+
```
|
|
73
|
+
Complexity Distribution
|
|
74
|
+
═══════════════════════
|
|
75
|
+
|
|
76
|
+
Low (1-5) ████████████████████ 85%
|
|
77
|
+
Medium (6-10) ████ 10%
|
|
78
|
+
High (11-15) █ 3%
|
|
79
|
+
Very High (16+)▏ 2%
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### 2. Maintainability Index
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
maintainability:
|
|
88
|
+
overall_score: 68 # out of 100 (>65 is good)
|
|
89
|
+
|
|
90
|
+
factors:
|
|
91
|
+
lines_of_code:
|
|
92
|
+
total: 24500
|
|
93
|
+
average_per_file: 156
|
|
94
|
+
max_per_file: 580
|
|
95
|
+
recommendation: "Split files >300 lines"
|
|
96
|
+
|
|
97
|
+
comment_ratio:
|
|
98
|
+
overall: 12%
|
|
99
|
+
recommended: "10-20%"
|
|
100
|
+
status: "Good"
|
|
101
|
+
|
|
102
|
+
documentation_coverage:
|
|
103
|
+
public_functions: 65%
|
|
104
|
+
public_classes: 78%
|
|
105
|
+
public_types: 45%
|
|
106
|
+
recommendation: "Improve type documentation"
|
|
107
|
+
|
|
108
|
+
test_coverage:
|
|
109
|
+
statements: 78%
|
|
110
|
+
branches: 65%
|
|
111
|
+
functions: 82%
|
|
112
|
+
lines: 79%
|
|
113
|
+
recommendation: "Improve branch coverage"
|
|
114
|
+
|
|
115
|
+
maintainability_by_module:
|
|
116
|
+
- module: "auth"
|
|
117
|
+
score: 82
|
|
118
|
+
status: "Good"
|
|
119
|
+
|
|
120
|
+
- module: "dashboard"
|
|
121
|
+
score: 58
|
|
122
|
+
status: "Needs attention"
|
|
123
|
+
issues: ["High complexity", "Low test coverage"]
|
|
124
|
+
|
|
125
|
+
- module: "user"
|
|
126
|
+
score: 75
|
|
127
|
+
status: "Good"
|
|
128
|
+
|
|
129
|
+
- module: "payments"
|
|
130
|
+
score: 45
|
|
131
|
+
status: "Critical"
|
|
132
|
+
issues: ["Very high complexity", "No tests", "Outdated patterns"]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### 3. Technical Debt Analysis
|
|
138
|
+
|
|
139
|
+
```yaml
|
|
140
|
+
technical_debt:
|
|
141
|
+
total_estimated_hours: 120
|
|
142
|
+
debt_ratio: 8.5% # Debt / Total Dev Time
|
|
143
|
+
|
|
144
|
+
categories:
|
|
145
|
+
code_smells:
|
|
146
|
+
count: 45
|
|
147
|
+
hours: 35
|
|
148
|
+
priority: "medium"
|
|
149
|
+
items:
|
|
150
|
+
- type: "Long Method"
|
|
151
|
+
count: 12
|
|
152
|
+
locations:
|
|
153
|
+
- "orderService.processOrder()"
|
|
154
|
+
- "dashboardService.generateReport()"
|
|
155
|
+
fix_time: "2-4 hours each"
|
|
156
|
+
|
|
157
|
+
- type: "Large Class"
|
|
158
|
+
count: 5
|
|
159
|
+
locations:
|
|
160
|
+
- "src/services/ApiClient.ts (450 lines)"
|
|
161
|
+
- "src/components/DataTable.tsx (380 lines)"
|
|
162
|
+
fix_time: "4-6 hours each"
|
|
163
|
+
|
|
164
|
+
- type: "Feature Envy"
|
|
165
|
+
count: 8
|
|
166
|
+
description: "Methods using other class data more than own"
|
|
167
|
+
fix_time: "1-2 hours each"
|
|
168
|
+
|
|
169
|
+
outdated_dependencies:
|
|
170
|
+
count: 12
|
|
171
|
+
hours: 8
|
|
172
|
+
priority: "low"
|
|
173
|
+
items:
|
|
174
|
+
- "react-query v4 → v5 (breaking changes)"
|
|
175
|
+
- "date-fns v2 → v3 (API changes)"
|
|
176
|
+
|
|
177
|
+
missing_tests:
|
|
178
|
+
count: 34 # untested critical paths
|
|
179
|
+
hours: 40
|
|
180
|
+
priority: "high"
|
|
181
|
+
items:
|
|
182
|
+
- "Payment processing - 0% coverage"
|
|
183
|
+
- "Auth refresh flow - 20% coverage"
|
|
184
|
+
- "Error boundaries - untested"
|
|
185
|
+
|
|
186
|
+
deprecated_code:
|
|
187
|
+
count: 15
|
|
188
|
+
hours: 12
|
|
189
|
+
priority: "low"
|
|
190
|
+
items:
|
|
191
|
+
- "Old API client still in use"
|
|
192
|
+
- "Legacy form components"
|
|
193
|
+
- "Deprecated hook patterns"
|
|
194
|
+
|
|
195
|
+
security_issues:
|
|
196
|
+
count: 3
|
|
197
|
+
hours: 10
|
|
198
|
+
priority: "critical"
|
|
199
|
+
items:
|
|
200
|
+
- "SQL query concatenation in 2 places"
|
|
201
|
+
- "XSS vulnerability in markdown render"
|
|
202
|
+
- "Missing input validation"
|
|
203
|
+
|
|
204
|
+
documentation:
|
|
205
|
+
count: 25
|
|
206
|
+
hours: 15
|
|
207
|
+
priority: "medium"
|
|
208
|
+
items:
|
|
209
|
+
- "API endpoints undocumented"
|
|
210
|
+
- "Complex algorithms unexplained"
|
|
211
|
+
- "Outdated README"
|
|
212
|
+
|
|
213
|
+
debt_trend:
|
|
214
|
+
last_month: 95 hours
|
|
215
|
+
current: 120 hours
|
|
216
|
+
trend: "increasing"
|
|
217
|
+
recommendation: "Allocate 20% of sprint to debt reduction"
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Debt Distribution:**
|
|
221
|
+
```
|
|
222
|
+
Technical Debt Breakdown
|
|
223
|
+
════════════════════════
|
|
224
|
+
|
|
225
|
+
Missing Tests ████████████████ 40h (33%)
|
|
226
|
+
Code Smells ██████████████ 35h (29%)
|
|
227
|
+
Documentation ██████ 15h (13%)
|
|
228
|
+
Deprecated Code █████ 12h (10%)
|
|
229
|
+
Security Issues ████ 10h (8%)
|
|
230
|
+
Dependencies ███ 8h (7%)
|
|
231
|
+
────────
|
|
232
|
+
120h total
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### 4. Code Smells Detection
|
|
238
|
+
|
|
239
|
+
```yaml
|
|
240
|
+
code_smells:
|
|
241
|
+
total: 87
|
|
242
|
+
|
|
243
|
+
by_severity:
|
|
244
|
+
critical: 5
|
|
245
|
+
major: 23
|
|
246
|
+
minor: 59
|
|
247
|
+
|
|
248
|
+
detected:
|
|
249
|
+
- smell: "God Object"
|
|
250
|
+
severity: "critical"
|
|
251
|
+
location: "src/services/ApiClient.ts"
|
|
252
|
+
description: "Class handling too many responsibilities"
|
|
253
|
+
lines: 450
|
|
254
|
+
methods: 35
|
|
255
|
+
fix: "Split into domain-specific services"
|
|
256
|
+
|
|
257
|
+
- smell: "Primitive Obsession"
|
|
258
|
+
severity: "major"
|
|
259
|
+
locations: 8
|
|
260
|
+
description: "Using primitives instead of value objects"
|
|
261
|
+
example: |
|
|
262
|
+
// Bad
|
|
263
|
+
function createUser(email: string, age: number, role: string)
|
|
264
|
+
|
|
265
|
+
// Better
|
|
266
|
+
function createUser(input: CreateUserInput)
|
|
267
|
+
fix: "Create proper type/interface definitions"
|
|
268
|
+
|
|
269
|
+
- smell: "Long Parameter List"
|
|
270
|
+
severity: "major"
|
|
271
|
+
count: 12
|
|
272
|
+
threshold: 4
|
|
273
|
+
example:
|
|
274
|
+
file: "src/services/reportService.ts:45"
|
|
275
|
+
params: 8
|
|
276
|
+
fix: "Use parameter objects or builders"
|
|
277
|
+
|
|
278
|
+
- smell: "Duplicate Code"
|
|
279
|
+
severity: "major"
|
|
280
|
+
duplicates: 15
|
|
281
|
+
total_duplicated_lines: 340
|
|
282
|
+
clusters:
|
|
283
|
+
- files: ["UserForm.tsx", "ProfileForm.tsx", "SettingsForm.tsx"]
|
|
284
|
+
similarity: 78%
|
|
285
|
+
fix: "Extract shared form logic to hook"
|
|
286
|
+
|
|
287
|
+
- files: ["userService.ts", "postService.ts", "commentService.ts"]
|
|
288
|
+
similarity: 85%
|
|
289
|
+
fix: "Create generic service factory"
|
|
290
|
+
|
|
291
|
+
- smell: "Dead Code"
|
|
292
|
+
severity: "minor"
|
|
293
|
+
count: 23
|
|
294
|
+
types:
|
|
295
|
+
unreachable_code: 5
|
|
296
|
+
unused_variables: 12
|
|
297
|
+
unused_imports: 6
|
|
298
|
+
fix: "Run ESLint auto-fix or remove manually"
|
|
299
|
+
|
|
300
|
+
- smell: "Magic Numbers"
|
|
301
|
+
severity: "minor"
|
|
302
|
+
count: 34
|
|
303
|
+
examples:
|
|
304
|
+
- "if (retryCount > 3)"
|
|
305
|
+
- "setTimeout(() => {}, 5000)"
|
|
306
|
+
- "limit: 50"
|
|
307
|
+
fix: "Extract to named constants"
|
|
308
|
+
|
|
309
|
+
- smell: "Nested Callbacks"
|
|
310
|
+
severity: "minor"
|
|
311
|
+
count: 8
|
|
312
|
+
max_depth: 5
|
|
313
|
+
fix: "Use async/await or refactor to smaller functions"
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
### 5. Best Practices Compliance
|
|
319
|
+
|
|
320
|
+
```yaml
|
|
321
|
+
best_practices:
|
|
322
|
+
overall_score: 74 # out of 100
|
|
323
|
+
|
|
324
|
+
categories:
|
|
325
|
+
typescript:
|
|
326
|
+
score: 82
|
|
327
|
+
checks:
|
|
328
|
+
- rule: "Strict mode enabled"
|
|
329
|
+
status: "pass"
|
|
330
|
+
|
|
331
|
+
- rule: "No 'any' types"
|
|
332
|
+
status: "fail"
|
|
333
|
+
count: 12
|
|
334
|
+
locations:
|
|
335
|
+
- "src/lib/api.ts:34"
|
|
336
|
+
- "src/utils/transform.ts:56"
|
|
337
|
+
|
|
338
|
+
- rule: "Explicit return types"
|
|
339
|
+
status: "partial"
|
|
340
|
+
coverage: 78%
|
|
341
|
+
|
|
342
|
+
- rule: "No type assertions"
|
|
343
|
+
status: "partial"
|
|
344
|
+
violations: 8
|
|
345
|
+
|
|
346
|
+
react:
|
|
347
|
+
score: 78
|
|
348
|
+
checks:
|
|
349
|
+
- rule: "No inline functions in JSX"
|
|
350
|
+
status: "partial"
|
|
351
|
+
violations: 15
|
|
352
|
+
|
|
353
|
+
- rule: "Keys on list items"
|
|
354
|
+
status: "pass"
|
|
355
|
+
|
|
356
|
+
- rule: "useCallback for handlers passed to children"
|
|
357
|
+
status: "partial"
|
|
358
|
+
coverage: 65%
|
|
359
|
+
|
|
360
|
+
- rule: "Error boundaries for pages"
|
|
361
|
+
status: "fail"
|
|
362
|
+
missing: 5
|
|
363
|
+
|
|
364
|
+
- rule: "Suspense for lazy loading"
|
|
365
|
+
status: "pass"
|
|
366
|
+
|
|
367
|
+
security:
|
|
368
|
+
score: 65
|
|
369
|
+
checks:
|
|
370
|
+
- rule: "No dangerouslySetInnerHTML"
|
|
371
|
+
status: "fail"
|
|
372
|
+
violations: 3
|
|
373
|
+
|
|
374
|
+
- rule: "Input validation"
|
|
375
|
+
status: "partial"
|
|
376
|
+
coverage: 70%
|
|
377
|
+
|
|
378
|
+
- rule: "HTTPS for API calls"
|
|
379
|
+
status: "pass"
|
|
380
|
+
|
|
381
|
+
- rule: "No hardcoded secrets"
|
|
382
|
+
status: "pass"
|
|
383
|
+
|
|
384
|
+
- rule: "Auth token handling"
|
|
385
|
+
status: "pass"
|
|
386
|
+
|
|
387
|
+
accessibility:
|
|
388
|
+
score: 58
|
|
389
|
+
checks:
|
|
390
|
+
- rule: "Alt text on images"
|
|
391
|
+
status: "partial"
|
|
392
|
+
coverage: 45%
|
|
393
|
+
|
|
394
|
+
- rule: "ARIA labels on interactive elements"
|
|
395
|
+
status: "partial"
|
|
396
|
+
coverage: 60%
|
|
397
|
+
|
|
398
|
+
- rule: "Keyboard navigation"
|
|
399
|
+
status: "fail"
|
|
400
|
+
issues: 12
|
|
401
|
+
|
|
402
|
+
- rule: "Color contrast"
|
|
403
|
+
status: "partial"
|
|
404
|
+
violations: 8
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
### 6. Performance Issues
|
|
410
|
+
|
|
411
|
+
```yaml
|
|
412
|
+
performance_issues:
|
|
413
|
+
total: 18
|
|
414
|
+
|
|
415
|
+
detected:
|
|
416
|
+
- issue: "Unnecessary Re-renders"
|
|
417
|
+
severity: "high"
|
|
418
|
+
count: 8
|
|
419
|
+
examples:
|
|
420
|
+
- component: "DataTable"
|
|
421
|
+
cause: "New object created in render"
|
|
422
|
+
fix: "useMemo for computed values"
|
|
423
|
+
|
|
424
|
+
- component: "UserList"
|
|
425
|
+
cause: "Inline arrow functions"
|
|
426
|
+
fix: "useCallback for handlers"
|
|
427
|
+
|
|
428
|
+
- issue: "Large Bundle Imports"
|
|
429
|
+
severity: "medium"
|
|
430
|
+
count: 5
|
|
431
|
+
examples:
|
|
432
|
+
- import: "import _ from 'lodash'"
|
|
433
|
+
size: "70KB"
|
|
434
|
+
fix: "import { debounce } from 'lodash-es'"
|
|
435
|
+
|
|
436
|
+
- import: "import * as Icons from 'lucide-react'"
|
|
437
|
+
size: "150KB"
|
|
438
|
+
fix: "Import individual icons"
|
|
439
|
+
|
|
440
|
+
- issue: "Missing Lazy Loading"
|
|
441
|
+
severity: "medium"
|
|
442
|
+
count: 3
|
|
443
|
+
routes:
|
|
444
|
+
- "/admin/*"
|
|
445
|
+
- "/reports/*"
|
|
446
|
+
- "/settings/advanced"
|
|
447
|
+
fix: "Use React.lazy() or Next.js dynamic imports"
|
|
448
|
+
|
|
449
|
+
- issue: "N+1 Queries"
|
|
450
|
+
severity: "high"
|
|
451
|
+
locations:
|
|
452
|
+
- "src/pages/api/posts/[id].ts"
|
|
453
|
+
- "src/services/orderService.ts"
|
|
454
|
+
fix: "Use eager loading or DataLoader pattern"
|
|
455
|
+
|
|
456
|
+
- issue: "Unoptimized Images"
|
|
457
|
+
severity: "low"
|
|
458
|
+
count: 12
|
|
459
|
+
fix: "Use next/image with proper sizing"
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
### 7. Security Assessment
|
|
465
|
+
|
|
466
|
+
```yaml
|
|
467
|
+
security_assessment:
|
|
468
|
+
overall_score: 72 # out of 100
|
|
469
|
+
critical_issues: 0
|
|
470
|
+
high_issues: 2
|
|
471
|
+
medium_issues: 5
|
|
472
|
+
low_issues: 12
|
|
473
|
+
|
|
474
|
+
owasp_top_10:
|
|
475
|
+
- category: "A01: Broken Access Control"
|
|
476
|
+
status: "pass"
|
|
477
|
+
notes: "Proper auth middleware in place"
|
|
478
|
+
|
|
479
|
+
- category: "A02: Cryptographic Failures"
|
|
480
|
+
status: "pass"
|
|
481
|
+
notes: "Passwords hashed with bcrypt"
|
|
482
|
+
|
|
483
|
+
- category: "A03: Injection"
|
|
484
|
+
status: "warning"
|
|
485
|
+
issues:
|
|
486
|
+
- "2 places with string concatenation in SQL"
|
|
487
|
+
- "1 eval() usage in legacy code"
|
|
488
|
+
|
|
489
|
+
- category: "A04: Insecure Design"
|
|
490
|
+
status: "pass"
|
|
491
|
+
|
|
492
|
+
- category: "A05: Security Misconfiguration"
|
|
493
|
+
status: "warning"
|
|
494
|
+
issues:
|
|
495
|
+
- "CORS allows all origins in development"
|
|
496
|
+
- "Debug mode enabled in some areas"
|
|
497
|
+
|
|
498
|
+
- category: "A06: Vulnerable Components"
|
|
499
|
+
status: "pass"
|
|
500
|
+
notes: "No critical vulnerabilities in dependencies"
|
|
501
|
+
|
|
502
|
+
- category: "A07: Auth Failures"
|
|
503
|
+
status: "pass"
|
|
504
|
+
notes: "Proper session management"
|
|
505
|
+
|
|
506
|
+
- category: "A08: Data Integrity Failures"
|
|
507
|
+
status: "pass"
|
|
508
|
+
|
|
509
|
+
- category: "A09: Logging Failures"
|
|
510
|
+
status: "warning"
|
|
511
|
+
issues:
|
|
512
|
+
- "Some endpoints lack audit logging"
|
|
513
|
+
|
|
514
|
+
- category: "A10: SSRF"
|
|
515
|
+
status: "pass"
|
|
516
|
+
|
|
517
|
+
secrets_scan:
|
|
518
|
+
hardcoded_secrets: 0
|
|
519
|
+
.env_in_repo: false
|
|
520
|
+
credentials_exposed: 0
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### 8. Test Quality Analysis
|
|
526
|
+
|
|
527
|
+
```yaml
|
|
528
|
+
test_quality:
|
|
529
|
+
coverage:
|
|
530
|
+
statements: 78%
|
|
531
|
+
branches: 65%
|
|
532
|
+
functions: 82%
|
|
533
|
+
lines: 79%
|
|
534
|
+
|
|
535
|
+
test_health:
|
|
536
|
+
total_tests: 342
|
|
537
|
+
passing: 338
|
|
538
|
+
failing: 2
|
|
539
|
+
skipped: 2
|
|
540
|
+
|
|
541
|
+
flaky_tests: 3
|
|
542
|
+
slow_tests: 8 # > 5 seconds
|
|
543
|
+
|
|
544
|
+
test_patterns:
|
|
545
|
+
unit_tests: 245
|
|
546
|
+
integration_tests: 67
|
|
547
|
+
e2e_tests: 30
|
|
548
|
+
|
|
549
|
+
uncovered_critical_paths:
|
|
550
|
+
- path: "Payment processing"
|
|
551
|
+
coverage: 0%
|
|
552
|
+
risk: "critical"
|
|
553
|
+
|
|
554
|
+
- path: "Auth token refresh"
|
|
555
|
+
coverage: 20%
|
|
556
|
+
risk: "high"
|
|
557
|
+
|
|
558
|
+
- path: "Error recovery flows"
|
|
559
|
+
coverage: 15%
|
|
560
|
+
risk: "high"
|
|
561
|
+
|
|
562
|
+
test_quality_issues:
|
|
563
|
+
- issue: "Tests without assertions"
|
|
564
|
+
count: 5
|
|
565
|
+
severity: "major"
|
|
566
|
+
|
|
567
|
+
- issue: "Tests with implementation details"
|
|
568
|
+
count: 12
|
|
569
|
+
severity: "minor"
|
|
570
|
+
description: "Testing internal state instead of behavior"
|
|
571
|
+
|
|
572
|
+
- issue: "Missing edge case tests"
|
|
573
|
+
count: 34
|
|
574
|
+
severity: "medium"
|
|
575
|
+
|
|
576
|
+
- issue: "Snapshot test overuse"
|
|
577
|
+
count: 25
|
|
578
|
+
severity: "minor"
|
|
579
|
+
recommendation: "Replace with specific assertions"
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
---
|
|
583
|
+
|
|
584
|
+
## Quality Report
|
|
585
|
+
|
|
586
|
+
```markdown
|
|
587
|
+
# Code Quality Report
|
|
588
|
+
|
|
589
|
+
## Project: MyApp
|
|
590
|
+
## Analyzed: 2024-01-15
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
## Executive Summary
|
|
595
|
+
|
|
596
|
+
| Metric | Score | Status |
|
|
597
|
+
|--------|-------|--------|
|
|
598
|
+
| Overall Quality | 72/100 | Good |
|
|
599
|
+
| Maintainability | 68/100 | Acceptable |
|
|
600
|
+
| Technical Debt | 120 hours | Attention Needed |
|
|
601
|
+
| Test Coverage | 78% | Good |
|
|
602
|
+
| Security | 72/100 | Good |
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
## Quality Scores by Module
|
|
607
|
+
|
|
608
|
+
| Module | Quality | Maintainability | Tech Debt | Tests |
|
|
609
|
+
|--------|---------|-----------------|-----------|-------|
|
|
610
|
+
| auth | 82 | 85 | 8h | 92% |
|
|
611
|
+
| user | 75 | 78 | 12h | 85% |
|
|
612
|
+
| dashboard | 58 | 55 | 35h | 65% |
|
|
613
|
+
| payments | 45 | 40 | 45h | 20% |
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
## Critical Issues (Fix Immediately)
|
|
618
|
+
|
|
619
|
+
1. **Security: SQL Injection Risk**
|
|
620
|
+
- Location: `orderService.ts:156`
|
|
621
|
+
- Fix: Use parameterized queries
|
|
622
|
+
|
|
623
|
+
2. **Security: XSS in Markdown**
|
|
624
|
+
- Location: `MarkdownRenderer.tsx`
|
|
625
|
+
- Fix: Sanitize HTML output
|
|
626
|
+
|
|
627
|
+
3. **Missing Payment Tests**
|
|
628
|
+
- Coverage: 0%
|
|
629
|
+
- Fix: Add unit and integration tests
|
|
630
|
+
|
|
631
|
+
---
|
|
632
|
+
|
|
633
|
+
## High Priority Issues
|
|
634
|
+
|
|
635
|
+
1. Reduce complexity in `orderService.ts` (CC: 18)
|
|
636
|
+
2. Add error boundaries to all pages (5 missing)
|
|
637
|
+
3. Fix auth token refresh coverage (20%)
|
|
638
|
+
4. Address 3 circular dependencies
|
|
639
|
+
|
|
640
|
+
---
|
|
641
|
+
|
|
642
|
+
## Recommendations
|
|
643
|
+
|
|
644
|
+
### Short-term (This Sprint)
|
|
645
|
+
- Fix security issues
|
|
646
|
+
- Add error boundaries
|
|
647
|
+
- Address critical code smells
|
|
648
|
+
|
|
649
|
+
### Medium-term (This Month)
|
|
650
|
+
- Increase payments module coverage to 80%
|
|
651
|
+
- Refactor dashboard module
|
|
652
|
+
- Update outdated dependencies
|
|
653
|
+
|
|
654
|
+
### Long-term (This Quarter)
|
|
655
|
+
- Reduce tech debt to <80 hours
|
|
656
|
+
- Achieve 85% overall coverage
|
|
657
|
+
- Complete accessibility audit
|
|
658
|
+
|
|
659
|
+
---
|
|
660
|
+
|
|
661
|
+
## Trend Analysis
|
|
662
|
+
|
|
663
|
+
```
|
|
664
|
+
Quality Score Over Time
|
|
665
|
+
═══════════════════════
|
|
666
|
+
|
|
667
|
+
Oct: ████████████████████░░░░ 68
|
|
668
|
+
Nov: ██████████████████████░░ 70
|
|
669
|
+
Dec: ███████████████████████░ 72
|
|
670
|
+
Jan: ████████████████████████ 74 (projected)
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
Quality improving at ~2 points/month. Target: 80 by Q2.
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
---
|
|
677
|
+
|
|
678
|
+
## Configuration
|
|
679
|
+
|
|
680
|
+
```yaml
|
|
681
|
+
# proagents.config.yaml
|
|
682
|
+
|
|
683
|
+
reverse_engineering:
|
|
684
|
+
quality_assessment:
|
|
685
|
+
enabled: true
|
|
686
|
+
|
|
687
|
+
analyze:
|
|
688
|
+
- complexity
|
|
689
|
+
- maintainability
|
|
690
|
+
- technical_debt
|
|
691
|
+
- code_smells
|
|
692
|
+
- best_practices
|
|
693
|
+
- performance
|
|
694
|
+
- security
|
|
695
|
+
- test_quality
|
|
696
|
+
|
|
697
|
+
thresholds:
|
|
698
|
+
cyclomatic_complexity: 10
|
|
699
|
+
cognitive_complexity: 15
|
|
700
|
+
max_file_lines: 300
|
|
701
|
+
min_test_coverage: 80
|
|
702
|
+
min_quality_score: 70
|
|
703
|
+
|
|
704
|
+
report:
|
|
705
|
+
format: "markdown"
|
|
706
|
+
include_trends: true
|
|
707
|
+
include_recommendations: true
|
|
708
|
+
include_severity: true
|
|
709
|
+
|
|
710
|
+
ignore:
|
|
711
|
+
paths:
|
|
712
|
+
- "**/*.test.ts"
|
|
713
|
+
- "**/*.spec.ts"
|
|
714
|
+
- "scripts/"
|
|
715
|
+
rules:
|
|
716
|
+
- "max-lines" # For certain files
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
|
|
721
|
+
## Slash Commands
|
|
722
|
+
|
|
723
|
+
| Command | Description |
|
|
724
|
+
|---------|-------------|
|
|
725
|
+
| `/re-quality` | Full quality assessment |
|
|
726
|
+
| `/re-quality --complexity` | Complexity analysis only |
|
|
727
|
+
| `/re-quality --debt` | Technical debt analysis |
|
|
728
|
+
| `/re-quality --smells` | Code smell detection |
|
|
729
|
+
| `/re-quality --security` | Security assessment |
|
|
730
|
+
| `/re-quality --tests` | Test quality analysis |
|
|
731
|
+
| `/re-quality --module [name]` | Analyze specific module |
|
|
732
|
+
| `/re-quality --trends` | Show quality trends |
|
|
733
|
+
| `/re-quality --report` | Generate full report |
|