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,489 @@
|
|
|
1
|
+
# Coding Standards Template
|
|
2
|
+
|
|
3
|
+
Define your project's coding standards. Customize this template for your project.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Organization
|
|
8
|
+
|
|
9
|
+
### Directory Structure
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
src/
|
|
13
|
+
├── components/ # React components
|
|
14
|
+
│ ├── common/ # Shared/reusable components
|
|
15
|
+
│ ├── features/ # Feature-specific components
|
|
16
|
+
│ └── layout/ # Layout components
|
|
17
|
+
├── hooks/ # Custom React hooks
|
|
18
|
+
├── services/ # API and external services
|
|
19
|
+
├── stores/ # State management
|
|
20
|
+
├── utils/ # Utility functions
|
|
21
|
+
├── types/ # TypeScript types/interfaces
|
|
22
|
+
├── styles/ # Global styles
|
|
23
|
+
└── constants/ # Constants and config
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### File Naming
|
|
27
|
+
|
|
28
|
+
| Type | Convention | Example |
|
|
29
|
+
|------|------------|---------|
|
|
30
|
+
| Components | PascalCase | `UserProfile.tsx` |
|
|
31
|
+
| Hooks | camelCase with use- prefix | `useAuth.ts` |
|
|
32
|
+
| Utils | camelCase | `formatDate.ts` |
|
|
33
|
+
| Types | PascalCase | `User.types.ts` |
|
|
34
|
+
| Constants | camelCase or UPPER_CASE | `apiEndpoints.ts` |
|
|
35
|
+
| Tests | Same as source + .test | `UserProfile.test.tsx` |
|
|
36
|
+
| Styles | Same as component | `UserProfile.styles.ts` |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Naming Conventions
|
|
41
|
+
|
|
42
|
+
### Variables
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
// ✅ Good
|
|
46
|
+
const userName = 'John';
|
|
47
|
+
const isLoggedIn = true;
|
|
48
|
+
const userList = [];
|
|
49
|
+
const MAX_RETRY_COUNT = 3;
|
|
50
|
+
|
|
51
|
+
// ❌ Bad
|
|
52
|
+
const user_name = 'John';
|
|
53
|
+
const logged = true; // Not descriptive
|
|
54
|
+
const data = []; // Too generic
|
|
55
|
+
const max = 3; // Not clear
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Functions
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
// ✅ Good - verb + noun, describes action
|
|
62
|
+
function getUserById(id: string): User { }
|
|
63
|
+
function validateEmail(email: string): boolean { }
|
|
64
|
+
function formatCurrency(amount: number): string { }
|
|
65
|
+
async function fetchUserData(): Promise<User> { }
|
|
66
|
+
|
|
67
|
+
// ❌ Bad
|
|
68
|
+
function user(id: string) { } // Not descriptive
|
|
69
|
+
function process(data: any) { } // Too generic
|
|
70
|
+
function doStuff() { } // Meaningless
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Components
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// ✅ Good - PascalCase, descriptive
|
|
77
|
+
function UserProfileCard() { }
|
|
78
|
+
function NavigationMenu() { }
|
|
79
|
+
function ShoppingCartItem() { }
|
|
80
|
+
|
|
81
|
+
// ❌ Bad
|
|
82
|
+
function userCard() { } // Not PascalCase
|
|
83
|
+
function Card() { } // Too generic
|
|
84
|
+
function UPC() { } // Abbreviation
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Hooks
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
// ✅ Good - use prefix, describes purpose
|
|
91
|
+
function useAuth() { }
|
|
92
|
+
function useLocalStorage(key: string) { }
|
|
93
|
+
function useFetchUser(id: string) { }
|
|
94
|
+
|
|
95
|
+
// ❌ Bad
|
|
96
|
+
function auth() { } // Missing use prefix
|
|
97
|
+
function useData() { } // Too generic
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Types/Interfaces
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
// ✅ Good
|
|
104
|
+
interface User { }
|
|
105
|
+
type UserRole = 'admin' | 'user';
|
|
106
|
+
interface ApiResponse<T> { }
|
|
107
|
+
|
|
108
|
+
// ❌ Bad (no I prefix for interfaces - or use consistently)
|
|
109
|
+
interface IUser { } // Inconsistent prefix
|
|
110
|
+
type user = { }; // Not PascalCase
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Code Style
|
|
116
|
+
|
|
117
|
+
### General Rules
|
|
118
|
+
|
|
119
|
+
- Maximum line length: **100 characters**
|
|
120
|
+
- Indentation: **2 spaces**
|
|
121
|
+
- Quotes: **Single quotes** for JS/TS, **double quotes** for JSX attributes
|
|
122
|
+
- Semicolons: **Required**
|
|
123
|
+
- Trailing commas: **Always (ES5)**
|
|
124
|
+
|
|
125
|
+
### Import Order
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
// 1. External libraries
|
|
129
|
+
import React, { useState, useEffect } from 'react';
|
|
130
|
+
import { useNavigate } from 'react-router-dom';
|
|
131
|
+
|
|
132
|
+
// 2. Internal modules (absolute imports)
|
|
133
|
+
import { useAuth } from '@/hooks/useAuth';
|
|
134
|
+
import { Button } from '@/components/common';
|
|
135
|
+
import { userService } from '@/services';
|
|
136
|
+
|
|
137
|
+
// 3. Relative imports
|
|
138
|
+
import { UserCard } from './UserCard';
|
|
139
|
+
import { formatUserName } from './utils';
|
|
140
|
+
|
|
141
|
+
// 4. Types (if separate)
|
|
142
|
+
import type { User } from '@/types';
|
|
143
|
+
|
|
144
|
+
// 5. Styles
|
|
145
|
+
import styles from './UserProfile.module.css';
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Destructuring
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
// ✅ Good
|
|
152
|
+
const { name, email, role } = user;
|
|
153
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
154
|
+
function UserCard({ user, onClick }: UserCardProps) { }
|
|
155
|
+
|
|
156
|
+
// ❌ Bad
|
|
157
|
+
const name = user.name;
|
|
158
|
+
const email = user.email;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## React Patterns
|
|
164
|
+
|
|
165
|
+
### Component Structure
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
// Component file structure
|
|
169
|
+
import React, { useState, useEffect } from 'react';
|
|
170
|
+
import type { FC } from 'react';
|
|
171
|
+
|
|
172
|
+
// Types
|
|
173
|
+
interface UserProfileProps {
|
|
174
|
+
userId: string;
|
|
175
|
+
onUpdate?: (user: User) => void;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Component
|
|
179
|
+
export const UserProfile: FC<UserProfileProps> = ({
|
|
180
|
+
userId,
|
|
181
|
+
onUpdate,
|
|
182
|
+
}) => {
|
|
183
|
+
// 1. Hooks
|
|
184
|
+
const [user, setUser] = useState<User | null>(null);
|
|
185
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
186
|
+
const { isAuthenticated } = useAuth();
|
|
187
|
+
|
|
188
|
+
// 2. Effects
|
|
189
|
+
useEffect(() => {
|
|
190
|
+
fetchUser(userId);
|
|
191
|
+
}, [userId]);
|
|
192
|
+
|
|
193
|
+
// 3. Handlers
|
|
194
|
+
const handleUpdate = () => {
|
|
195
|
+
// ...
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
// 4. Render helpers (if needed)
|
|
199
|
+
const renderContent = () => {
|
|
200
|
+
// ...
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
// 5. Early returns
|
|
204
|
+
if (isLoading) return <Spinner />;
|
|
205
|
+
if (!user) return <NotFound />;
|
|
206
|
+
|
|
207
|
+
// 6. Main render
|
|
208
|
+
return (
|
|
209
|
+
<div className="user-profile">
|
|
210
|
+
{/* ... */}
|
|
211
|
+
</div>
|
|
212
|
+
);
|
|
213
|
+
};
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Props
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
// ✅ Good - Interface above component
|
|
220
|
+
interface ButtonProps {
|
|
221
|
+
/** Button label text */
|
|
222
|
+
label: string;
|
|
223
|
+
/** Click handler */
|
|
224
|
+
onClick: () => void;
|
|
225
|
+
/** Visual variant */
|
|
226
|
+
variant?: 'primary' | 'secondary';
|
|
227
|
+
/** Disabled state */
|
|
228
|
+
disabled?: boolean;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export const Button: FC<ButtonProps> = ({
|
|
232
|
+
label,
|
|
233
|
+
onClick,
|
|
234
|
+
variant = 'primary',
|
|
235
|
+
disabled = false,
|
|
236
|
+
}) => { /* ... */ };
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Conditional Rendering
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
// ✅ Good
|
|
243
|
+
{isLoggedIn && <UserMenu />}
|
|
244
|
+
{isLoading ? <Spinner /> : <Content />}
|
|
245
|
+
{error && <ErrorMessage error={error} />}
|
|
246
|
+
|
|
247
|
+
// ❌ Bad - Nested ternaries
|
|
248
|
+
{isLoading ? <Spinner /> : error ? <Error /> : <Content />}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## TypeScript
|
|
254
|
+
|
|
255
|
+
### Type Definitions
|
|
256
|
+
|
|
257
|
+
```typescript
|
|
258
|
+
// ✅ Good - Explicit types
|
|
259
|
+
interface User {
|
|
260
|
+
id: string;
|
|
261
|
+
name: string;
|
|
262
|
+
email: string;
|
|
263
|
+
role: UserRole;
|
|
264
|
+
createdAt: Date;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
type UserRole = 'admin' | 'user' | 'guest';
|
|
268
|
+
|
|
269
|
+
// ✅ Good - Generic types
|
|
270
|
+
interface ApiResponse<T> {
|
|
271
|
+
data: T;
|
|
272
|
+
meta: {
|
|
273
|
+
total: number;
|
|
274
|
+
page: number;
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// ❌ Bad - Avoid any
|
|
279
|
+
function process(data: any) { } // Use unknown or proper type
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Type vs Interface
|
|
283
|
+
|
|
284
|
+
```typescript
|
|
285
|
+
// Use interface for objects that might be extended
|
|
286
|
+
interface User {
|
|
287
|
+
id: string;
|
|
288
|
+
name: string;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
interface AdminUser extends User {
|
|
292
|
+
permissions: string[];
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
// Use type for unions, primitives, and complex types
|
|
296
|
+
type Status = 'pending' | 'active' | 'inactive';
|
|
297
|
+
type EventHandler = (event: Event) => void;
|
|
298
|
+
type Nullable<T> = T | null;
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Strict Null Checks
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
// ✅ Good - Handle null/undefined
|
|
305
|
+
function getUserName(user: User | null): string {
|
|
306
|
+
return user?.name ?? 'Unknown';
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// ✅ Good - Non-null assertion only when certain
|
|
310
|
+
const element = document.getElementById('app')!;
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Error Handling
|
|
316
|
+
|
|
317
|
+
### Try-Catch
|
|
318
|
+
|
|
319
|
+
```typescript
|
|
320
|
+
// ✅ Good - Specific error handling
|
|
321
|
+
try {
|
|
322
|
+
const user = await fetchUser(id);
|
|
323
|
+
return user;
|
|
324
|
+
} catch (error) {
|
|
325
|
+
if (error instanceof NotFoundError) {
|
|
326
|
+
throw new UserNotFoundError(id);
|
|
327
|
+
}
|
|
328
|
+
if (error instanceof NetworkError) {
|
|
329
|
+
throw new ServiceUnavailableError('User service');
|
|
330
|
+
}
|
|
331
|
+
throw error;
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Error Boundaries (React)
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
// Use error boundaries for component errors
|
|
339
|
+
<ErrorBoundary fallback={<ErrorFallback />}>
|
|
340
|
+
<UserProfile />
|
|
341
|
+
</ErrorBoundary>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### API Error Handling
|
|
345
|
+
|
|
346
|
+
```typescript
|
|
347
|
+
// ✅ Good - Consistent error structure
|
|
348
|
+
interface ApiError {
|
|
349
|
+
code: string;
|
|
350
|
+
message: string;
|
|
351
|
+
details?: Record<string, string>;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// ✅ Good - Error handling in service
|
|
355
|
+
async function fetchUser(id: string): Promise<User> {
|
|
356
|
+
const response = await fetch(`/api/users/${id}`);
|
|
357
|
+
|
|
358
|
+
if (!response.ok) {
|
|
359
|
+
const error = await response.json();
|
|
360
|
+
throw new ApiError(error);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
return response.json();
|
|
364
|
+
}
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Comments and Documentation
|
|
370
|
+
|
|
371
|
+
### When to Comment
|
|
372
|
+
|
|
373
|
+
```typescript
|
|
374
|
+
// ✅ Good - Explain WHY, not WHAT
|
|
375
|
+
// Using setTimeout to debounce rapid input changes
|
|
376
|
+
// and prevent excessive API calls
|
|
377
|
+
const debouncedSearch = useMemo(
|
|
378
|
+
() => debounce(searchUsers, 300),
|
|
379
|
+
[]
|
|
380
|
+
);
|
|
381
|
+
|
|
382
|
+
// ✅ Good - Document complex business logic
|
|
383
|
+
// Users with 'admin' role can edit any resource
|
|
384
|
+
// Users with 'user' role can only edit their own resources
|
|
385
|
+
// Guests cannot edit any resources
|
|
386
|
+
function canEdit(user: User, resource: Resource): boolean {
|
|
387
|
+
// ...
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// ❌ Bad - Obvious comments
|
|
391
|
+
// Get the user name
|
|
392
|
+
const name = user.name;
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### JSDoc
|
|
396
|
+
|
|
397
|
+
```typescript
|
|
398
|
+
/**
|
|
399
|
+
* Formats a price for display with currency symbol.
|
|
400
|
+
*
|
|
401
|
+
* @param amount - The price in cents
|
|
402
|
+
* @param currency - ISO currency code (default: 'USD')
|
|
403
|
+
* @returns Formatted price string
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* formatPrice(1999); // "$19.99"
|
|
407
|
+
* formatPrice(1999, 'EUR'); // "€19.99"
|
|
408
|
+
*/
|
|
409
|
+
function formatPrice(amount: number, currency = 'USD'): string {
|
|
410
|
+
// ...
|
|
411
|
+
}
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Testing Standards
|
|
417
|
+
|
|
418
|
+
### Test Naming
|
|
419
|
+
|
|
420
|
+
```typescript
|
|
421
|
+
describe('UserProfile', () => {
|
|
422
|
+
describe('when user is logged in', () => {
|
|
423
|
+
it('should display user name', () => { });
|
|
424
|
+
it('should show edit button', () => { });
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
describe('when user is logged out', () => {
|
|
428
|
+
it('should redirect to login', () => { });
|
|
429
|
+
});
|
|
430
|
+
});
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Test Structure
|
|
434
|
+
|
|
435
|
+
```typescript
|
|
436
|
+
it('should update user name on form submit', async () => {
|
|
437
|
+
// Arrange
|
|
438
|
+
const user = createMockUser({ name: 'John' });
|
|
439
|
+
render(<UserProfile user={user} />);
|
|
440
|
+
|
|
441
|
+
// Act
|
|
442
|
+
await userEvent.type(screen.getByLabelText('Name'), 'Jane');
|
|
443
|
+
await userEvent.click(screen.getByRole('button', { name: 'Save' }));
|
|
444
|
+
|
|
445
|
+
// Assert
|
|
446
|
+
expect(screen.getByText('Jane')).toBeInTheDocument();
|
|
447
|
+
});
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## Enforcement
|
|
453
|
+
|
|
454
|
+
### ESLint Configuration
|
|
455
|
+
|
|
456
|
+
```javascript
|
|
457
|
+
// .eslintrc.js
|
|
458
|
+
module.exports = {
|
|
459
|
+
extends: [
|
|
460
|
+
'eslint:recommended',
|
|
461
|
+
'plugin:@typescript-eslint/recommended',
|
|
462
|
+
'plugin:react/recommended',
|
|
463
|
+
'plugin:react-hooks/recommended',
|
|
464
|
+
],
|
|
465
|
+
rules: {
|
|
466
|
+
'no-console': 'warn',
|
|
467
|
+
'@typescript-eslint/no-explicit-any': 'error',
|
|
468
|
+
'react/prop-types': 'off',
|
|
469
|
+
// Add project-specific rules
|
|
470
|
+
},
|
|
471
|
+
};
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Prettier Configuration
|
|
475
|
+
|
|
476
|
+
```json
|
|
477
|
+
// .prettierrc
|
|
478
|
+
{
|
|
479
|
+
"semi": true,
|
|
480
|
+
"singleQuote": true,
|
|
481
|
+
"tabWidth": 2,
|
|
482
|
+
"trailingComma": "es5",
|
|
483
|
+
"printWidth": 100
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
*Customize this template for your project's specific needs.*
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Standards Examples
|
|
2
|
+
|
|
3
|
+
Complete, ready-to-use standards for different project types.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Available Examples
|
|
8
|
+
|
|
9
|
+
| Example | Description | Use Case |
|
|
10
|
+
|---------|-------------|----------|
|
|
11
|
+
| `react-nextjs.md` | React/Next.js frontend standards | Web frontends, full-stack Next.js |
|
|
12
|
+
| `nodejs-api.md` | Node.js backend API standards | REST APIs, microservices |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## How to Use
|
|
17
|
+
|
|
18
|
+
### 1. Review the Example
|
|
19
|
+
|
|
20
|
+
Read through the example that matches your project type.
|
|
21
|
+
|
|
22
|
+
### 2. Copy and Customize
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Copy to your standards directory
|
|
26
|
+
cp proagents/standards/examples/react-nextjs.md \
|
|
27
|
+
proagents/standards/coding-standards.md
|
|
28
|
+
|
|
29
|
+
# Edit to match your project
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 3. Enable in Config
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
# proagents.config.yaml
|
|
36
|
+
standards:
|
|
37
|
+
coding: "proagents/standards/coding-standards.md"
|
|
38
|
+
enforce: true
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Creating Your Own
|
|
44
|
+
|
|
45
|
+
Start with the closest example and modify:
|
|
46
|
+
|
|
47
|
+
1. **Naming conventions** - Match your team's preferences
|
|
48
|
+
2. **Directory structure** - Match your project layout
|
|
49
|
+
3. **Patterns** - Use patterns your team already uses
|
|
50
|
+
4. **Tools** - Reference the tools your project uses
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Contributing Examples
|
|
55
|
+
|
|
56
|
+
We welcome contributions! To add a new example:
|
|
57
|
+
|
|
58
|
+
1. Create `proagents/standards/examples/your-stack.md`
|
|
59
|
+
2. Follow the existing format (naming, structure, patterns)
|
|
60
|
+
3. Include real, working code examples
|
|
61
|
+
4. Test that the examples compile/run
|