@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,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: "Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Commit Conventions
|
|
9
|
+
|
|
10
|
+
All commit messages and squash/merge titles follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
|
11
|
+
|
|
12
|
+
## Format
|
|
13
|
+
|
|
14
|
+
- With scope: `<type>(<scope>): <description>`
|
|
15
|
+
- Without scope: `<type>: <description>`
|
|
16
|
+
- Always English. Imperative mood. Max 72 chars first line.
|
|
17
|
+
|
|
18
|
+
## Types
|
|
19
|
+
|
|
20
|
+
| Type | When |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `feat` | New user-facing functionality |
|
|
23
|
+
| `fix` | Bug fix |
|
|
24
|
+
| `refactor` | Structure change, no behavior change |
|
|
25
|
+
| `docs` | Documentation only |
|
|
26
|
+
| `test` | Tests only |
|
|
27
|
+
| `chore` | Maintenance, deps, cleanup |
|
|
28
|
+
| `ci` | CI/CD, workflows |
|
|
29
|
+
| `style` | Formatting only |
|
|
30
|
+
| `perf` | Performance improvement |
|
|
31
|
+
| `build` | Build tooling, packaging |
|
|
32
|
+
|
|
33
|
+
## Scope
|
|
34
|
+
|
|
35
|
+
- Jira ticket ID when branch has one: `DEV-1234`
|
|
36
|
+
- Otherwise short area name: `api`, `auth`, `skills`
|
|
37
|
+
- Optional — only add when it improves clarity.
|
|
38
|
+
|
|
39
|
+
## Breaking changes
|
|
40
|
+
|
|
41
|
+
Mark with `!` or `BREAKING CHANGE:` footer:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
feat(api)!: rename invoice status values
|
|
45
|
+
refactor(auth)!: remove legacy session flow
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Commit splitting
|
|
49
|
+
|
|
50
|
+
Mixed concerns → split into multiple commits. Don't hide unrelated changes in one.
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
feat(DEV-1234): add absence type filter to working time report
|
|
56
|
+
fix(DEV-1234): handle null value in equipment import
|
|
57
|
+
test(DEV-1234): add component test for working time controller
|
|
58
|
+
refactor: extract user sync logic into dedicated service
|
|
59
|
+
chore: update PHP quality package to 2.1.0
|
|
60
|
+
ci(lint): add skill-lint workflow
|
|
61
|
+
docs(roadmap): add phase 3 implementation plan
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
→ Type selection rules, anti-patterns, decision checklist: `guidelines/php/git.md`
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "always"
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
description: "3-failure rule for debugging and fixing errors — stop after 3 consecutive failed attempts, dump state, and recommend a fresh session"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Context Hygiene
|
|
9
|
+
|
|
10
|
+
## Conversation Freshness
|
|
11
|
+
|
|
12
|
+
Monitor for **context decay** — long conversations degrade quality and waste tokens.
|
|
13
|
+
|
|
14
|
+
**Suggest a new chat when:**
|
|
15
|
+
|
|
16
|
+
- Conversation exceeds **~20 user messages**
|
|
17
|
+
- Topic **changes completely**
|
|
18
|
+
- Re-reading files already in context
|
|
19
|
+
- **15+ completed tasks** and new unrelated topic
|
|
20
|
+
- Branch changed since start
|
|
21
|
+
- ~24 hours passed
|
|
22
|
+
|
|
23
|
+
**Repeat** at multiples: messages 20/40/60, tasks 15/30/45.
|
|
24
|
+
**ONLY at exact thresholds.** Between: silence.
|
|
25
|
+
|
|
26
|
+
**How to suggest:**
|
|
27
|
+
|
|
28
|
+
Estimate token cost: responses × ~1,500 tokens.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
> ⚡ This conversation has ~{N} messages (~{N×1500} tokens history cost — charged on EVERY request).
|
|
32
|
+
> A fresh chat saves ~{N×1500} input tokens per request.
|
|
33
|
+
>
|
|
34
|
+
> 1. Start fresh — I'll initiate a session handoff
|
|
35
|
+
> 2. Continue here
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**If the user picks 1:** Initiate a session handoff or start fresh.
|
|
39
|
+
|
|
40
|
+
## The 3-Failure Rule
|
|
41
|
+
|
|
42
|
+
When **3 consecutive attempts** at the same task fail (code fix, test fix, config change, etc.):
|
|
43
|
+
|
|
44
|
+
1. **STOP** — do not attempt a 4th fix.
|
|
45
|
+
2. **State dump** — summarize what was tried, what failed, and what you know so far.
|
|
46
|
+
3. **Recommend fresh start** — suggest a fresh session with the state dump as context, or ask for a different approach.
|
|
47
|
+
|
|
48
|
+
**What counts as a failure:**
|
|
49
|
+
|
|
50
|
+
- Code change that doesn't fix the problem
|
|
51
|
+
- Test that still fails after the fix
|
|
52
|
+
- Quality check (PHPStan, ECS) that still errors
|
|
53
|
+
- Build/deploy that fails after config change
|
|
54
|
+
|
|
55
|
+
**Does NOT reset the counter:** Unrelated tasks. User providing new information (course correction).
|
|
56
|
+
|
|
57
|
+
## Tool Loop Detection
|
|
58
|
+
|
|
59
|
+
Calling the **same tool** more than **2 times in a row** with similar parameters = loop.
|
|
60
|
+
|
|
61
|
+
**Immediate action:**
|
|
62
|
+
1. **STOP** all tool calls.
|
|
63
|
+
2. **Do the task directly** — write the code, run the command, answer the question.
|
|
64
|
+
3. If you can't proceed — ask the user for help.
|
|
65
|
+
|
|
66
|
+
`sequentialthinking` is especially prone to loops. Use at most **once** per task,
|
|
67
|
+
NEVER for simple file operations, command execution, or straightforward edits.
|
|
68
|
+
|
|
69
|
+
## State dump format
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
## State Dump: [Task]
|
|
73
|
+
### Tried: 1. [Approach] → [Why failed] 2. ... 3. ...
|
|
74
|
+
### Known: [Key facts]
|
|
75
|
+
### Hypothesis: [Best guess for root cause]
|
|
76
|
+
### Recommendation: [Next approach for fresh session]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Use `/agent-handoff` to generate a context summary for a fresh conversation.
|
|
80
|
+
|
|
81
|
+
## Augment-specific: Ignored Skills Recovery
|
|
82
|
+
|
|
83
|
+
Skills excluded via `.augmentignore` don't appear in `<available_skills>`.
|
|
84
|
+
If you need an ignored skill: read its SKILL.md directly, apply guidance, then ask:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
> 💡 I loaded `{name}` manually — currently ignored in `.augmentignore`.
|
|
88
|
+
> 1. Remove from ignore — relevant for this project
|
|
89
|
+
> 2. Keep ignored — one-off
|
|
90
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: "Running PHP commands inside Docker containers — artisan, composer, phpstan, rector, ecs, phpunit, tests, migrations, and any CLI tool execution"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Docker Container Commands
|
|
9
|
+
|
|
10
|
+
All PHP commands (PHPStan, Rector, Composer, PHPUnit, Artisan) must be executed **inside the Docker container**, not on the host.
|
|
11
|
+
|
|
12
|
+
## Container Detection
|
|
13
|
+
|
|
14
|
+
Detect the correct PHP container service name from `docker-compose.yml` / `compose.yaml`.
|
|
15
|
+
Read the compose file to find the PHP service name — it varies per project.
|
|
16
|
+
|
|
17
|
+
Use `docker compose exec -T <service> ...` for non-interactive commands (scripts, CI).
|
|
18
|
+
Use `make console` to enter the container interactively (if available).
|
|
19
|
+
|
|
20
|
+
## Tooling Detection
|
|
21
|
+
|
|
22
|
+
Check if `artisan` exists in the project root:
|
|
23
|
+
|
|
24
|
+
- **Laravel** (`artisan` exists): `php artisan test`, `vendor/bin/phpstan analyse`, `vendor/bin/rector process`
|
|
25
|
+
- **Composer** (no `artisan`): `vendor/bin/phpunit`, `vendor/bin/phpstan analyse`, `vendor/bin/rector process`
|
|
26
|
+
|
|
27
|
+
## Examples (Laravel project)
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
docker compose exec -T <php-service> vendor/bin/phpstan analyse
|
|
31
|
+
docker compose exec -T <php-service> vendor/bin/rector process
|
|
32
|
+
docker compose exec -T <php-service> vendor/bin/ecs check --fix
|
|
33
|
+
docker compose exec -T <php-service> php artisan test
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Examples (Composer project)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
docker compose exec -T <php-service> vendor/bin/phpstan analyse
|
|
40
|
+
docker compose exec -T <php-service> vendor/bin/rector process
|
|
41
|
+
docker compose exec -T <php-service> vendor/bin/ecs check --fix
|
|
42
|
+
docker compose exec -T <php-service> vendor/bin/phpunit
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Build / Task Runner
|
|
46
|
+
|
|
47
|
+
Before using raw `docker compose exec` commands, check if a `Makefile` or `Taskfile.yml` exists.
|
|
48
|
+
These often provide convenient shortcuts for common operations:
|
|
49
|
+
|
|
50
|
+
- `Makefile` → `make console`, `make test`, `make phpstan`, etc.
|
|
51
|
+
- `Taskfile.yml` → `task console`, `task test`, `task phpstan`, etc.
|
|
52
|
+
|
|
53
|
+
**Always read the Makefile/Taskfile first** to discover available targets.
|
|
54
|
+
|
|
55
|
+
Frontend commands (npm, webpack) run on the host or in the node container.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Keeping .augment/ contexts, counts, and cross-references in sync when creating, renaming, or deleting skills, commands, rules, guidelines, templates, or any agent infrastructure files"
|
|
4
|
+
source: package
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Docs Sync
|
|
8
|
+
|
|
9
|
+
## Rule
|
|
10
|
+
|
|
11
|
+
**CRITICAL — ZERO TOLERANCE:** When a file in `.augment/` is **created, renamed, or deleted**,
|
|
12
|
+
or its **name, description, scope, or counts change**, all related files **must be updated
|
|
13
|
+
in the same response** — not later, not in a follow-up, not when reminded.
|
|
14
|
+
|
|
15
|
+
A new rule/skill/command without its index entry, count update, and context update is **incomplete work**.
|
|
16
|
+
|
|
17
|
+
**Mandatory sequence when creating/deleting any `.augment/` file:**
|
|
18
|
+
1. Create/delete the file
|
|
19
|
+
2. **Immediately** update `contexts/augment-infrastructure.md` (counts + category tables)
|
|
20
|
+
3. Check cross-references in contexts and routing hints (inline "see X skill" references)
|
|
21
|
+
|
|
22
|
+
Steps 2–3 are NOT optional. Do NOT present the result to the user until all steps are done.
|
|
23
|
+
|
|
24
|
+
**Two modes:**
|
|
25
|
+
- **Reactive** (automatic): Triggered by add/remove/rename or scope/description/count changes → sync counts, contexts, cross-references.
|
|
26
|
+
- **Proactive** (on demand): Full audit → find duplicates, thin skills, redundancy, stale content → fix or merge. Ask before destructive actions.
|
|
27
|
+
|
|
28
|
+
## What to update
|
|
29
|
+
|
|
30
|
+
When a file is **added, removed, or renamed**:
|
|
31
|
+
|
|
32
|
+
| Change | Files to update |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Skill/command/rule count changes | `contexts/augment-infrastructure.md` (count + category table) |
|
|
35
|
+
| New skill category | `contexts/augment-infrastructure.md` + `contexts/skills-and-commands.md` |
|
|
36
|
+
| New workflow chain | `contexts/skills-and-commands.md` (workflow chains section) |
|
|
37
|
+
|
|
38
|
+
## Cross-reference updates
|
|
39
|
+
|
|
40
|
+
When a skill is **added or its scope changes**, check and update:
|
|
41
|
+
|
|
42
|
+
| What | Where to check |
|
|
43
|
+
|---|---|
|
|
44
|
+
| Inline routing hints | "see X skill" or "use X instead" references in other skills |
|
|
45
|
+
| Guideline cross-references | Guidelines that reference the changed skill |
|
|
46
|
+
| Command skill references | Commands that use the changed skill |
|
|
47
|
+
|
|
48
|
+
## Settings template sync
|
|
49
|
+
|
|
50
|
+
When skill/rule/command reads new setting from `.agent-settings.yml` not in `templates/agent-settings.md`:
|
|
51
|
+
|
|
52
|
+
1. Add key with default to template
|
|
53
|
+
2. Add row to Settings Reference table
|
|
54
|
+
3. Add comment above key explaining it
|
|
55
|
+
4. **Update local `.agent-settings.yml`** — add new key with default, preserve existing values,
|
|
56
|
+
apply template order and comments. Same behavior as `/config-agent-settings`, inline.
|
|
57
|
+
|
|
58
|
+
**Mandatory** — without step 4, user can't discover new settings exist.
|
|
59
|
+
|
|
60
|
+
## Content consistency
|
|
61
|
+
|
|
62
|
+
**CRITICAL — MANDATORY CHECK:** When a rule, skill, or guideline's **content** is changed
|
|
63
|
+
(not just metadata), you MUST search for **all other rules, skills, and guidelines that cover
|
|
64
|
+
the same topic** and verify they are consistent.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
grep -rl "TOPIC" .augment/rules/ .augment/skills/ .augment/guidelines/ --include="*.md"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If any file contradicts or is missing the updated information → **update it in the same response**.
|
|
71
|
+
Inconsistent documentation is worse than no documentation.
|
|
72
|
+
|
|
73
|
+
## Do NOT
|
|
74
|
+
|
|
75
|
+
- Do NOT rewrite entire files — only update the affected entries.
|
|
76
|
+
- Do NOT ask the user for permission — this is an automatic maintenance step, like updating imports.
|
|
77
|
+
- Do NOT skip cross-reference updates — stale links are worse than no links.
|
|
78
|
+
- Do NOT present a new `.augment/` file to the user without having completed all sync steps first.
|
|
79
|
+
- Do NOT defer sync to a "follow-up" — it must happen in the same response as the creation/deletion.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: "After EVERY code edit, find ALL downstream changes needed to existing files, including callers, tests, imports, types, and documentation"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Downstream Changes
|
|
9
|
+
|
|
10
|
+
## Rule
|
|
11
|
+
|
|
12
|
+
After EVERY code edit, find **ALL downstream changes** needed. Missing a caller, a test,
|
|
13
|
+
or an import is a critical failure — it leaves the codebase in a broken state.
|
|
14
|
+
|
|
15
|
+
## What to check
|
|
16
|
+
|
|
17
|
+
After editing any file, search for **all** of these:
|
|
18
|
+
|
|
19
|
+
| What | How to find | What to update |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **Callers / call sites** | `codebase-retrieval` + `grep` for the changed method/class name | Update signatures, parameters, return type handling |
|
|
22
|
+
| **Interface implementations** | Search for `implements {Interface}` or `extends {Class}` | Match new method signatures in all implementations |
|
|
23
|
+
| **Subclasses** | Search for `extends {Class}` | Override or implement changed methods |
|
|
24
|
+
| **Tests** | Search test directories for the changed class/method name | Update assertions, mocks, method calls |
|
|
25
|
+
| **Imports / use statements** | Search for `use {Old\Namespace}` | Update to new namespace after moves/renames |
|
|
26
|
+
| **Type definitions** | Search for type hints referencing the changed class | Update parameter types, return types, PHPDoc |
|
|
27
|
+
| **Config / bindings** | Search service providers, config files | Update class references in DI bindings |
|
|
28
|
+
| **API schemas / OpenAPI** | Check controller attributes | Update if response structure changed |
|
|
29
|
+
| **Routes** | Search `routes/` for controller references | Update after controller rename/move |
|
|
30
|
+
| **Documentation** | Search `agents/`, `docs/` for references | Update if behavior or API changed |
|
|
31
|
+
|
|
32
|
+
## Breaking changes
|
|
33
|
+
|
|
34
|
+
Before making a change that affects a **public API** (endpoint response, service method signature,
|
|
35
|
+
event payload, job constructor), assess the impact:
|
|
36
|
+
|
|
37
|
+
### Always ask the user first when:
|
|
38
|
+
|
|
39
|
+
- Removing or renaming a public method/class
|
|
40
|
+
- Changing a method signature (new required params, changed return type)
|
|
41
|
+
- Changing an API response structure (new/removed fields, changed types)
|
|
42
|
+
- Removing a database column or table
|
|
43
|
+
- Changing an event payload that listeners depend on
|
|
44
|
+
- Renaming a route name that the frontend uses
|
|
45
|
+
|
|
46
|
+
### Proceed without asking when:
|
|
47
|
+
|
|
48
|
+
- Adding a new optional parameter with a default value
|
|
49
|
+
- Adding a new method (doesn't break existing callers)
|
|
50
|
+
- Adding a new field to an API response (additive, non-breaking)
|
|
51
|
+
- Internal refactoring that doesn't change the public interface
|
|
52
|
+
- Fixing a bug (the current behavior is wrong)
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
After completing all downstream changes:
|
|
57
|
+
|
|
58
|
+
1. **No broken imports** — `php -l` or PHPStan catches these
|
|
59
|
+
2. **No broken tests** — run the test suite
|
|
60
|
+
3. **No broken types** — PHPStan Level 9 catches signature mismatches
|
|
61
|
+
4. **No stale references** — grep for the old name/namespace to confirm zero results
|
|
62
|
+
|
|
63
|
+
## The iron law
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Every edit is incomplete until all downstream changes are made.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Do NOT move on to the next task, claim completion, or suggest committing
|
|
70
|
+
until every caller, test, import, and reference is updated.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
description: "Playwright E2E tests — locators, assertions, Page Objects, fixtures, CI, and flaky test prevention"
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# E2E Testing
|
|
9
|
+
|
|
10
|
+
## Before writing E2E tests
|
|
11
|
+
|
|
12
|
+
1. **Read the guideline** — `.augment/guidelines/e2e/playwright.md` for all conventions and patterns.
|
|
13
|
+
2. **Check existing tests** — match the project's structure, fixtures, and Page Object patterns.
|
|
14
|
+
3. **Check `playwright.config.ts`** — base URL, browsers, timeouts, projects.
|
|
15
|
+
|
|
16
|
+
## Locator rules
|
|
17
|
+
|
|
18
|
+
- **Always prefer semantic locators**: `getByRole` > `getByLabel` > `getByText` > `getByTestId` > CSS.
|
|
19
|
+
- Never use auto-generated class names, dynamic IDs, or XPath.
|
|
20
|
+
- If no semantic locator works, add a `data-testid` to the component.
|
|
21
|
+
|
|
22
|
+
## Assertion rules
|
|
23
|
+
|
|
24
|
+
- **Always use web-first assertions** (`toBeVisible`, `toHaveText`, `toHaveURL`).
|
|
25
|
+
- Never use `expect(await ...)` pattern — it doesn't auto-retry.
|
|
26
|
+
- Never use `page.waitForTimeout()` — wait for a condition instead.
|
|
27
|
+
|
|
28
|
+
## Test structure rules
|
|
29
|
+
|
|
30
|
+
- One test = one user workflow or behavior.
|
|
31
|
+
- Tests must be **fully isolated** — no shared state, no execution order dependency.
|
|
32
|
+
- Page Objects contain **actions only**, never assertions.
|
|
33
|
+
- Use **fixtures** for reusable setup (auth, page objects, test data).
|
|
34
|
+
- Use **API calls** for test data setup — faster and more reliable than UI interactions.
|
|
35
|
+
|
|
36
|
+
## CI rules
|
|
37
|
+
|
|
38
|
+
- Set `workers: 1` in CI for stability.
|
|
39
|
+
- Set `retries: 2` in CI, `0` locally.
|
|
40
|
+
- Set `forbidOnly: !!process.env.CI` to prevent `.only` in CI.
|
|
41
|
+
- Collect `trace: 'on-first-retry'` — not on every run.
|
|
42
|
+
- Only install browsers you need (`npx playwright install chromium --with-deps`).
|
|
43
|
+
- Upload `playwright-report/` as CI artifact.
|
|
44
|
+
|
|
45
|
+
## Quality checks
|
|
46
|
+
|
|
47
|
+
Before claiming E2E tests are complete:
|
|
48
|
+
|
|
49
|
+
1. All tests pass locally: `npx playwright test`
|
|
50
|
+
2. No `waitForTimeout` calls in the code.
|
|
51
|
+
3. No CSS/XPath selectors where semantic locators work.
|
|
52
|
+
4. No `.only` left in test files.
|
|
53
|
+
5. Page Objects have no assertions.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Writing or reviewing code — check relevant guideline before writing or reviewing code"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Guidelines
|
|
9
|
+
|
|
10
|
+
Coding guidelines live in `.augment/guidelines/` organized by language.
|
|
11
|
+
**Always check the relevant guideline** before writing or reviewing code.
|
|
12
|
+
|
|
13
|
+
## Available Guidelines
|
|
14
|
+
|
|
15
|
+
### PHP (`.augment/guidelines/php/`)
|
|
16
|
+
|
|
17
|
+
| File | Topic |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `php.md` | General PHP style — strict types, naming, comparisons, early returns, JSON handling |
|
|
20
|
+
| `controllers.md` | Thin controllers, single responsibility, delegation to services |
|
|
21
|
+
| `eloquent.md` | Model conventions, relationships, scopes, accessors/mutators |
|
|
22
|
+
| `validations.md` | FormRequest patterns, custom rules, validation structure |
|
|
23
|
+
| `resources.md` | API Resource conventions, response structure |
|
|
24
|
+
| `jobs.md` | Queue job patterns, serialization, retry strategies |
|
|
25
|
+
| `git.md` | Branch naming, commit messages, PR conventions |
|
|
26
|
+
| `api-design.md` | API conventions — response format, status codes, pagination, error handling |
|
|
27
|
+
| `artisan-commands.md` | Console command conventions — naming, structure, safety, scheduling |
|
|
28
|
+
| `blade-ui.md` | Blade template conventions — views, components, forms, escaping |
|
|
29
|
+
| `database.md` | Database conventions — indexing, query optimization, migrations, transactions |
|
|
30
|
+
| `flux.md` | Flux UI component conventions — usage, variants, forms, Livewire integration |
|
|
31
|
+
| `livewire.md` | Livewire component conventions — state, actions, forms, performance, Alpine.js |
|
|
32
|
+
| `logging.md` | Logging conventions — levels, structured context, Sentry patterns |
|
|
33
|
+
| `naming.md` | Naming conventions — classes, database, routes, variables, modules, agent infra |
|
|
34
|
+
| `performance.md` | Performance conventions — caching, Redis, eager loading, response time targets |
|
|
35
|
+
| `security.md` | Security conventions — auth, authorization, SQL injection, XSS, CSRF, headers |
|
|
36
|
+
| `sql.md` | Raw SQL conventions — parameterization, MariaDB syntax, common mistakes |
|
|
37
|
+
| `websocket.md` | WebSocket conventions — Broadcasting, channel types, connection management |
|
|
38
|
+
| `patterns.md` | Design patterns index (links to `patterns/` subdirectory) |
|
|
39
|
+
|
|
40
|
+
### PHP Patterns (`.augment/guidelines/php/patterns/`)
|
|
41
|
+
|
|
42
|
+
| File | Pattern |
|
|
43
|
+
|---|---|
|
|
44
|
+
| `service-layer.md` | Service classes, business logic encapsulation |
|
|
45
|
+
| `repositories.md` | Repository pattern, query encapsulation |
|
|
46
|
+
| `dtos.md` | Data Transfer Objects, SimpleDto conventions |
|
|
47
|
+
| `dependency-injection.md` | Constructor injection, service container |
|
|
48
|
+
| `events.md` | Event/Listener patterns, dispatching |
|
|
49
|
+
| `policies.md` | Authorization policies, gate definitions |
|
|
50
|
+
| `factory.md` | Factory pattern usage |
|
|
51
|
+
| `pipelines.md` | Laravel Pipeline pattern |
|
|
52
|
+
| `strategy.md` | Strategy pattern implementation |
|
|
53
|
+
|
|
54
|
+
### E2E (`.augment/guidelines/e2e/`)
|
|
55
|
+
|
|
56
|
+
Playwright best practices, Page Objects, fixtures, CI.
|
|
57
|
+
|
|
58
|
+
### Agent Infrastructure (`.augment/guidelines/agent-infra/`)
|
|
59
|
+
|
|
60
|
+
| File | Topic |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `size-and-scope.md` | Size limits and scope boundaries for rules, skills, commands, guidelines, AGENTS.md, copilot-instructions.md |
|
|
63
|
+
| `output-patterns.md` | Redirect/Summarize/Target pattern, targeted operations, tool-first policy, general CLI rules |
|
|
64
|
+
|
|
65
|
+
## How guidelines work
|
|
66
|
+
|
|
67
|
+
- **Guidelines** = detailed coding conventions (reference material, read on demand)
|
|
68
|
+
- **Rules** = always-active behavior constraints (auto-loaded every conversation)
|
|
69
|
+
- **Skills** = agent capabilities and workflows (matched by topic)
|
|
70
|
+
|
|
71
|
+
Guidelines are the "how to write code" docs. Rules enforce critical subsets automatically.
|
|
72
|
+
Skills reference guidelines when performing related tasks.
|
|
73
|
+
|
|
74
|
+
## Boundary: Guidelines vs Skills
|
|
75
|
+
|
|
76
|
+
- Guidelines contain **conventions and reference knowledge**. Skills contain **executable workflows**.
|
|
77
|
+
- A skill may reference a guideline for conventions, but must NOT outsource its core execution steps to a guideline.
|
|
78
|
+
- Do NOT move a skill's operational core (procedure, validation, decision logic) into a guideline.
|
|
79
|
+
- If a skill becomes "go read the guideline", it has lost its purpose — restore the workflow.
|
|
80
|
+
|
|
81
|
+
## Adding new guidelines
|
|
82
|
+
|
|
83
|
+
When a new language or framework is introduced, create a directory:
|
|
84
|
+
```
|
|
85
|
+
.augment/guidelines/{language}/
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Follow the existing PHP structure as a template.
|
|
89
|
+
|
|
90
|
+
Read the specific guideline file on demand — don't memorize the full list.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
description: "Before implementing features or architectural changes — validate the request against existing code, challenge weak requirements, and suggest improvements"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
source: package
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Improve Before Implement
|
|
9
|
+
|
|
10
|
+
## When to activate
|
|
11
|
+
|
|
12
|
+
Before implementing:
|
|
13
|
+
|
|
14
|
+
- New features
|
|
15
|
+
- Refactoring or architectural changes
|
|
16
|
+
- Module or service creation
|
|
17
|
+
- Significant code changes that alter behavior
|
|
18
|
+
|
|
19
|
+
**Does NOT activate for:**
|
|
20
|
+
|
|
21
|
+
- Bug fixes (the problem is already defined)
|
|
22
|
+
- Config changes, documentation, quality fixes
|
|
23
|
+
- Tasks where the user said "just do it" or "skip validation"
|
|
24
|
+
- Trivial changes (rename, typo, formatting)
|
|
25
|
+
|
|
26
|
+
## What to check
|
|
27
|
+
|
|
28
|
+
Before coding, quickly verify:
|
|
29
|
+
|
|
30
|
+
### 1. Is the request clear?
|
|
31
|
+
|
|
32
|
+
- Are acceptance criteria defined or derivable?
|
|
33
|
+
- Is the scope bounded? (not "make it better" but "add X to Y")
|
|
34
|
+
- Are edge cases considered?
|
|
35
|
+
|
|
36
|
+
**If unclear** → ask ONE focused question. Max 2 questions, never an interrogation.
|
|
37
|
+
|
|
38
|
+
### 2. Does it fit the existing architecture?
|
|
39
|
+
|
|
40
|
+
- Does similar functionality already exist?
|
|
41
|
+
- Does it follow established patterns in the codebase?
|
|
42
|
+
- Does it contradict existing conventions?
|
|
43
|
+
|
|
44
|
+
**If misfit** → show evidence (file references), propose alternative.
|
|
45
|
+
|
|
46
|
+
### 3. Is the approach sound?
|
|
47
|
+
|
|
48
|
+
- Is there a simpler way to achieve the same result?
|
|
49
|
+
- Are there known problems with the requested approach?
|
|
50
|
+
- Does the scope match the stated goal? (not over-engineered, not under-specified)
|
|
51
|
+
|
|
52
|
+
**If problematic** → explain the concern, propose a better approach.
|
|
53
|
+
|
|
54
|
+
## How to challenge
|
|
55
|
+
|
|
56
|
+
- **Be concise** — one sentence per concern, not paragraphs
|
|
57
|
+
- **Show evidence** — reference existing code, patterns, or conventions
|
|
58
|
+
- **Offer alternatives** — don't just say "this is wrong"
|
|
59
|
+
- **Use numbered options** — let the user choose quickly
|
|
60
|
+
- **Respect "just do it"** — if the user insists after your challenge, execute immediately
|
|
61
|
+
|
|
62
|
+
Example:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
> ⚠️ `UserService` already has a `deactivate()` method that covers this case.
|
|
66
|
+
>
|
|
67
|
+
> 1. Use existing method — extend with new parameter
|
|
68
|
+
> 2. Create new method anyway — I'll explain the overlap in a comment
|
|
69
|
+
> 3. Skip validation — implement as requested
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## The golden rule
|
|
73
|
+
|
|
74
|
+
**Challenge to improve, never to refuse.**
|
|
75
|
+
|
|
76
|
+
The agent is a thought partner, not a gatekeeper. After presenting concerns:
|
|
77
|
+
- User picks an option → execute immediately
|
|
78
|
+
- User says "just do it" → execute immediately
|
|
79
|
+
- Never argue twice about the same point
|
|
80
|
+
- Never block work — delay is only justified if it prevents a clear mistake
|
|
81
|
+
|
|
82
|
+
## Scope limits
|
|
83
|
+
|
|
84
|
+
- **Max 1-2 challenges per task** — not every request needs validation
|
|
85
|
+
- **Max 1 minute of analysis** — if the check takes longer, skip it
|
|
86
|
+
- **Never validate simple tasks** — only features, architecture, significant changes
|
|
87
|
+
- **Never validate after the user already explained their reasoning**
|
|
88
|
+
|
|
89
|
+
## Creating new agent artifacts
|
|
90
|
+
|
|
91
|
+
For skill/rule/command/guideline creation or major rewrite, the architecture-fit
|
|
92
|
+
check is handled by [`artifact-drafting-protocol`](artifact-drafting-protocol.md)
|
|
93
|
+
Phase B (Research) — scans `.agent-src.uncompressed/` for overlap before
|
|
94
|
+
creating a new file.
|