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,125 @@
|
|
|
1
|
+
# Web Frontend React Example
|
|
2
|
+
|
|
3
|
+
Complete walkthrough of ProAgents workflow for a React web application.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This example demonstrates how to use ProAgents to build features in a React single-page application. It covers the full development lifecycle from requirements to deployment.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Project Type
|
|
14
|
+
|
|
15
|
+
- **Framework:** React 18+
|
|
16
|
+
- **Language:** TypeScript
|
|
17
|
+
- **Styling:** Tailwind CSS
|
|
18
|
+
- **State Management:** Zustand
|
|
19
|
+
- **Testing:** Vitest + React Testing Library
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Files in This Example
|
|
24
|
+
|
|
25
|
+
| File | Description |
|
|
26
|
+
|------|-------------|
|
|
27
|
+
| [workflow-example.md](./workflow-example.md) | Step-by-step workflow phases |
|
|
28
|
+
| [complete-conversation.md](./complete-conversation.md) | Full AI conversation example |
|
|
29
|
+
| [proagents.config.yaml](./proagents.config.yaml) | Project-specific configuration |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## What You'll Learn
|
|
34
|
+
|
|
35
|
+
### 1. Project Analysis
|
|
36
|
+
- How ProAgents analyzes React component structure
|
|
37
|
+
- Pattern recognition for hooks, context, and state
|
|
38
|
+
- Identifying existing UI component libraries
|
|
39
|
+
|
|
40
|
+
### 2. UI Design Integration
|
|
41
|
+
- Converting Figma designs to React components
|
|
42
|
+
- Design token extraction and application
|
|
43
|
+
- Component specification from wireframes
|
|
44
|
+
|
|
45
|
+
### 3. Implementation
|
|
46
|
+
- Following existing project conventions
|
|
47
|
+
- Creating reusable components
|
|
48
|
+
- State management patterns
|
|
49
|
+
- TypeScript type safety
|
|
50
|
+
|
|
51
|
+
### 4. Testing
|
|
52
|
+
- Unit tests for components and hooks
|
|
53
|
+
- Integration tests for user flows
|
|
54
|
+
- Accessibility testing
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Copy configuration to your React project
|
|
62
|
+
cp proagents.config.yaml /path/to/your/react-project/
|
|
63
|
+
|
|
64
|
+
# Start a new feature
|
|
65
|
+
proagents feature start "Add user profile page"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Example Feature: User Dashboard
|
|
71
|
+
|
|
72
|
+
The complete-conversation.md shows building a user dashboard with:
|
|
73
|
+
- Dashboard layout component
|
|
74
|
+
- Stats widgets
|
|
75
|
+
- Recent activity feed
|
|
76
|
+
- User preferences panel
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Key Patterns Demonstrated
|
|
81
|
+
|
|
82
|
+
### Component Structure
|
|
83
|
+
```
|
|
84
|
+
src/
|
|
85
|
+
├── components/
|
|
86
|
+
│ ├── ui/ # Reusable UI components
|
|
87
|
+
│ ├── features/ # Feature-specific components
|
|
88
|
+
│ └── layouts/ # Page layouts
|
|
89
|
+
├── hooks/ # Custom hooks
|
|
90
|
+
├── stores/ # Zustand stores
|
|
91
|
+
└── types/ # TypeScript types
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Testing Approach
|
|
95
|
+
- Component tests with React Testing Library
|
|
96
|
+
- Hook tests with renderHook
|
|
97
|
+
- Integration tests for user journeys
|
|
98
|
+
- 80% coverage target
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Configuration Highlights
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
# From proagents.config.yaml
|
|
106
|
+
project:
|
|
107
|
+
type: "web-frontend"
|
|
108
|
+
framework: "react"
|
|
109
|
+
|
|
110
|
+
testing:
|
|
111
|
+
framework: "vitest"
|
|
112
|
+
coverage_threshold: 80
|
|
113
|
+
|
|
114
|
+
checkpoints:
|
|
115
|
+
after_design: true # Review UI before coding
|
|
116
|
+
before_deployment: true # Final review
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Related Resources
|
|
122
|
+
|
|
123
|
+
- [React Scaffolding Template](../../scaffolding/react/)
|
|
124
|
+
- [UI Design Integration](../../ui-integration/)
|
|
125
|
+
- [Testing Standards](../../testing-standards/)
|
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
# Complete Conversation Example: React Feature
|
|
2
|
+
|
|
3
|
+
An example of the actual AI-user conversation when building a feature.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Starting Point
|
|
8
|
+
|
|
9
|
+
**User has:** Existing React + TypeScript project with React Query and Tailwind.
|
|
10
|
+
|
|
11
|
+
**Goal:** Add a notifications system with real-time updates.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## The Conversation
|
|
16
|
+
|
|
17
|
+
### User Initiates
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
User: I need to add a notifications feature to my app. Users should see
|
|
21
|
+
their notifications in a dropdown, mark them as read, and get real-time
|
|
22
|
+
updates when new notifications arrive.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### AI Response: Initialization
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
AI: I'll help you build a notifications feature. Let me start by analyzing
|
|
29
|
+
your codebase to understand the existing patterns.
|
|
30
|
+
|
|
31
|
+
Creating feature branch: feature/notifications
|
|
32
|
+
|
|
33
|
+
[Running Analysis...]
|
|
34
|
+
|
|
35
|
+
──────────────────────────────────────────────────────────
|
|
36
|
+
Codebase Analysis Complete
|
|
37
|
+
──────────────────────────────────────────────────────────
|
|
38
|
+
|
|
39
|
+
Tech Stack Detected:
|
|
40
|
+
• React 18.2 + TypeScript 5.0
|
|
41
|
+
• React Query 4.x (TanStack Query)
|
|
42
|
+
• React Router 6.x
|
|
43
|
+
• Tailwind CSS 3.x
|
|
44
|
+
• Socket.io-client (for real-time)
|
|
45
|
+
|
|
46
|
+
Existing Patterns Found:
|
|
47
|
+
• Feature-based folder structure (src/features/*)
|
|
48
|
+
• Custom hooks pattern (useAuth, useApi)
|
|
49
|
+
• Centralized API client (src/services/apiClient.ts)
|
|
50
|
+
• Toast notifications for feedback (using react-hot-toast)
|
|
51
|
+
|
|
52
|
+
Relevant Existing Code:
|
|
53
|
+
• WebSocket setup: src/services/socket.ts
|
|
54
|
+
• User type: src/types/User.ts
|
|
55
|
+
• Auth context: src/features/auth/AuthContext.tsx
|
|
56
|
+
• Dropdown component: src/components/common/Dropdown.tsx
|
|
57
|
+
|
|
58
|
+
Do you want me to proceed with requirements gathering, or would you like
|
|
59
|
+
to modify any checkpoints for this feature?
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### User Confirms
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
User: Looks good. Let's proceed.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### AI: Requirements Phase
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
AI: Based on your request, here are the requirements I've captured:
|
|
72
|
+
|
|
73
|
+
──────────────────────────────────────────────────────────
|
|
74
|
+
Feature Requirements: Notifications System
|
|
75
|
+
──────────────────────────────────────────────────────────
|
|
76
|
+
|
|
77
|
+
User Stories:
|
|
78
|
+
1. As a user, I want to see a notification bell with unread count
|
|
79
|
+
2. As a user, I want to view my notifications in a dropdown
|
|
80
|
+
3. As a user, I want to mark notifications as read
|
|
81
|
+
4. As a user, I want to receive real-time notification updates
|
|
82
|
+
5. As a user, I want to click a notification to navigate to related content
|
|
83
|
+
|
|
84
|
+
Functional Requirements:
|
|
85
|
+
┌─────────────────────────────────────────────────────────┐
|
|
86
|
+
│ • Display notification bell icon in header │
|
|
87
|
+
│ • Show unread notification count badge │
|
|
88
|
+
│ • Dropdown list with notification items │
|
|
89
|
+
│ • Mark single notification as read │
|
|
90
|
+
│ • Mark all notifications as read │
|
|
91
|
+
│ • Real-time updates via WebSocket │
|
|
92
|
+
│ • Link notifications to related resources │
|
|
93
|
+
│ • Notification types: info, success, warning, error │
|
|
94
|
+
│ • Maximum 50 notifications in dropdown (paginated) │
|
|
95
|
+
└─────────────────────────────────────────────────────────┘
|
|
96
|
+
|
|
97
|
+
Technical Requirements:
|
|
98
|
+
• Use existing WebSocket infrastructure (socket.ts)
|
|
99
|
+
• Follow React Query patterns for data fetching
|
|
100
|
+
• Use existing Dropdown component as base
|
|
101
|
+
• Add notification event types to socket listeners
|
|
102
|
+
|
|
103
|
+
API Endpoints Needed:
|
|
104
|
+
• GET /api/notifications - List notifications
|
|
105
|
+
• POST /api/notifications/:id/read - Mark as read
|
|
106
|
+
• POST /api/notifications/read-all - Mark all as read
|
|
107
|
+
|
|
108
|
+
I have a few clarifying questions:
|
|
109
|
+
|
|
110
|
+
1. Should notifications persist after being read, or be removed?
|
|
111
|
+
[ ] Keep for 30 days [ ] Remove after reading [ ] User preference
|
|
112
|
+
|
|
113
|
+
2. What notification types are needed?
|
|
114
|
+
[ ] Comments [ ] Mentions [ ] Task updates [ ] System alerts
|
|
115
|
+
|
|
116
|
+
3. Should there be a "View all" page, or just the dropdown?
|
|
117
|
+
[ ] Dropdown only [ ] Dropdown + Full page
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### User Answers
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
User:
|
|
124
|
+
1. Keep for 30 days
|
|
125
|
+
2. All of those types
|
|
126
|
+
3. Dropdown + Full page for viewing history
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### AI: UI Design Phase
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
AI: Let me create the UI specification based on your existing design patterns.
|
|
133
|
+
|
|
134
|
+
──────────────────────────────────────────────────────────
|
|
135
|
+
UI Design Specification
|
|
136
|
+
──────────────────────────────────────────────────────────
|
|
137
|
+
|
|
138
|
+
1. Notification Bell (Header)
|
|
139
|
+
┌─────────────────────────────────────────────────────────┐
|
|
140
|
+
│ Before existing user menu: │
|
|
141
|
+
│ │
|
|
142
|
+
│ 🔔 │
|
|
143
|
+
│ (3) ← Red badge showing unread count │
|
|
144
|
+
│ │
|
|
145
|
+
│ States: │
|
|
146
|
+
│ • No notifications: bell outline, no badge │
|
|
147
|
+
│ • Has unread: bell filled, red badge with count │
|
|
148
|
+
│ • Badge max: "9+" for counts > 9 │
|
|
149
|
+
└─────────────────────────────────────────────────────────┘
|
|
150
|
+
|
|
151
|
+
2. Notification Dropdown
|
|
152
|
+
┌─────────────────────────────────────────────────────────┐
|
|
153
|
+
│ Notifications Mark all read ──────── │
|
|
154
|
+
├─────────────────────────────────────────────────────────┤
|
|
155
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
156
|
+
│ │ 💬 John commented on your task 2 min ago │ │
|
|
157
|
+
│ │ "Looks great! Let me review..." │ │
|
|
158
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
159
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
160
|
+
│ │ 📋 Task "Deploy API" was completed 1 hour ago │ │
|
|
161
|
+
│ │ Marked complete by Sarah │ │
|
|
162
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
163
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
164
|
+
│ │ @ You were mentioned in #general 3 hours ago│ │
|
|
165
|
+
│ │ @you check out this feature... │ │
|
|
166
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
167
|
+
├─────────────────────────────────────────────────────────┤
|
|
168
|
+
│ View all notifications → │
|
|
169
|
+
└─────────────────────────────────────────────────────────┘
|
|
170
|
+
|
|
171
|
+
Visual States:
|
|
172
|
+
• Unread: bg-blue-50, left blue border
|
|
173
|
+
• Read: bg-white, no border
|
|
174
|
+
• Hover: bg-gray-50
|
|
175
|
+
|
|
176
|
+
3. Full Notifications Page
|
|
177
|
+
┌─────────────────────────────────────────────────────────┐
|
|
178
|
+
│ Notifications │
|
|
179
|
+
│ │
|
|
180
|
+
│ Filter: [All ▼] [Unread only □] Mark all read │
|
|
181
|
+
├─────────────────────────────────────────────────────────┤
|
|
182
|
+
│ │
|
|
183
|
+
│ Today │
|
|
184
|
+
│ ─────────────────────────────────────── │
|
|
185
|
+
│ • Notification item 1 │
|
|
186
|
+
│ • Notification item 2 │
|
|
187
|
+
│ │
|
|
188
|
+
│ Yesterday │
|
|
189
|
+
│ ─────────────────────────────────────── │
|
|
190
|
+
│ • Notification item 3 │
|
|
191
|
+
│ │
|
|
192
|
+
│ Older │
|
|
193
|
+
│ ─────────────────────────────────────── │
|
|
194
|
+
│ • Notification item 4 │
|
|
195
|
+
│ │
|
|
196
|
+
│ [Load more] │
|
|
197
|
+
└─────────────────────────────────────────────────────────┘
|
|
198
|
+
|
|
199
|
+
Does this match your vision? Any changes needed before I plan the
|
|
200
|
+
implementation?
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### User Approves
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
User: Perfect, that's exactly what I want. Proceed with implementation.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### AI: Implementation Planning
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
AI: Here's the implementation plan:
|
|
213
|
+
|
|
214
|
+
──────────────────────────────────────────────────────────
|
|
215
|
+
Implementation Plan
|
|
216
|
+
──────────────────────────────────────────────────────────
|
|
217
|
+
|
|
218
|
+
Files to Create:
|
|
219
|
+
src/features/notifications/
|
|
220
|
+
├── index.ts # Public exports
|
|
221
|
+
├── types.ts # Notification types
|
|
222
|
+
├── components/
|
|
223
|
+
│ ├── NotificationBell.tsx # Bell icon with badge
|
|
224
|
+
│ ├── NotificationDropdown.tsx # Dropdown container
|
|
225
|
+
│ ├── NotificationItem.tsx # Single notification
|
|
226
|
+
│ ├── NotificationList.tsx # List of notifications
|
|
227
|
+
│ └── NotificationFilters.tsx # Filter controls
|
|
228
|
+
├── hooks/
|
|
229
|
+
│ ├── useNotifications.ts # Fetch notifications
|
|
230
|
+
│ ├── useMarkAsRead.ts # Mark read mutation
|
|
231
|
+
│ ├── useNotificationSocket.ts # Real-time listener
|
|
232
|
+
│ └── useUnreadCount.ts # Unread count
|
|
233
|
+
├── pages/
|
|
234
|
+
│ └── NotificationsPage.tsx # Full page view
|
|
235
|
+
└── services/
|
|
236
|
+
└── notificationsApi.ts # API functions
|
|
237
|
+
|
|
238
|
+
Files to Modify:
|
|
239
|
+
• src/components/layout/Header.tsx # Add bell icon
|
|
240
|
+
• src/services/socket.ts # Add notification events
|
|
241
|
+
• src/App.tsx # Add notifications route
|
|
242
|
+
• src/types/index.ts # Export notification types
|
|
243
|
+
|
|
244
|
+
Implementation Order:
|
|
245
|
+
1. types.ts - Define notification interfaces
|
|
246
|
+
2. notificationsApi.ts - API functions
|
|
247
|
+
3. socket.ts - Add event listeners
|
|
248
|
+
4. useNotifications.ts, useMarkAsRead.ts - Data hooks
|
|
249
|
+
5. useNotificationSocket.ts - Real-time hook
|
|
250
|
+
6. NotificationItem.tsx - Individual notification
|
|
251
|
+
7. NotificationList.tsx - List component
|
|
252
|
+
8. NotificationDropdown.tsx - Dropdown with list
|
|
253
|
+
9. NotificationBell.tsx - Bell with badge
|
|
254
|
+
10. Header.tsx - Integrate bell
|
|
255
|
+
11. NotificationFilters.tsx - Filter controls
|
|
256
|
+
12. NotificationsPage.tsx - Full page
|
|
257
|
+
13. App.tsx - Add route
|
|
258
|
+
14. Tests
|
|
259
|
+
|
|
260
|
+
Estimated complexity: Medium
|
|
261
|
+
Files affected: 14 new, 4 modified
|
|
262
|
+
|
|
263
|
+
Starting implementation now...
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### AI: Implementation (Abbreviated)
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
AI: Creating the notification system...
|
|
270
|
+
|
|
271
|
+
✓ Created types.ts
|
|
272
|
+
──────────────────────────────────────────────────────────
|
|
273
|
+
// src/features/notifications/types.ts
|
|
274
|
+
|
|
275
|
+
export type NotificationType =
|
|
276
|
+
| 'comment'
|
|
277
|
+
| 'mention'
|
|
278
|
+
| 'task_update'
|
|
279
|
+
| 'system';
|
|
280
|
+
|
|
281
|
+
export interface Notification {
|
|
282
|
+
id: string;
|
|
283
|
+
type: NotificationType;
|
|
284
|
+
title: string;
|
|
285
|
+
message: string;
|
|
286
|
+
read: boolean;
|
|
287
|
+
createdAt: string;
|
|
288
|
+
link?: string;
|
|
289
|
+
actor?: {
|
|
290
|
+
id: string;
|
|
291
|
+
name: string;
|
|
292
|
+
avatarUrl?: string;
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export interface NotificationsResponse {
|
|
297
|
+
notifications: Notification[];
|
|
298
|
+
total: number;
|
|
299
|
+
unreadCount: number;
|
|
300
|
+
}
|
|
301
|
+
──────────────────────────────────────────────────────────
|
|
302
|
+
|
|
303
|
+
✓ Created notificationsApi.ts
|
|
304
|
+
✓ Updated socket.ts with notification events
|
|
305
|
+
✓ Created useNotifications.ts
|
|
306
|
+
✓ Created useMarkAsRead.ts
|
|
307
|
+
✓ Created useNotificationSocket.ts
|
|
308
|
+
|
|
309
|
+
Creating components...
|
|
310
|
+
|
|
311
|
+
✓ Created NotificationItem.tsx
|
|
312
|
+
──────────────────────────────────────────────────────────
|
|
313
|
+
// src/features/notifications/components/NotificationItem.tsx
|
|
314
|
+
|
|
315
|
+
interface NotificationItemProps {
|
|
316
|
+
notification: Notification;
|
|
317
|
+
onMarkAsRead: (id: string) => void;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export const NotificationItem: FC<NotificationItemProps> = ({
|
|
321
|
+
notification,
|
|
322
|
+
onMarkAsRead,
|
|
323
|
+
}) => {
|
|
324
|
+
const navigate = useNavigate();
|
|
325
|
+
|
|
326
|
+
const handleClick = () => {
|
|
327
|
+
if (!notification.read) {
|
|
328
|
+
onMarkAsRead(notification.id);
|
|
329
|
+
}
|
|
330
|
+
if (notification.link) {
|
|
331
|
+
navigate(notification.link);
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
const icon = getNotificationIcon(notification.type);
|
|
336
|
+
|
|
337
|
+
return (
|
|
338
|
+
<button
|
|
339
|
+
onClick={handleClick}
|
|
340
|
+
className={cn(
|
|
341
|
+
'w-full text-left p-3 flex gap-3 hover:bg-gray-50 transition',
|
|
342
|
+
!notification.read && 'bg-blue-50 border-l-2 border-blue-500'
|
|
343
|
+
)}
|
|
344
|
+
>
|
|
345
|
+
<span className="text-lg">{icon}</span>
|
|
346
|
+
<div className="flex-1 min-w-0">
|
|
347
|
+
<p className="font-medium text-gray-900 truncate">
|
|
348
|
+
{notification.title}
|
|
349
|
+
</p>
|
|
350
|
+
<p className="text-sm text-gray-600 truncate">
|
|
351
|
+
{notification.message}
|
|
352
|
+
</p>
|
|
353
|
+
<p className="text-xs text-gray-400 mt-1">
|
|
354
|
+
{formatRelativeTime(notification.createdAt)}
|
|
355
|
+
</p>
|
|
356
|
+
</div>
|
|
357
|
+
</button>
|
|
358
|
+
);
|
|
359
|
+
};
|
|
360
|
+
──────────────────────────────────────────────────────────
|
|
361
|
+
|
|
362
|
+
✓ Created NotificationList.tsx
|
|
363
|
+
✓ Created NotificationDropdown.tsx
|
|
364
|
+
✓ Created NotificationBell.tsx
|
|
365
|
+
|
|
366
|
+
✓ Updated Header.tsx
|
|
367
|
+
──────────────────────────────────────────────────────────
|
|
368
|
+
// Added to header before user menu:
|
|
369
|
+
|
|
370
|
+
<NotificationBell />
|
|
371
|
+
──────────────────────────────────────────────────────────
|
|
372
|
+
|
|
373
|
+
✓ Created NotificationsPage.tsx
|
|
374
|
+
✓ Updated App.tsx with route
|
|
375
|
+
|
|
376
|
+
Implementation complete. Running tests...
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### AI: Testing Phase
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
AI: Running tests for the notifications feature...
|
|
383
|
+
|
|
384
|
+
──────────────────────────────────────────────────────────
|
|
385
|
+
Test Results
|
|
386
|
+
──────────────────────────────────────────────────────────
|
|
387
|
+
|
|
388
|
+
Unit Tests:
|
|
389
|
+
✓ NotificationItem renders correctly (32ms)
|
|
390
|
+
✓ NotificationItem shows unread state (28ms)
|
|
391
|
+
✓ NotificationItem calls onMarkAsRead on click (45ms)
|
|
392
|
+
✓ NotificationBell shows badge with count (38ms)
|
|
393
|
+
✓ NotificationBell hides badge when count is 0 (35ms)
|
|
394
|
+
✓ NotificationDropdown shows notifications (52ms)
|
|
395
|
+
✓ NotificationDropdown handles mark all read (48ms)
|
|
396
|
+
✓ useNotifications fetches data correctly (42ms)
|
|
397
|
+
✓ useMarkAsRead invalidates cache on success (55ms)
|
|
398
|
+
|
|
399
|
+
Integration Tests:
|
|
400
|
+
✓ Full notification flow works end-to-end (234ms)
|
|
401
|
+
✓ Real-time updates appear in dropdown (312ms)
|
|
402
|
+
|
|
403
|
+
Coverage Report:
|
|
404
|
+
• Statements: 94%
|
|
405
|
+
• Branches: 88%
|
|
406
|
+
• Functions: 92%
|
|
407
|
+
• Lines: 94%
|
|
408
|
+
|
|
409
|
+
All 11 tests passed.
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### AI: Code Review
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
AI: Running code review...
|
|
416
|
+
|
|
417
|
+
──────────────────────────────────────────────────────────
|
|
418
|
+
Code Review Results
|
|
419
|
+
──────────────────────────────────────────────────────────
|
|
420
|
+
|
|
421
|
+
✅ Follows project conventions
|
|
422
|
+
• Feature-based structure ✓
|
|
423
|
+
• TypeScript strict mode ✓
|
|
424
|
+
• React Query patterns ✓
|
|
425
|
+
• Tailwind styling ✓
|
|
426
|
+
|
|
427
|
+
✅ No security issues detected
|
|
428
|
+
• No XSS vulnerabilities
|
|
429
|
+
• Proper input sanitization
|
|
430
|
+
• WebSocket events validated
|
|
431
|
+
|
|
432
|
+
✅ Accessibility
|
|
433
|
+
• Proper ARIA labels
|
|
434
|
+
• Keyboard navigation works
|
|
435
|
+
• Focus management correct
|
|
436
|
+
|
|
437
|
+
✅ Performance
|
|
438
|
+
• No unnecessary re-renders
|
|
439
|
+
• Proper memoization
|
|
440
|
+
• Efficient socket handling
|
|
441
|
+
|
|
442
|
+
⚠️ Suggestions (non-blocking):
|
|
443
|
+
• Consider adding error boundary for dropdown
|
|
444
|
+
• Could add skeleton loading state
|
|
445
|
+
|
|
446
|
+
Ready for deployment.
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### AI: Final Summary
|
|
450
|
+
|
|
451
|
+
```
|
|
452
|
+
AI: Feature implementation complete!
|
|
453
|
+
|
|
454
|
+
──────────────────────────────────────────────────────────
|
|
455
|
+
Notifications Feature Summary
|
|
456
|
+
──────────────────────────────────────────────────────────
|
|
457
|
+
|
|
458
|
+
Created Files: 14
|
|
459
|
+
├── src/features/notifications/
|
|
460
|
+
│ ├── index.ts
|
|
461
|
+
│ ├── types.ts
|
|
462
|
+
│ ├── components/
|
|
463
|
+
│ │ ├── NotificationBell.tsx
|
|
464
|
+
│ │ ├── NotificationDropdown.tsx
|
|
465
|
+
│ │ ├── NotificationItem.tsx
|
|
466
|
+
│ │ ├── NotificationList.tsx
|
|
467
|
+
│ │ └── NotificationFilters.tsx
|
|
468
|
+
│ ├── hooks/
|
|
469
|
+
│ │ ├── useNotifications.ts
|
|
470
|
+
│ │ ├── useMarkAsRead.ts
|
|
471
|
+
│ │ ├── useNotificationSocket.ts
|
|
472
|
+
│ │ └── useUnreadCount.ts
|
|
473
|
+
│ ├── pages/
|
|
474
|
+
│ │ └── NotificationsPage.tsx
|
|
475
|
+
│ └── services/
|
|
476
|
+
│ └── notificationsApi.ts
|
|
477
|
+
|
|
478
|
+
Modified Files: 4
|
|
479
|
+
├── src/components/layout/Header.tsx
|
|
480
|
+
├── src/services/socket.ts
|
|
481
|
+
├── src/App.tsx
|
|
482
|
+
└── src/types/index.ts
|
|
483
|
+
|
|
484
|
+
Test Coverage: 94%
|
|
485
|
+
|
|
486
|
+
Ready to commit and create PR?
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
### User Confirms Commit
|
|
490
|
+
|
|
491
|
+
```
|
|
492
|
+
User: Yes, commit and create the PR.
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### AI: Git Operations
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
AI: Creating commit and pull request...
|
|
499
|
+
|
|
500
|
+
──────────────────────────────────────────────────────────
|
|
501
|
+
Git Operations
|
|
502
|
+
──────────────────────────────────────────────────────────
|
|
503
|
+
|
|
504
|
+
$ git add .
|
|
505
|
+
$ git commit -m "feat(notifications): add notifications system
|
|
506
|
+
|
|
507
|
+
- Add notification bell with unread count badge
|
|
508
|
+
- Add notification dropdown with real-time updates
|
|
509
|
+
- Add mark as read functionality
|
|
510
|
+
- Add full notifications page with filters
|
|
511
|
+
- Integrate WebSocket for real-time notifications
|
|
512
|
+
- Add comprehensive tests (94% coverage)
|
|
513
|
+
|
|
514
|
+
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
|
|
515
|
+
|
|
516
|
+
$ git push origin feature/notifications
|
|
517
|
+
|
|
518
|
+
Pull request created:
|
|
519
|
+
https://github.com/user/app/pull/142
|
|
520
|
+
|
|
521
|
+
PR Title: feat(notifications): add notifications system
|
|
522
|
+
|
|
523
|
+
PR Description:
|
|
524
|
+
## Summary
|
|
525
|
+
- Adds notification bell icon in header with unread count
|
|
526
|
+
- Dropdown showing recent notifications
|
|
527
|
+
- Full notifications page with filtering
|
|
528
|
+
- Real-time updates via WebSocket
|
|
529
|
+
- Mark as read functionality
|
|
530
|
+
|
|
531
|
+
## Test Plan
|
|
532
|
+
- [x] Unit tests (11 passing)
|
|
533
|
+
- [x] Manual testing of dropdown
|
|
534
|
+
- [x] Real-time updates verified
|
|
535
|
+
- [x] Mobile responsive checked
|
|
536
|
+
|
|
537
|
+
🤖 Generated with Claude Code
|
|
538
|
+
|
|
539
|
+
──────────────────────────────────────────────────────────
|
|
540
|
+
|
|
541
|
+
Feature complete! The PR is ready for review.
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## Key Takeaways
|
|
547
|
+
|
|
548
|
+
This conversation demonstrated:
|
|
549
|
+
|
|
550
|
+
1. **Automatic Analysis** - AI analyzed existing patterns before suggesting implementation
|
|
551
|
+
2. **Clarifying Questions** - AI asked specific questions when requirements were ambiguous
|
|
552
|
+
3. **Visual Design** - ASCII wireframes for approval before coding
|
|
553
|
+
4. **Incremental Progress** - User saw progress at each step
|
|
554
|
+
5. **Following Patterns** - Used existing project conventions throughout
|
|
555
|
+
6. **Complete Testing** - Tests written and run automatically
|
|
556
|
+
7. **Clean Commits** - Proper commit message with description
|