@event4u/agent-config 1.9.1
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/.agent-src/README.md +64 -0
- package/.agent-src/commands/agent-handoff.md +64 -0
- package/.agent-src/commands/agent-status.md +83 -0
- package/.agent-src/commands/agents-audit.md +243 -0
- package/.agent-src/commands/agents-cleanup.md +169 -0
- package/.agent-src/commands/agents-prepare.md +137 -0
- package/.agent-src/commands/analyze-reference-repo.md +191 -0
- package/.agent-src/commands/bug-fix.md +181 -0
- package/.agent-src/commands/bug-investigate.md +175 -0
- package/.agent-src/commands/commit.md +121 -0
- package/.agent-src/commands/compress.md +177 -0
- package/.agent-src/commands/config-agent-settings.md +126 -0
- package/.agent-src/commands/context-create.md +167 -0
- package/.agent-src/commands/context-refactor.md +170 -0
- package/.agent-src/commands/copilot-agents-init.md +150 -0
- package/.agent-src/commands/copilot-agents-optimize.md +251 -0
- package/.agent-src/commands/create-pr-description.md +112 -0
- package/.agent-src/commands/create-pr.md +76 -0
- package/.agent-src/commands/do-and-judge.md +114 -0
- package/.agent-src/commands/do-in-steps.md +84 -0
- package/.agent-src/commands/e2e-heal.md +98 -0
- package/.agent-src/commands/e2e-plan.md +85 -0
- package/.agent-src/commands/estimate-ticket.md +80 -0
- package/.agent-src/commands/feature-dev.md +111 -0
- package/.agent-src/commands/feature-explore.md +180 -0
- package/.agent-src/commands/feature-plan.md +288 -0
- package/.agent-src/commands/feature-refactor.md +181 -0
- package/.agent-src/commands/feature-roadmap.md +184 -0
- package/.agent-src/commands/fix-ci.md +48 -0
- package/.agent-src/commands/fix-portability.md +97 -0
- package/.agent-src/commands/fix-pr-bot-comments.md +146 -0
- package/.agent-src/commands/fix-pr-comments.md +58 -0
- package/.agent-src/commands/fix-pr-developer-comments.md +152 -0
- package/.agent-src/commands/fix-references.md +94 -0
- package/.agent-src/commands/fix-seeder.md +146 -0
- package/.agent-src/commands/implement-ticket.md +133 -0
- package/.agent-src/commands/jira-ticket.md +71 -0
- package/.agent-src/commands/judge.md +86 -0
- package/.agent-src/commands/memory-add.md +130 -0
- package/.agent-src/commands/memory-full.md +97 -0
- package/.agent-src/commands/memory-promote.md +144 -0
- package/.agent-src/commands/mode.md +121 -0
- package/.agent-src/commands/module-create.md +132 -0
- package/.agent-src/commands/module-explore.md +157 -0
- package/.agent-src/commands/optimize-agents.md +139 -0
- package/.agent-src/commands/optimize-augmentignore.md +262 -0
- package/.agent-src/commands/optimize-rtk-filters.md +120 -0
- package/.agent-src/commands/optimize-skills.md +121 -0
- package/.agent-src/commands/override-create.md +97 -0
- package/.agent-src/commands/override-manage.md +96 -0
- package/.agent-src/commands/package-reset.md +154 -0
- package/.agent-src/commands/package-test.md +154 -0
- package/.agent-src/commands/prepare-for-review.md +91 -0
- package/.agent-src/commands/project-analyze.md +300 -0
- package/.agent-src/commands/project-health.md +95 -0
- package/.agent-src/commands/propose-memory.md +108 -0
- package/.agent-src/commands/quality-fix.md +106 -0
- package/.agent-src/commands/refine-ticket.md +81 -0
- package/.agent-src/commands/review-changes.md +130 -0
- package/.agent-src/commands/review-routing.md +111 -0
- package/.agent-src/commands/roadmap-create.md +110 -0
- package/.agent-src/commands/roadmap-execute.md +68 -0
- package/.agent-src/commands/rule-compliance-audit.md +139 -0
- package/.agent-src/commands/tests-create.md +73 -0
- package/.agent-src/commands/tests-execute.md +58 -0
- package/.agent-src/commands/threat-model.md +115 -0
- package/.agent-src/commands/update-form-request-messages.md +189 -0
- package/.agent-src/commands/upstream-contribute.md +171 -0
- package/.agent-src/contexts/augment-infrastructure.md +181 -0
- package/.agent-src/contexts/documentation-hierarchy.md +142 -0
- package/.agent-src/contexts/model-recommendations.md +142 -0
- package/.agent-src/contexts/override-system.md +187 -0
- package/.agent-src/contexts/skills-and-commands.md +154 -0
- package/.agent-src/contexts/subagent-configuration.md +62 -0
- package/.agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +110 -0
- package/.agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
- package/.agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
- package/.agent-src/guidelines/agent-infra/engineering-memory-data-format.md +117 -0
- package/.agent-src/guidelines/agent-infra/layered-settings.md +158 -0
- package/.agent-src/guidelines/agent-infra/memory-access.md +121 -0
- package/.agent-src/guidelines/agent-infra/naming.md +69 -0
- package/.agent-src/guidelines/agent-infra/output-patterns.md +117 -0
- package/.agent-src/guidelines/agent-infra/review-routing-data-format.md +144 -0
- package/.agent-src/guidelines/agent-infra/role-contracts.md +211 -0
- package/.agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
- package/.agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
- package/.agent-src/guidelines/agent-infra/self-improvement-pipeline.md +135 -0
- package/.agent-src/guidelines/agent-infra/size-and-scope.md +189 -0
- package/.agent-src/guidelines/agent-infra/tool-integration.md +73 -0
- package/.agent-src/guidelines/docs/readme-size-and-splitting.md +153 -0
- package/.agent-src/guidelines/e2e/playwright.md +363 -0
- package/.agent-src/guidelines/php/api-design.md +115 -0
- package/.agent-src/guidelines/php/artisan-commands.md +81 -0
- package/.agent-src/guidelines/php/blade-ui.md +78 -0
- package/.agent-src/guidelines/php/controllers.md +90 -0
- package/.agent-src/guidelines/php/database.md +111 -0
- package/.agent-src/guidelines/php/eloquent.md +208 -0
- package/.agent-src/guidelines/php/flux.md +80 -0
- package/.agent-src/guidelines/php/general.md +191 -0
- package/.agent-src/guidelines/php/git.md +96 -0
- package/.agent-src/guidelines/php/jobs.md +111 -0
- package/.agent-src/guidelines/php/livewire.md +71 -0
- package/.agent-src/guidelines/php/logging.md +79 -0
- package/.agent-src/guidelines/php/naming.md +89 -0
- package/.agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
- package/.agent-src/guidelines/php/patterns/dtos.md +199 -0
- package/.agent-src/guidelines/php/patterns/events.md +67 -0
- package/.agent-src/guidelines/php/patterns/factory.md +53 -0
- package/.agent-src/guidelines/php/patterns/pipelines.md +66 -0
- package/.agent-src/guidelines/php/patterns/policies.md +66 -0
- package/.agent-src/guidelines/php/patterns/repositories.md +122 -0
- package/.agent-src/guidelines/php/patterns/service-layer.md +64 -0
- package/.agent-src/guidelines/php/patterns/strategy.md +69 -0
- package/.agent-src/guidelines/php/patterns.md +28 -0
- package/.agent-src/guidelines/php/performance.md +92 -0
- package/.agent-src/guidelines/php/resources.md +100 -0
- package/.agent-src/guidelines/php/security.md +110 -0
- package/.agent-src/guidelines/php/sql.md +97 -0
- package/.agent-src/guidelines/php/validations.md +119 -0
- package/.agent-src/guidelines/php/websocket.md +100 -0
- package/.agent-src/personas/README.md +104 -0
- package/.agent-src/personas/ai-agent.md +77 -0
- package/.agent-src/personas/critical-challenger.md +73 -0
- package/.agent-src/personas/developer.md +73 -0
- package/.agent-src/personas/product-owner.md +78 -0
- package/.agent-src/personas/qa.md +67 -0
- package/.agent-src/personas/senior-engineer.md +77 -0
- package/.agent-src/personas/stakeholder.md +78 -0
- package/.agent-src/rules/agent-docs.md +61 -0
- package/.agent-src/rules/analysis-skill-routing.md +48 -0
- package/.agent-src/rules/architecture.md +62 -0
- package/.agent-src/rules/artifact-drafting-protocol.md +73 -0
- package/.agent-src/rules/ask-when-uncertain.md +52 -0
- package/.agent-src/rules/augment-portability.md +38 -0
- package/.agent-src/rules/augment-source-of-truth.md +128 -0
- package/.agent-src/rules/capture-learnings.md +89 -0
- package/.agent-src/rules/cli-output-handling.md +94 -0
- package/.agent-src/rules/commit-conventions.md +64 -0
- package/.agent-src/rules/context-hygiene.md +90 -0
- package/.agent-src/rules/docker-commands.md +55 -0
- package/.agent-src/rules/docs-sync.md +79 -0
- package/.agent-src/rules/downstream-changes.md +70 -0
- package/.agent-src/rules/e2e-testing.md +53 -0
- package/.agent-src/rules/guidelines.md +90 -0
- package/.agent-src/rules/improve-before-implement.md +94 -0
- package/.agent-src/rules/language-and-tone.md +104 -0
- package/.agent-src/rules/laravel-translations.md +48 -0
- package/.agent-src/rules/markdown-safe-codeblocks.md +18 -0
- package/.agent-src/rules/minimal-safe-diff.md +87 -0
- package/.agent-src/rules/missing-tool-handling.md +62 -0
- package/.agent-src/rules/model-recommendation.md +70 -0
- package/.agent-src/rules/package-ci-checks.md +80 -0
- package/.agent-src/rules/php-coding.md +63 -0
- package/.agent-src/rules/preservation-guard.md +29 -0
- package/.agent-src/rules/review-routing-awareness.md +125 -0
- package/.agent-src/rules/reviewer-awareness.md +92 -0
- package/.agent-src/rules/roadmap-progress-sync.md +56 -0
- package/.agent-src/rules/role-mode-adherence.md +54 -0
- package/.agent-src/rules/rule-type-governance.md +46 -0
- package/.agent-src/rules/runtime-safety.md +42 -0
- package/.agent-src/rules/scope-control.md +40 -0
- package/.agent-src/rules/security-sensitive-stop.md +77 -0
- package/.agent-src/rules/size-enforcement.md +29 -0
- package/.agent-src/rules/skill-improvement-trigger.md +58 -0
- package/.agent-src/rules/skill-quality.md +110 -0
- package/.agent-src/rules/slash-commands.md +30 -0
- package/.agent-src/rules/think-before-action.md +91 -0
- package/.agent-src/rules/token-efficiency.md +99 -0
- package/.agent-src/rules/tool-safety.md +36 -0
- package/.agent-src/rules/upstream-proposal.md +76 -0
- package/.agent-src/rules/user-interaction.md +79 -0
- package/.agent-src/rules/verify-before-complete.md +120 -0
- package/.agent-src/scripts/scan-seeder-violations.php +145 -0
- package/.agent-src/scripts/update_roadmap_progress.py +244 -0
- package/.agent-src/skills/adversarial-review/SKILL.md +149 -0
- package/.agent-src/skills/agent-docs-writing/SKILL.md +234 -0
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +197 -0
- package/.agent-src/skills/analysis-skill-router/SKILL.md +134 -0
- package/.agent-src/skills/api-design/SKILL.md +104 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +185 -0
- package/.agent-src/skills/api-testing/SKILL.md +206 -0
- package/.agent-src/skills/artisan-commands/SKILL.md +78 -0
- package/.agent-src/skills/authz-review/SKILL.md +171 -0
- package/.agent-src/skills/aws-infrastructure/SKILL.md +152 -0
- package/.agent-src/skills/blade-ui/SKILL.md +75 -0
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +185 -0
- package/.agent-src/skills/bug-analyzer/SKILL.md +256 -0
- package/.agent-src/skills/check-refs/SKILL.md +72 -0
- package/.agent-src/skills/code-refactoring/SKILL.md +200 -0
- package/.agent-src/skills/code-review/SKILL.md +214 -0
- package/.agent-src/skills/command-routing/SKILL.md +96 -0
- package/.agent-src/skills/command-writing/SKILL.md +143 -0
- package/.agent-src/skills/composer-packages/SKILL.md +172 -0
- package/.agent-src/skills/context-authoring/SKILL.md +157 -0
- package/.agent-src/skills/context-document/SKILL.md +153 -0
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +70 -0
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +220 -0
- package/.agent-src/skills/copilot-config/SKILL.md +203 -0
- package/.agent-src/skills/dashboard-design/SKILL.md +116 -0
- package/.agent-src/skills/data-flow-mapper/SKILL.md +160 -0
- package/.agent-src/skills/database/SKILL.md +91 -0
- package/.agent-src/skills/dependency-upgrade/SKILL.md +204 -0
- package/.agent-src/skills/description-assist/SKILL.md +169 -0
- package/.agent-src/skills/design-review/SKILL.md +228 -0
- package/.agent-src/skills/devcontainer/SKILL.md +121 -0
- package/.agent-src/skills/developer-like-execution/SKILL.md +276 -0
- package/.agent-src/skills/docker/SKILL.md +245 -0
- package/.agent-src/skills/dto-creator/SKILL.md +117 -0
- package/.agent-src/skills/eloquent/SKILL.md +92 -0
- package/.agent-src/skills/eloquent/evals/last-run.json +99 -0
- package/.agent-src/skills/eloquent/evals/triggers.json +16 -0
- package/.agent-src/skills/estimate-ticket/SKILL.md +186 -0
- package/.agent-src/skills/estimate-ticket/evals/output-schema.yml +20 -0
- package/.agent-src/skills/estimate-ticket/evals/triggers.json +18 -0
- package/.agent-src/skills/fe-design/SKILL.md +223 -0
- package/.agent-src/skills/feature-planning/SKILL.md +226 -0
- package/.agent-src/skills/file-editor/SKILL.md +129 -0
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/.agent-src/skills/flux/SKILL.md +64 -0
- package/.agent-src/skills/git-workflow/SKILL.md +102 -0
- package/.agent-src/skills/github-ci/SKILL.md +122 -0
- package/.agent-src/skills/grafana/SKILL.md +168 -0
- package/.agent-src/skills/guideline-writing/SKILL.md +147 -0
- package/.agent-src/skills/jira-integration/SKILL.md +182 -0
- package/.agent-src/skills/jobs-events/SKILL.md +87 -0
- package/.agent-src/skills/judge-bug-hunter/SKILL.md +157 -0
- package/.agent-src/skills/judge-code-quality/SKILL.md +158 -0
- package/.agent-src/skills/judge-security-auditor/SKILL.md +167 -0
- package/.agent-src/skills/judge-test-coverage/SKILL.md +154 -0
- package/.agent-src/skills/laravel/SKILL.md +195 -0
- package/.agent-src/skills/laravel-horizon/SKILL.md +169 -0
- package/.agent-src/skills/laravel-mail/SKILL.md +193 -0
- package/.agent-src/skills/laravel-middleware/SKILL.md +185 -0
- package/.agent-src/skills/laravel-notifications/SKILL.md +168 -0
- package/.agent-src/skills/laravel-pennant/SKILL.md +188 -0
- package/.agent-src/skills/laravel-pulse/SKILL.md +160 -0
- package/.agent-src/skills/laravel-reverb/SKILL.md +205 -0
- package/.agent-src/skills/laravel-scheduling/SKILL.md +167 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +71 -0
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +249 -0
- package/.agent-src/skills/lint-skills/SKILL.md +72 -0
- package/.agent-src/skills/livewire/SKILL.md +79 -0
- package/.agent-src/skills/logging-monitoring/SKILL.md +100 -0
- package/.agent-src/skills/mcp/SKILL.md +193 -0
- package/.agent-src/skills/merge-conflicts/SKILL.md +158 -0
- package/.agent-src/skills/migration-creator/SKILL.md +160 -0
- package/.agent-src/skills/module-management/SKILL.md +154 -0
- package/.agent-src/skills/multi-tenancy/SKILL.md +129 -0
- package/.agent-src/skills/openapi/SKILL.md +154 -0
- package/.agent-src/skills/override-management/SKILL.md +186 -0
- package/.agent-src/skills/performance/SKILL.md +69 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +118 -0
- package/.agent-src/skills/pest-testing/SKILL.md +321 -0
- package/.agent-src/skills/php-coder/SKILL.md +78 -0
- package/.agent-src/skills/php-coder/evals/triggers.json +16 -0
- package/.agent-src/skills/php-debugging/SKILL.md +184 -0
- package/.agent-src/skills/php-service/SKILL.md +96 -0
- package/.agent-src/skills/playwright-testing/SKILL.md +244 -0
- package/.agent-src/skills/project-analysis-core/SKILL.md +138 -0
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +130 -0
- package/.agent-src/skills/project-analysis-laravel/SKILL.md +119 -0
- package/.agent-src/skills/project-analysis-nextjs/SKILL.md +123 -0
- package/.agent-src/skills/project-analysis-node-express/SKILL.md +111 -0
- package/.agent-src/skills/project-analysis-react/SKILL.md +119 -0
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +111 -0
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +108 -0
- package/.agent-src/skills/project-analyzer/SKILL.md +341 -0
- package/.agent-src/skills/project-docs/SKILL.md +137 -0
- package/.agent-src/skills/quality-tools/SKILL.md +411 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +187 -0
- package/.agent-src/skills/readme-writing/SKILL.md +142 -0
- package/.agent-src/skills/readme-writing-package/SKILL.md +185 -0
- package/.agent-src/skills/receiving-code-review/SKILL.md +190 -0
- package/.agent-src/skills/refine-ticket/SKILL.md +310 -0
- package/.agent-src/skills/refine-ticket/detection-map.yml +124 -0
- package/.agent-src/skills/refine-ticket/evals/output-schema.yml +16 -0
- package/.agent-src/skills/refine-ticket/evals/triggers.json +16 -0
- package/.agent-src/skills/requesting-code-review/SKILL.md +199 -0
- package/.agent-src/skills/review-routing/SKILL.md +195 -0
- package/.agent-src/skills/roadmap-management/SKILL.md +303 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +184 -0
- package/.agent-src/skills/rule-writing/SKILL.md +148 -0
- package/.agent-src/skills/security/SKILL.md +79 -0
- package/.agent-src/skills/security-audit/SKILL.md +123 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +170 -0
- package/.agent-src/skills/sequential-thinking/SKILL.md +158 -0
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +155 -0
- package/.agent-src/skills/skill-management/SKILL.md +121 -0
- package/.agent-src/skills/skill-reviewer/SKILL.md +218 -0
- package/.agent-src/skills/skill-writing/SKILL.md +291 -0
- package/.agent-src/skills/skill-writing/evals/triggers.json +16 -0
- package/.agent-src/skills/sql-writing/SKILL.md +74 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +190 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +244 -0
- package/.agent-src/skills/technical-specification/SKILL.md +185 -0
- package/.agent-src/skills/terraform/SKILL.md +137 -0
- package/.agent-src/skills/terragrunt/SKILL.md +217 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +252 -0
- package/.agent-src/skills/test-performance/SKILL.md +172 -0
- package/.agent-src/skills/threat-modeling/SKILL.md +189 -0
- package/.agent-src/skills/traefik/SKILL.md +319 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +179 -0
- package/.agent-src/skills/upstream-contribute/SKILL.md +255 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +148 -0
- package/.agent-src/skills/validate-feature-fit/SKILL.md +113 -0
- package/.agent-src/skills/verify-before-complete/SKILL.md +188 -0
- package/.agent-src/skills/websocket/SKILL.md +75 -0
- package/.agent-src/templates/AGENTS.md +146 -0
- package/.agent-src/templates/agent-settings.md +256 -0
- package/.agent-src/templates/agents/.gitattributes.fragment +16 -0
- package/.agent-src/templates/agents/agent-project-settings.example.yml +138 -0
- package/.agent-src/templates/agents/memory/architecture-decisions.example.yml +95 -0
- package/.agent-src/templates/agents/memory/domain-invariants.example.yml +80 -0
- package/.agent-src/templates/agents/memory/historical-patterns.example.yml +82 -0
- package/.agent-src/templates/agents/memory/incident-learnings.example.yml +113 -0
- package/.agent-src/templates/agents/memory/ownership.example.yml +75 -0
- package/.agent-src/templates/agents/memory/product-rules.example.yml +87 -0
- package/.agent-src/templates/agents/proposal.example.md +143 -0
- package/.agent-src/templates/command.md +84 -0
- package/.agent-src/templates/contexts/auth-model.md +59 -0
- package/.agent-src/templates/contexts/data-sensitivity.md +60 -0
- package/.agent-src/templates/contexts/deployment-order.md +72 -0
- package/.agent-src/templates/contexts/observability.md +64 -0
- package/.agent-src/templates/contexts/tenant-boundaries.md +68 -0
- package/.agent-src/templates/contexts.md +116 -0
- package/.agent-src/templates/copilot-instructions.md +115 -0
- package/.agent-src/templates/features.md +125 -0
- package/.agent-src/templates/github-workflows/memory-hygiene.yml +133 -0
- package/.agent-src/templates/github-workflows/pr-risk-review.yml +123 -0
- package/.agent-src/templates/github-workflows/proposal-drift.yml +118 -0
- package/.agent-src/templates/overrides/command.md +24 -0
- package/.agent-src/templates/overrides/guideline.md +21 -0
- package/.agent-src/templates/overrides/rule.md +19 -0
- package/.agent-src/templates/overrides/skill.md +24 -0
- package/.agent-src/templates/overrides/template.md +21 -0
- package/.agent-src/templates/persona.md +99 -0
- package/.agent-src/templates/roadmaps.md +109 -0
- package/.agent-src/templates/scripts/README.md +195 -0
- package/.agent-src/templates/scripts/check_memory.py +283 -0
- package/.agent-src/templates/scripts/check_memory_proposal.py +180 -0
- package/.agent-src/templates/scripts/historical-bug-patterns.example.yml +84 -0
- package/.agent-src/templates/scripts/implement_ticket/__init__.py +57 -0
- package/.agent-src/templates/scripts/implement_ticket/__main__.py +9 -0
- package/.agent-src/templates/scripts/implement_ticket/cli.py +171 -0
- package/.agent-src/templates/scripts/implement_ticket/delivery_state.py +130 -0
- package/.agent-src/templates/scripts/implement_ticket/dispatcher.py +134 -0
- package/.agent-src/templates/scripts/implement_ticket/persona_policy.py +85 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/__init__.py +49 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/analyze.py +98 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/implement.py +145 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/memory.py +136 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/plan.py +175 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/refine.py +140 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/report.py +195 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/test.py +180 -0
- package/.agent-src/templates/scripts/implement_ticket/steps/verify.py +170 -0
- package/.agent-src/templates/scripts/memory_hash.py +75 -0
- package/.agent-src/templates/scripts/memory_lookup.py +216 -0
- package/.agent-src/templates/scripts/memory_report.py +184 -0
- package/.agent-src/templates/scripts/memory_signal.py +167 -0
- package/.agent-src/templates/scripts/memory_status.py +156 -0
- package/.agent-src/templates/scripts/ownership-map.example.yml +87 -0
- package/.agent-src/templates/scripts/pr-risk-config.example.yml +76 -0
- package/.agent-src/templates/scripts/pr_review_routing.py +340 -0
- package/.agent-src/templates/scripts/pr_risk_review.py +211 -0
- package/.agent-src/templates/skill.md +136 -0
- package/.augment-plugin/marketplace.json +32 -0
- package/.augment-plugin/plugin.json +21 -0
- package/.claude-plugin/marketplace.json +119 -0
- package/AGENTS.md +121 -0
- package/CHANGELOG.md +279 -0
- package/CONTRIBUTING.md +176 -0
- package/LICENSE +21 -0
- package/README.md +357 -0
- package/bin/install.php +38 -0
- package/composer.json +29 -0
- package/config/agent-settings.template.yml +96 -0
- package/config/profiles/balanced.ini +10 -0
- package/config/profiles/full.ini +10 -0
- package/config/profiles/minimal.ini +10 -0
- package/docs/architecture.md +144 -0
- package/docs/customization.md +88 -0
- package/docs/development.md +171 -0
- package/docs/getting-started.md +130 -0
- package/docs/github-topics.md +84 -0
- package/docs/installation.md +376 -0
- package/docs/mcp.md +133 -0
- package/docs/quality.md +98 -0
- package/docs/skills-catalog.md +136 -0
- package/docs/troubleshooting.md +167 -0
- package/llms.txt +130 -0
- package/package.json +31 -0
- package/scripts/audit_skill_descriptions.py +168 -0
- package/scripts/check_compression.py +221 -0
- package/scripts/check_memory.py +341 -0
- package/scripts/check_memory_proposal.py +180 -0
- package/scripts/check_portability.py +320 -0
- package/scripts/check_proposal.py +269 -0
- package/scripts/check_references.py +400 -0
- package/scripts/ci_summary.py +131 -0
- package/scripts/compress.py +671 -0
- package/scripts/compress.sh +18 -0
- package/scripts/first-run.sh +109 -0
- package/scripts/generate_catalog.py +116 -0
- package/scripts/install +151 -0
- package/scripts/install-hooks.sh +29 -0
- package/scripts/install.py +487 -0
- package/scripts/install.sh +637 -0
- package/scripts/install_anthropic_key.sh +101 -0
- package/scripts/inventory_frontmatter.py +164 -0
- package/scripts/lint_marketplace.py +142 -0
- package/scripts/lint_regression.py +232 -0
- package/scripts/mcp_render.py +159 -0
- package/scripts/measure_patterns.py +376 -0
- package/scripts/memory_hash.py +75 -0
- package/scripts/memory_lookup.py +441 -0
- package/scripts/memory_report.py +336 -0
- package/scripts/memory_signal.py +210 -0
- package/scripts/memory_status.py +195 -0
- package/scripts/postinstall.sh +60 -0
- package/scripts/readme_linter.py +580 -0
- package/scripts/refine_ticket_detect.py +623 -0
- package/scripts/requirements-evals.txt +7 -0
- package/scripts/runtime_dispatcher.py +265 -0
- package/scripts/runtime_handler.py +148 -0
- package/scripts/runtime_registry.py +166 -0
- package/scripts/schemas/command.schema.json +32 -0
- package/scripts/schemas/persona.schema.json +42 -0
- package/scripts/schemas/rule.schema.json +28 -0
- package/scripts/schemas/skill.schema.json +73 -0
- package/scripts/setup.sh +230 -0
- package/scripts/setup_eval_venv.sh +58 -0
- package/scripts/skill_linter.py +2175 -0
- package/scripts/skill_trigger_eval.py +651 -0
- package/scripts/tool_registry.py +146 -0
- package/scripts/tools/__init__.py +1 -0
- package/scripts/tools/adapter_errors.py +63 -0
- package/scripts/tools/base_adapter.py +91 -0
- package/scripts/tools/github_adapter.py +128 -0
- package/scripts/tools/jira_adapter.py +115 -0
- package/scripts/update_counts.py +147 -0
- package/scripts/validate_frontmatter.py +424 -0
- package/templates/consumer-settings/README.md +46 -0
- package/templates/consumer-settings/augment-settings.json +12 -0
- package/templates/consumer-settings/claude-settings.json +9 -0
- package/templates/consumer-settings/copilot-settings.json +14 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-docs
|
|
3
|
+
description: "Use when looking for project-specific documentation. Knows which docs exist in agents/docs/ and agents/contexts/ and maps work areas to relevant docs."
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# project-docs
|
|
8
|
+
|
|
9
|
+
## When to use
|
|
10
|
+
|
|
11
|
+
Use this skill when:
|
|
12
|
+
- Starting work on an unfamiliar area of the codebase
|
|
13
|
+
- Need to find relevant documentation for a specific module or feature
|
|
14
|
+
- Want to understand project-specific patterns before making changes
|
|
15
|
+
|
|
16
|
+
Do NOT use when:
|
|
17
|
+
- Looking for coding guidelines (use `guidelines` skill)
|
|
18
|
+
- Looking for infrastructure docs (use `aws-infrastructure` or `docker` skill)
|
|
19
|
+
|
|
20
|
+
## Description
|
|
21
|
+
|
|
22
|
+
This skill maps work areas to their relevant project documentation. It ensures agents
|
|
23
|
+
consult the right docs before making changes — preventing mistakes that come from not
|
|
24
|
+
understanding project-specific patterns, legacy conventions, or architectural decisions.
|
|
25
|
+
|
|
26
|
+
## When to Activate
|
|
27
|
+
|
|
28
|
+
- Before working on **any** area that has project-specific documentation
|
|
29
|
+
- When an agent is unsure about project conventions for a specific domain
|
|
30
|
+
- When creating or modifying code in areas covered by these docs
|
|
31
|
+
|
|
32
|
+
## Procedure: Find project documentation
|
|
33
|
+
|
|
34
|
+
1. Identify the work area from the user's request.
|
|
35
|
+
2. Look up the relevant docs in the mapping table below.
|
|
36
|
+
3. Read the **context** first (quick orientation), then the **detail docs** if needed.
|
|
37
|
+
4. Follow the conventions described in the docs.
|
|
38
|
+
|
|
39
|
+
## Documentation Structure
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
agents/
|
|
43
|
+
├── contexts/ → Quick orientation (read first)
|
|
44
|
+
│ ├── *.md → Technical contexts (multi-tenancy, API versioning, etc.)
|
|
45
|
+
│ └── domain/ → Domain/industry knowledge (business logic, terminology)
|
|
46
|
+
│ └── job-*.md → Domain context files (e.g., job-time-tracking.md)
|
|
47
|
+
├── docs/ → Deep dives (read when working on the area)
|
|
48
|
+
│ └── *.md → Detailed conventions per topic
|
|
49
|
+
├── features/ → Feature plans
|
|
50
|
+
├── roadmaps/ → Step-by-step work plans
|
|
51
|
+
├── sessions/ → Session tracking
|
|
52
|
+
└── overrides/ → Project-specific overrides of .augment/ resources
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Domain Contexts
|
|
56
|
+
|
|
57
|
+
If `agents/contexts/domain/` exists, it contains **business domain knowledge** — industry terms,
|
|
58
|
+
regulations, workflows, and edge cases that the agent needs to understand the problem space.
|
|
59
|
+
|
|
60
|
+
**When to read domain contexts:**
|
|
61
|
+
- Before working on any feature that touches business logic
|
|
62
|
+
- When you encounter domain-specific terms you don't fully understand
|
|
63
|
+
- When writing validations, business rules, or data models for a specific domain
|
|
64
|
+
|
|
65
|
+
**How to find the right file:**
|
|
66
|
+
- List `agents/contexts/domain/` and read files whose name matches the work area
|
|
67
|
+
- Files prefixed with `job-` describe industry/profession knowledge
|
|
68
|
+
- When in doubt, read all domain context files — they are short orientation docs
|
|
69
|
+
|
|
70
|
+
## How to Find Relevant Docs
|
|
71
|
+
|
|
72
|
+
1. **List `agents/contexts/`** — read any context file whose name matches the work area.
|
|
73
|
+
2. **List `agents/contexts/domain/`** — read domain knowledge files relevant to the business logic.
|
|
74
|
+
3. **List `agents/docs/`** — read detail docs for the specific topic you're working on.
|
|
75
|
+
4. **Check module docs** — if working in a module, also check:
|
|
76
|
+
- `app/Modules/{Module}/agents/` — module-specific docs
|
|
77
|
+
- `app/Modules/{Module}/agents/contexts/` — module-specific contexts (if exists)
|
|
78
|
+
- `app/Modules/{Module}/agents/contexts/domain/` — module-specific domain knowledge (if exists)
|
|
79
|
+
|
|
80
|
+
### Reading order
|
|
81
|
+
|
|
82
|
+
| Step | What | Why |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| 1 | `agents/contexts/*.md` | Quick orientation — big picture in ~100 lines |
|
|
85
|
+
| 2 | `agents/contexts/domain/job-*.md` | Domain knowledge — business terms, rules, edge cases |
|
|
86
|
+
| 3 | Module `agents/contexts/` | Module-specific contexts (if working in a module) |
|
|
87
|
+
| 4 | `agents/docs/*.md` | Deep dive — code examples, conventions, patterns |
|
|
88
|
+
|
|
89
|
+
### Matching work areas to docs
|
|
90
|
+
|
|
91
|
+
Match by **filename** — doc filenames describe their topic. Examples:
|
|
92
|
+
- Working on API endpoints → look for `controller`, `api-*`, `middleware`, `authentication` docs
|
|
93
|
+
- Working on database → look for `database-*`, `multi-tenancy`, `customer-*` docs
|
|
94
|
+
- Working on time tracking → look for `job-time-tracking` in domain contexts
|
|
95
|
+
- Working on tests → look for `testing`, `seeders` docs
|
|
96
|
+
|
|
97
|
+
Do NOT hardcode a mapping — always **list the directory** and pick by relevance.
|
|
98
|
+
|
|
99
|
+
## Rules
|
|
100
|
+
|
|
101
|
+
- **Always read the context first** — it gives you the big picture in ~100 lines.
|
|
102
|
+
- **Read detail docs when you need to write code** — they have code examples and conventions.
|
|
103
|
+
- **Don't skip docs because you "know" the pattern** — project-specific conventions often differ
|
|
104
|
+
from standard framework patterns.
|
|
105
|
+
- **Update docs when you change conventions** — if your change introduces a new pattern or
|
|
106
|
+
deprecates an old one, update the relevant doc in `agents/docs/`.
|
|
107
|
+
|
|
108
|
+
## Cross-References
|
|
109
|
+
|
|
110
|
+
| Skill | Relationship |
|
|
111
|
+
|---|---|
|
|
112
|
+
| `agent-docs-writing` | When to read/create/update agent docs in general |
|
|
113
|
+
| `context-create` | How to create new context documents |
|
|
114
|
+
| `module-management` | Module-specific docs in module `agents/` directories |
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## Output format
|
|
118
|
+
|
|
119
|
+
1. Relevant doc paths and their key content summarized
|
|
120
|
+
2. Recommendation for which docs to read for the current task
|
|
121
|
+
|
|
122
|
+
## Gotcha
|
|
123
|
+
|
|
124
|
+
- Project docs are NOT the same as agent docs — project docs describe the codebase, agent docs describe agent behavior.
|
|
125
|
+
- Don't assume a doc exists because the area is important — always check the filesystem first.
|
|
126
|
+
- Stale docs are worse than missing docs — always verify doc content against actual code.
|
|
127
|
+
|
|
128
|
+
## Do NOT
|
|
129
|
+
|
|
130
|
+
- Do NOT create documentation that duplicates existing docs.
|
|
131
|
+
- Do NOT write docs for trivial or self-explanatory code.
|
|
132
|
+
|
|
133
|
+
## Auto-trigger keywords
|
|
134
|
+
|
|
135
|
+
- project documentation
|
|
136
|
+
- doc mapping
|
|
137
|
+
- work area docs
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality-tools
|
|
3
|
+
description: "Use when PHPStan, Rector, or ECS output appears — \"phpstan says mixed\", type errors, \"fix code style\", \"run rector\" — even when Eloquent/Laravel/model code is also mentioned."
|
|
4
|
+
source: package
|
|
5
|
+
execution:
|
|
6
|
+
type: assisted
|
|
7
|
+
handler: shell
|
|
8
|
+
allowed_tools: []
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# quality-tools
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Use this skill whenever running or configuring code quality tools:
|
|
16
|
+
|
|
17
|
+
- **PHP**: PHPStan (static analysis), Rector (automated refactoring), ECS (coding standards)
|
|
18
|
+
- **JS/TS**: Biome (linting + formatting), TypeScript compiler (type checking), Jest/Vitest (tests)
|
|
19
|
+
|
|
20
|
+
## Language detection
|
|
21
|
+
|
|
22
|
+
Detect which tools to run based on **what files were changed**:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Check changed file extensions (diff against base branch)
|
|
26
|
+
git diff --name-only origin/main..HEAD | grep -E '\.(php)$' # → PHP tools
|
|
27
|
+
git diff --name-only origin/main..HEAD | grep -E '\.(js|ts|tsx)$' # → JS/TS tools
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If both PHP and JS/TS files changed → run **both** pipelines.
|
|
31
|
+
|
|
32
|
+
## Related rules and guidelines
|
|
33
|
+
|
|
34
|
+
- `verify-before-complete` rule — timing: run quality tools ONCE at the end, not after each edit
|
|
35
|
+
- `php-coding` rule → PHPStan section — inline ignores, PHPDoc rules
|
|
36
|
+
- `verify-before-complete` rule — must run quality checks before claiming work is done
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# PHP Quality Tools
|
|
41
|
+
|
|
42
|
+
## Tool Detection
|
|
43
|
+
|
|
44
|
+
Check `composer.json` to determine which tools are available and how to run them.
|
|
45
|
+
Use the **first matching** command style:
|
|
46
|
+
|
|
47
|
+
| `composer.json` contains | Command style | Example |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| A project-specific quality wrapper (exposes `quality:*` commands) | `php artisan quality:*` or `composer quality:*` | `php artisan quality:phpstan` |
|
|
50
|
+
| `phpstan/phpstan` or `larastan/larastan` | `vendor/bin/phpstan` | `vendor/bin/phpstan analyse` |
|
|
51
|
+
| `rector/rector` | `vendor/bin/rector` | `vendor/bin/rector process` |
|
|
52
|
+
| `symplify/easy-coding-standard` | `vendor/bin/ecs` | `vendor/bin/ecs check --fix` |
|
|
53
|
+
|
|
54
|
+
**Priority:** If a project ships a `quality:*` wrapper (Artisan or Composer script), always prefer it —
|
|
55
|
+
wrappers typically add
|
|
56
|
+
git-aware execution, caching, automatic baseline regeneration, and memory management.
|
|
57
|
+
|
|
58
|
+
If none of the above is installed → skip quality checks, inform the user.
|
|
59
|
+
|
|
60
|
+
All commands run **inside the Docker container** if Docker is used (`docker compose exec` or `make console`).
|
|
61
|
+
|
|
62
|
+
## Commands
|
|
63
|
+
|
|
64
|
+
### PHPStan — Static Analysis
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Native:
|
|
68
|
+
vendor/bin/phpstan analyse # Analyse all configured paths
|
|
69
|
+
vendor/bin/phpstan analyse --memory-limit=512M # With memory limit
|
|
70
|
+
vendor/bin/phpstan analyse --error-format=github # CI-friendly format
|
|
71
|
+
|
|
72
|
+
# With a project-specific quality wrapper:
|
|
73
|
+
php artisan quality:phpstan # Laravel
|
|
74
|
+
composer quality:phpstan # Composer
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Native flags:**
|
|
78
|
+
|
|
79
|
+
| Flag | Description |
|
|
80
|
+
|---|---|
|
|
81
|
+
| `--memory-limit=SIZE` | Set memory limit (e.g. `512M`, `1G`) |
|
|
82
|
+
| `--debug` | Activate debug mode |
|
|
83
|
+
| `--error-format=FORMAT` | Output format: `table` (default), `github`, `gitlab` |
|
|
84
|
+
| `--pro` | Toggle PHPStan Pro |
|
|
85
|
+
|
|
86
|
+
**Wrapper-only flags** (typical of a `quality:*` wrapper — verify in the project):
|
|
87
|
+
|
|
88
|
+
| Flag | Description |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `--baseline` | Generate/update phpstan baseline file |
|
|
91
|
+
| `--ignore-git` | Skip Git check, analyse all files |
|
|
92
|
+
| `--xdebug` | Activate Xdebug mode |
|
|
93
|
+
|
|
94
|
+
### ECS — Easy Coding Standard
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Native:
|
|
98
|
+
vendor/bin/ecs check # Dry-run
|
|
99
|
+
vendor/bin/ecs check --fix # Auto-fix
|
|
100
|
+
|
|
101
|
+
# With a project-specific quality wrapper:
|
|
102
|
+
php artisan quality:ecs --fix # Laravel
|
|
103
|
+
composer quality:ecs -- --fix # Composer
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Native flags:**
|
|
107
|
+
|
|
108
|
+
| Flag | Description |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `--fix` | Fix errors automatically |
|
|
111
|
+
| `--clear-cache` | Clear the ECS cache |
|
|
112
|
+
|
|
113
|
+
**Wrapper-only flags** (typical of a `quality:*` wrapper — verify in the project):
|
|
114
|
+
|
|
115
|
+
| Flag | Description |
|
|
116
|
+
|---|---|
|
|
117
|
+
| `--ignore-git` | Skip Git check, check all files |
|
|
118
|
+
| `--paths-to-scan[=PATHS]` | Custom paths, e.g. `--paths-to-scan='["./core"]'` |
|
|
119
|
+
| `--source-branch[=BRANCH]` | Source branch (default: HEAD) |
|
|
120
|
+
| `--target-branch[=BRANCH]` | Target branch to compare against |
|
|
121
|
+
|
|
122
|
+
### Rector — Automated Refactoring
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Native:
|
|
126
|
+
vendor/bin/rector process # Auto-fix
|
|
127
|
+
vendor/bin/rector process --dry-run # Preview changes
|
|
128
|
+
|
|
129
|
+
# With a project-specific quality wrapper:
|
|
130
|
+
php artisan quality:rector --fix # Laravel
|
|
131
|
+
composer quality:rector -- --fix # Composer
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Native flags:**
|
|
135
|
+
|
|
136
|
+
| Flag | Description |
|
|
137
|
+
|---|---|
|
|
138
|
+
| `--dry-run` | Preview changes without applying |
|
|
139
|
+
| `--clear-cache` | Clear the Rector cache |
|
|
140
|
+
|
|
141
|
+
**Wrapper-only flags** (typical of a `quality:*` wrapper — verify in the project):
|
|
142
|
+
|
|
143
|
+
| Flag | Description |
|
|
144
|
+
|---|---|
|
|
145
|
+
| `--ignore-git` | Skip Git check, check all files |
|
|
146
|
+
| `--paths-to-scan[=PATHS]` | Custom paths |
|
|
147
|
+
| `--source-branch[=BRANCH]` | Source branch (default: HEAD) |
|
|
148
|
+
| `--target-branch[=BRANCH]` | Target branch to compare against |
|
|
149
|
+
|
|
150
|
+
### Combined Commands
|
|
151
|
+
|
|
152
|
+
There is no native single command for running all three tools. Run them in sequence:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Full pipeline (native):
|
|
156
|
+
vendor/bin/rector process && vendor/bin/ecs check --fix && vendor/bin/phpstan analyse
|
|
157
|
+
|
|
158
|
+
# With a project-specific quality wrapper (if it ships these combined commands):
|
|
159
|
+
php artisan quality:refactor --fix # Rector + ECS
|
|
160
|
+
php artisan quality:finalize # Rector + ECS + PHPStan (full pipeline)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Procedure: Run quality checks
|
|
164
|
+
|
|
165
|
+
1. Run PHPStan — fix all errors
|
|
166
|
+
2. Run Rector + ECS with auto-fix — fix style + refactoring
|
|
167
|
+
3. Run PHPStan again — verify step 2 didn't introduce new issues
|
|
168
|
+
|
|
169
|
+
If step 3 finds errors → fix and repeat from step 2.
|
|
170
|
+
|
|
171
|
+
Detect commands from project (see Tool Detection above).
|
|
172
|
+
|
|
173
|
+
## Configuration
|
|
174
|
+
|
|
175
|
+
Config files are typically in the **project root**. Do NOT modify without explicit user permission.
|
|
176
|
+
|
|
177
|
+
Detect config location:
|
|
178
|
+
- Check project root first: `phpstan.neon`, `ecs.php`, `rector.php`
|
|
179
|
+
- Some projects use `phpstan.neon.dist` instead of `phpstan.neon`
|
|
180
|
+
|
|
181
|
+
### Standard config files
|
|
182
|
+
|
|
183
|
+
| File | Tool | Purpose |
|
|
184
|
+
|---|---|---|
|
|
185
|
+
| `phpstan.neon` | PHPStan | Level, paths, extensions, `ignoreErrors`, disallowed calls |
|
|
186
|
+
| `phpstan-baseline.neon` | PHPStan | Baseline for existing errors (auto-managed, do NOT edit) |
|
|
187
|
+
| `ecs.php` | ECS | Code style: rule sets, configured rules, skip list |
|
|
188
|
+
| `rector.php` | Rector | Refactoring: rule sets, PHP version sets, skip list |
|
|
189
|
+
|
|
190
|
+
### Understanding the project's config
|
|
191
|
+
|
|
192
|
+
Read the actual config files to understand what rules are active:
|
|
193
|
+
|
|
194
|
+
- **phpstan.neon**: Check `level`, `paths`, `ignoreErrors`, `includes` (baselines, extensions)
|
|
195
|
+
- **ecs.php**: Check which rule sets are active (PSR-12, PHP-CS-Fixer sets), skip list
|
|
196
|
+
- **rector.php**: Check PHP version sets, active rule sets, skip list
|
|
197
|
+
|
|
198
|
+
Common patterns across projects:
|
|
199
|
+
- PHPStan at high levels (8-9) with `disallowedFunctionCalls` banning `var_dump()`, `dd()`
|
|
200
|
+
- ECS with PSR-12 base, trailing commas, Yoda style
|
|
201
|
+
- Rector with PHP version migration sets and naming conventions
|
|
202
|
+
|
|
203
|
+
## Baseline policy
|
|
204
|
+
|
|
205
|
+
- **NEVER** edit `phpstan-baseline.neon` by hand.
|
|
206
|
+
- **NEVER** add errors, update counts, or regenerate manually.
|
|
207
|
+
- If the project ships a quality wrapper (exposing `quality:*` commands), it may regenerate the baseline automatically.
|
|
208
|
+
|
|
209
|
+
## PHPStan error handling
|
|
210
|
+
|
|
211
|
+
Priority order for dealing with PHPStan errors:
|
|
212
|
+
|
|
213
|
+
1. **Fix the code** — always the first choice. Fix the actual type issue.
|
|
214
|
+
2. **Add type hints / PHPDoc** — if the code is correct but PHPStan can't infer the type.
|
|
215
|
+
3. **Inline ignore (last resort)** — only for confirmed false positives:
|
|
216
|
+
```php
|
|
217
|
+
// @phpstan-ignore-next-line — false positive: reason here
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### When `phpstan.neon` changes ARE allowed
|
|
221
|
+
|
|
222
|
+
Adding `ignoreErrors` entries to `phpstan.neon` is allowed when:
|
|
223
|
+
|
|
224
|
+
- The error is a **structural limitation** of the toolchain (e.g., Pest tests bind `$this` at runtime, PHPStan can't resolve `artisan()`,
|
|
225
|
+
`get()`, etc. on `PHPUnit\Framework\TestCase`)
|
|
226
|
+
- The pattern applies **broadly** to a category of files (e.g., all test files), not just one specific line
|
|
227
|
+
- The fix would require abandoning the project's conventions (e.g., rewriting Pest tests as PHPUnit classes)
|
|
228
|
+
|
|
229
|
+
**If unsure whether a `phpstan.neon` change is appropriate → ask the user before making the change.**
|
|
230
|
+
|
|
231
|
+
### NEVER do these
|
|
232
|
+
|
|
233
|
+
- Add entries to baseline files (`phpstan-baseline.neon`)
|
|
234
|
+
- Add `ignoreErrors` for individual files or specific code issues that should be fixed
|
|
235
|
+
- Use `@phpstan-ignore-next-line` without a reason comment
|
|
236
|
+
|
|
237
|
+
See also: `php-coding` rule → PHPStan section.
|
|
238
|
+
|
|
239
|
+
## Testing framework
|
|
240
|
+
|
|
241
|
+
- **Always write tests in Pest**, not PHPUnit class syntax — unless the user explicitly asks for PHPUnit.
|
|
242
|
+
- Pest tests in `tests/Unit/` automatically use `UnitTestCase` as the base class (configured in `tests/Pest.php`).
|
|
243
|
+
- PHPStan cannot fully resolve Pest's runtime bindings — this is handled via `ignoreErrors` patterns in `phpstan.neon`.
|
|
244
|
+
|
|
245
|
+
## Git-aware execution
|
|
246
|
+
|
|
247
|
+
By default, all tools only check files changed since the last commit.
|
|
248
|
+
|
|
249
|
+
| Flag | Effect |
|
|
250
|
+
|------------------------------|-----------------------------------------------|
|
|
251
|
+
| (default) | Only changed files (fast, for iterative work) |
|
|
252
|
+
| `--ignore-git` | All files (cache still applies) |
|
|
253
|
+
| `--clear-cache` | Changed files, but ignore cache |
|
|
254
|
+
| `--ignore-git --clear-cache` | Complete fresh run of all files |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
# JS/TS Quality Tools
|
|
259
|
+
|
|
260
|
+
## Detection
|
|
261
|
+
|
|
262
|
+
Check `package.json` for available tools:
|
|
263
|
+
|
|
264
|
+
| Indicator | Tool |
|
|
265
|
+
|---------------------------------------|---------------------------------------------------------------|
|
|
266
|
+
| `@biomejs/biome` in devDependencies | **Biome** — linting + formatting |
|
|
267
|
+
| `typescript` in devDependencies | **TypeScript** — type checking |
|
|
268
|
+
| `jest` or `vitest` in devDependencies | **Test runner** |
|
|
269
|
+
| `eslint` in devDependencies | **ESLint** — legacy linting (check if Biome replaces it) |
|
|
270
|
+
| `prettier` in devDependencies | **Prettier** — legacy formatting (check if Biome replaces it) |
|
|
271
|
+
|
|
272
|
+
## Biome — Linting + Formatting
|
|
273
|
+
|
|
274
|
+
Biome replaces ESLint + Prettier in one tool.
|
|
275
|
+
|
|
276
|
+
### Config
|
|
277
|
+
|
|
278
|
+
- Config file: `biome.json` or `biome.jsonc`
|
|
279
|
+
- Includes formatter settings (indent style, line width, trailing commas)
|
|
280
|
+
- Includes linter rules (recommended + custom overrides)
|
|
281
|
+
- Includes import sorting (via `assist.actions.source.organizeImports`)
|
|
282
|
+
|
|
283
|
+
### Commands
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Check (dry-run) — shows errors without fixing
|
|
287
|
+
npx biome check .
|
|
288
|
+
|
|
289
|
+
# Fix — auto-fix all fixable issues (formatting + linting + imports)
|
|
290
|
+
npx biome check --write .
|
|
291
|
+
|
|
292
|
+
# Format only
|
|
293
|
+
npx biome format --write .
|
|
294
|
+
|
|
295
|
+
# Lint only
|
|
296
|
+
npx biome lint .
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Via npm scripts (preferred)
|
|
300
|
+
|
|
301
|
+
Check `package.json` scripts — projects typically define:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
npm run biome # Check (dry-run)
|
|
305
|
+
npm run biome:fix # Auto-fix
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Always prefer npm scripts over raw `npx` commands when they exist.
|
|
309
|
+
|
|
310
|
+
## TypeScript — Type Checking
|
|
311
|
+
|
|
312
|
+
### Commands
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
# Type check without emitting files
|
|
316
|
+
npx tsc --noEmit
|
|
317
|
+
|
|
318
|
+
# Via npm script (preferred)
|
|
319
|
+
npm run tscheck
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Config
|
|
323
|
+
|
|
324
|
+
- Config file: `tsconfig.json` (may have `tsconfig.app.json`, `tsconfig.node.json` for different targets)
|
|
325
|
+
- `strict: true` should be enabled in all projects
|
|
326
|
+
- Check `compilerOptions.paths` for import aliases
|
|
327
|
+
|
|
328
|
+
## Jest / Vitest — Testing
|
|
329
|
+
|
|
330
|
+
### Commands
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
# Run all tests
|
|
334
|
+
npm test
|
|
335
|
+
|
|
336
|
+
# Run specific test file
|
|
337
|
+
npx jest path/to/test.spec.ts
|
|
338
|
+
|
|
339
|
+
# Run with coverage
|
|
340
|
+
npx jest --coverage
|
|
341
|
+
|
|
342
|
+
# Watch mode
|
|
343
|
+
npx jest --watch
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
## JS/TS Quality Workflow
|
|
347
|
+
|
|
348
|
+
After JS/TS code changes, run this sequence:
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
1. npx biome check --write . → Auto-fix formatting + linting
|
|
352
|
+
2. npx tsc --noEmit → Verify type safety
|
|
353
|
+
3. npm test → Run test suite
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Or via npm scripts:
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
1. npm run biome:fix → Auto-fix
|
|
360
|
+
2. npm run tscheck → Type check
|
|
361
|
+
3. npm test → Tests
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
If step 2 finds type errors → fix them in code, then re-run step 1 (Biome may reformat).
|
|
365
|
+
|
|
366
|
+
## Execution environment
|
|
367
|
+
|
|
368
|
+
### PHP tools
|
|
369
|
+
|
|
370
|
+
All PHP commands run **inside the Docker container** (`make console` or `docker compose exec`).
|
|
371
|
+
|
|
372
|
+
### JS/TS tools
|
|
373
|
+
|
|
374
|
+
JS/TS commands run on the **host** or in a **Node container**, depending on the project setup:
|
|
375
|
+
|
|
376
|
+
1. Check if a `Makefile` / `Taskfile.yml` has targets for linting/testing.
|
|
377
|
+
2. Check if `docker-compose.yml` has a Node service.
|
|
378
|
+
3. If neither → run on the host directly.
|
|
379
|
+
|
|
380
|
+
## Output format
|
|
381
|
+
|
|
382
|
+
1. Tool exit code and error count summary
|
|
383
|
+
2. Fixed issues or remaining errors to address
|
|
384
|
+
|
|
385
|
+
## Auto-trigger keywords
|
|
386
|
+
|
|
387
|
+
- quality check
|
|
388
|
+
- quality fix
|
|
389
|
+
- PHPStan
|
|
390
|
+
- Rector
|
|
391
|
+
- ECS
|
|
392
|
+
- code style
|
|
393
|
+
- lint
|
|
394
|
+
- Biome
|
|
395
|
+
- type check
|
|
396
|
+
- tscheck
|
|
397
|
+
|
|
398
|
+
## Gotcha
|
|
399
|
+
|
|
400
|
+
- Always check exit code first — if 0, don't read output (saves tokens).
|
|
401
|
+
- Rector + ECS can introduce PHPStan errors — always re-run PHPStan after fixing.
|
|
402
|
+
- A project-specific `quality:*` wrapper may expose different flags than the native tools — check the project's wrapper before assuming flags.
|
|
403
|
+
- Docker commands need `-T` flag to avoid TTY issues in non-interactive mode.
|
|
404
|
+
|
|
405
|
+
## Do NOT
|
|
406
|
+
|
|
407
|
+
- Do NOT run `vendor/bin/phpstan` or `vendor/bin/ecs` directly — use the wrapper.
|
|
408
|
+
- Do NOT manually edit `phpstan-baseline.neon` — it's auto-managed.
|
|
409
|
+
- Do NOT skip type checking (`tsc --noEmit`) for TypeScript projects.
|
|
410
|
+
- Do NOT run Biome without `--write` if the intent is to fix (otherwise it's dry-run only).
|
|
411
|
+
- Do NOT mix ESLint + Biome in the same project — check which one is active.
|