@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,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: threat-model
|
|
3
|
+
skills: [threat-modeling, authz-review, security-sensitive-stop]
|
|
4
|
+
description: Run a pre-implementation threat model on a proposed change — enumerates abuse cases, trust boundaries, and authorization gaps before the first line of code is written
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# threat-model
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
Produce a structured threat model for the proposed change **before any code
|
|
13
|
+
is written**. Dispatches to [`threat-modeling`](../skills/threat-modeling/SKILL.md)
|
|
14
|
+
for abuse-case and trust-boundary analysis, and to
|
|
15
|
+
[`authz-review`](../skills/authz-review/SKILL.md) whenever the change touches
|
|
16
|
+
authorization, tenancy, or identity.
|
|
17
|
+
|
|
18
|
+
### 1. Gather the context
|
|
19
|
+
|
|
20
|
+
Collect, from the user or from the current branch:
|
|
21
|
+
|
|
22
|
+
- **Change description** — what is being added or modified, in plain language
|
|
23
|
+
- **Entry points** — routes, commands, queue handlers, webhooks that receive
|
|
24
|
+
the input
|
|
25
|
+
- **Data touched** — tables, columns, storage, external APIs that are read
|
|
26
|
+
or written
|
|
27
|
+
- **Actor** — who invokes this (authenticated user, tenant-scoped user, admin,
|
|
28
|
+
anonymous, service account, cron)
|
|
29
|
+
|
|
30
|
+
If any of the four is missing, **ask the user** — do not guess. A threat model
|
|
31
|
+
built on assumed context is worse than no threat model.
|
|
32
|
+
|
|
33
|
+
### 2. Decide which skills to dispatch
|
|
34
|
+
|
|
35
|
+
| Change touches | Skills to run |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Any new or modified surface (default) | [`threat-modeling`](../skills/threat-modeling/SKILL.md) |
|
|
38
|
+
| Permission checks, tenancy, ownership, role logic | + [`authz-review`](../skills/authz-review/SKILL.md) |
|
|
39
|
+
| Secrets, tokens, credentials, signing keys | + [`security-audit`](../skills/security-audit/SKILL.md) |
|
|
40
|
+
|
|
41
|
+
`threat-modeling` is always mandatory. `authz-review` is mandatory when the
|
|
42
|
+
change crosses an authorization boundary — when in doubt, run it.
|
|
43
|
+
|
|
44
|
+
### 3. Dispatch mode
|
|
45
|
+
|
|
46
|
+
- **Sequential** (default) — `threat-modeling` first, then `authz-review` if
|
|
47
|
+
applicable. The authz findings often reference abuse cases from step 1.
|
|
48
|
+
- **Parallel** — allowed only if `subagents.max_parallel` ≥ 2 in
|
|
49
|
+
`.agent-settings.yml` and both skills are available as subagents. Merge their
|
|
50
|
+
reports in step 4.
|
|
51
|
+
|
|
52
|
+
Each skill produces its own structured output (abuse-case table, trust
|
|
53
|
+
boundary list, authorization matrix). Do not rewrite those blocks — pass
|
|
54
|
+
them through verbatim.
|
|
55
|
+
|
|
56
|
+
### 4. Consolidate
|
|
57
|
+
|
|
58
|
+
Produce one combined report with these sections, in order:
|
|
59
|
+
|
|
60
|
+
1. **Change summary** — the four context items from step 1, restated as the
|
|
61
|
+
agent understood them
|
|
62
|
+
2. **Abuse cases** — from `threat-modeling`, severity-sorted (🔴 → 🟡 → 🟢)
|
|
63
|
+
3. **Trust boundaries** — entry points and what is trusted vs. untrusted at
|
|
64
|
+
each one
|
|
65
|
+
4. **Authorization findings** — from `authz-review` if it ran, else a single
|
|
66
|
+
line: `authz-review skipped — change does not cross an authorization boundary`
|
|
67
|
+
5. **Required controls** — the minimum set of validations, authorization
|
|
68
|
+
checks, logging, and negative tests that must exist before the change ships
|
|
69
|
+
6. **Open questions** — anything the skills flagged as uncertain and the user
|
|
70
|
+
must answer before implementation starts
|
|
71
|
+
|
|
72
|
+
### 5. Decide next step
|
|
73
|
+
|
|
74
|
+
After the report, ask:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
> 1. Looks right — proceed to implementation against this threat model
|
|
78
|
+
> 2. Something is wrong or missing — I'll revise the context and re-run
|
|
79
|
+
> 3. Stop here — threat model is the deliverable, no implementation yet
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- On **1**: hand off to the implementation flow (e.g., `feature-plan`,
|
|
83
|
+
`bug-fix`, or direct edit) with the required-controls list pinned
|
|
84
|
+
- On **2**: re-gather context and re-dispatch
|
|
85
|
+
- On **3**: save the report as the deliverable, stop
|
|
86
|
+
|
|
87
|
+
## Use this command when
|
|
88
|
+
|
|
89
|
+
- Starting a feature that touches authentication, authorization, tenancy,
|
|
90
|
+
secrets, external input, or sensitive data
|
|
91
|
+
- The [`security-sensitive-stop`](../rules/security-sensitive-stop.md) rule
|
|
92
|
+
fired and the user asks for the structured analysis
|
|
93
|
+
- A PR reviewer asks for a threat model as a prerequisite
|
|
94
|
+
- Before a change to a trust boundary (API endpoint, webhook, queue consumer,
|
|
95
|
+
middleware, policy)
|
|
96
|
+
|
|
97
|
+
## Do NOT
|
|
98
|
+
|
|
99
|
+
- NEVER skip `threat-modeling` — it is the entrypoint, not optional
|
|
100
|
+
- NEVER produce a threat model on guessed context — ask for the four items
|
|
101
|
+
in step 1 if any is missing
|
|
102
|
+
- NEVER merge `threat-modeling` and `authz-review` outputs into a single
|
|
103
|
+
block — each skill owns its format
|
|
104
|
+
- NEVER write production code in the same turn as this command — the
|
|
105
|
+
deliverable is the report; implementation is a separate step
|
|
106
|
+
- NEVER mark the change "safe" if any 🔴 abuse case has no control
|
|
107
|
+
|
|
108
|
+
## See also
|
|
109
|
+
|
|
110
|
+
- [`threat-modeling`](../skills/threat-modeling/SKILL.md) — abuse cases, trust boundaries
|
|
111
|
+
- [`authz-review`](../skills/authz-review/SKILL.md) — end-to-end authorization analysis
|
|
112
|
+
- [`data-flow-mapper`](../skills/data-flow-mapper/SKILL.md) — trace specific data through the change
|
|
113
|
+
- [`blast-radius-analyzer`](../skills/blast-radius-analyzer/SKILL.md) — enumerate affected call sites
|
|
114
|
+
- [`security-sensitive-stop`](../rules/security-sensitive-stop.md) — the trigger rule
|
|
115
|
+
- [`minimal-safe-diff`](../rules/minimal-safe-diff.md) — keep the implementation scoped
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: update-form-request-messages
|
|
3
|
+
skills: [laravel-validation]
|
|
4
|
+
description: Sync the messages() method of a FormRequest class — add missing entries, link them to language keys, and clean up stale ones
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# update-form-request-messages
|
|
9
|
+
|
|
10
|
+
## Trigger
|
|
11
|
+
|
|
12
|
+
`/update-form-request-messages [ClassName or file path]`
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Step 1: Resolve the FormRequest class
|
|
17
|
+
|
|
18
|
+
**If the user attached a file or mentioned a class name explicitly** → use it.
|
|
19
|
+
|
|
20
|
+
**Otherwise, ask:**
|
|
21
|
+
|
|
22
|
+
> Which FormRequest class should I update?
|
|
23
|
+
> Please provide the class name (e.g. `UpdateSuperUserRequest`), its namespace, or the file path.
|
|
24
|
+
|
|
25
|
+
Once provided, locate the file:
|
|
26
|
+
- Try `codebase-retrieval` or a `find` command to resolve the file path.
|
|
27
|
+
- If multiple matches exist, list them and ask the user to pick one (numbered options).
|
|
28
|
+
- If no match is found, tell the user and stop.
|
|
29
|
+
|
|
30
|
+
Read the full file content.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Step 2: Check for rules()
|
|
35
|
+
|
|
36
|
+
Scan the file for a `rules()` method.
|
|
37
|
+
|
|
38
|
+
- **If no `rules()` method exists** → inform the user:
|
|
39
|
+
|
|
40
|
+
> ⚠️ No `rules()` method found in `{ClassName}`. Nothing was changed.
|
|
41
|
+
|
|
42
|
+
Stop here.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 3: Parse rules()
|
|
47
|
+
|
|
48
|
+
Extract every `field → rules` pair from the `rules()` array.
|
|
49
|
+
|
|
50
|
+
For each field, collect all rules and resolve their **rule names**:
|
|
51
|
+
|
|
52
|
+
| Rule type | Example | Extracted name |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| String rule | `'required'` | `required` |
|
|
55
|
+
| String rule with arg | `'max:250'` | `max` |
|
|
56
|
+
| `Rule::` static call | `Rule::unique(...)` | `unique` |
|
|
57
|
+
| `Rule::` static call | `Rule::exists(...)` | `exists` |
|
|
58
|
+
| New object instance | `new Enum(...)` | `enum` (class basename, lowercased) |
|
|
59
|
+
| Closure / `fn()` | `function(...) {}` | **skip** — closures call `$fail()` themselves |
|
|
60
|
+
|
|
61
|
+
**Also skip these modifier rules** that never produce validation errors:
|
|
62
|
+
`nullable`, `sometimes`, `bail`
|
|
63
|
+
|
|
64
|
+
Build a flat list of `(field, rule_name)` pairs:
|
|
65
|
+
e.g. `[('username', 'required'), ('username', 'string'), ('username', 'unique'), ...]`
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 4: Determine the language key domain prefix
|
|
70
|
+
|
|
71
|
+
Derive the domain prefix from the class name:
|
|
72
|
+
1. Strip common verb prefixes: `Create`, `Update`, `Delete`, `List`, `Get`, `Send`, `Show`, `Store`, `Filter`, `Index`
|
|
73
|
+
2. Strip the `Request` suffix
|
|
74
|
+
3. Convert to `snake_case`
|
|
75
|
+
|
|
76
|
+
Example: `UpdateSuperUserRequest` → `SuperUser` → `super_user`
|
|
77
|
+
|
|
78
|
+
Present the result and ask to confirm:
|
|
79
|
+
|
|
80
|
+
> The language key prefix will be `{derived_prefix}` (e.g. `validation.{derived_prefix}.field.rule`).
|
|
81
|
+
> 1. Use `{derived_prefix}` ✓
|
|
82
|
+
> 2. Enter a different prefix
|
|
83
|
+
|
|
84
|
+
Wait for confirmation before continuing.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 5: Build the required message entries
|
|
89
|
+
|
|
90
|
+
For each `(field, rule_name)` pair:
|
|
91
|
+
|
|
92
|
+
- **messages() key:** `{field}.{rule_name}` (e.g. `'username.required'`)
|
|
93
|
+
- **Lang key:** `validation.{domain}.{field}.{rule_name}`
|
|
94
|
+
- Wildcard fields keep their notation: `recipients.*.user_id.required`
|
|
95
|
+
- Example: `validation.super_user.username.required`
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Step 6: Read existing messages() method (if any)
|
|
100
|
+
|
|
101
|
+
- If a `messages()` method exists, parse all its `key => __('...')` entries.
|
|
102
|
+
- Keep track of which `(field.rule_name)` keys are already covered.
|
|
103
|
+
- Note the lang key referenced in each existing `__('...')` call.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Step 7: Add missing message entries
|
|
108
|
+
|
|
109
|
+
For each required `(field, rule_name)` pair **not yet covered** by an existing messages() entry:
|
|
110
|
+
|
|
111
|
+
1. **Check if the lang key already exists** in both `lang/de/validation.php` and `lang/en/validation.php`.
|
|
112
|
+
2. If missing in either → generate a meaningful message:
|
|
113
|
+
- **English:** e.g. `'The email address is required.'` or `'The email address has already been taken.'`
|
|
114
|
+
- **German:** e.g. `'Die E-Mail-Adresse ist erforderlich.'` oder `'Diese E-Mail-Adresse ist bereits vergeben.'`
|
|
115
|
+
- Do **not** write `{field_label}` or `{rule_name}` literally into the lang file — replace them with the actual derived values.
|
|
116
|
+
- You may use Laravel's standard placeholders (`:attribute`, `:max`, `:min`, etc.) instead of embedding the label directly.
|
|
117
|
+
- Adapt the message text to fit the specific rule (e.g. `required` → "is required", `unique` → "has already been taken", `max` → "may not exceed :max characters")
|
|
118
|
+
- Use sensible human-readable field labels (derive from the field name: `snake_case` → "Title Case")
|
|
119
|
+
3. Add the new lang key to `lang/de/validation.php` and `lang/en/validation.php` following the flat dot-notation format from `laravel-translations` rule.
|
|
120
|
+
- If a domain section comment exists for `{domain}`, insert near it. Otherwise append at the end.
|
|
121
|
+
4. Add the entry to the `messages()` method: `'{field}.{rule_name}' => __('validation.{domain}.{field}.{rule_name}'),`
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Step 8: Clean up stale messages() entries
|
|
126
|
+
|
|
127
|
+
Find all keys in `messages()` where `{field}.{rule_name}` is **no longer valid**:
|
|
128
|
+
- The field no longer exists in `rules()`, OR
|
|
129
|
+
- The rule no longer applies to that field
|
|
130
|
+
|
|
131
|
+
For each stale entry:
|
|
132
|
+
1. Extract the lang key from the `__('...')` call.
|
|
133
|
+
2. **Search the relevant source directories** for that exact lang key string, excluding `vendor/` and `node_modules/` (e.g. `grep -r "validation.super_user.username.old_rule" app lang resources routes config`).
|
|
134
|
+
3. If the lang key is **used nowhere else** → remove it from both `lang/de/validation.php` and `lang/en/validation.php`.
|
|
135
|
+
4. Remove the stale key from `messages()`.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Step 9: Write the messages() method
|
|
140
|
+
|
|
141
|
+
If `messages()` did not exist → add it after `rules()`:
|
|
142
|
+
|
|
143
|
+
```php
|
|
144
|
+
/** @return array<string, string> */
|
|
145
|
+
public function messages(): array
|
|
146
|
+
{
|
|
147
|
+
return [
|
|
148
|
+
'{field}.{rule}' => __('validation.{domain}.{field}.{rule}'),
|
|
149
|
+
// ...
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
If it existed → update it in-place (keep existing entries that are still valid, add new ones, remove stale ones).
|
|
155
|
+
|
|
156
|
+
Keep any spread array entries (e.g. `...parent::messages()`) at the top of the array in their original order. Below them, sort only the keyed entries by field name, then rule name within the same field.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Step 10: Summary
|
|
161
|
+
|
|
162
|
+
Print a summary table of what changed:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
FormRequest: UpdateSuperUserRequest
|
|
166
|
+
|
|
167
|
+
ADDED TO messages():
|
|
168
|
+
username.required → validation.super_user.username.required
|
|
169
|
+
|
|
170
|
+
REMOVED FROM messages():
|
|
171
|
+
email.old_rule (lang key removed from both lang files)
|
|
172
|
+
|
|
173
|
+
UNCHANGED:
|
|
174
|
+
username.string, username.unique, ...
|
|
175
|
+
|
|
176
|
+
LANG FILES UPDATED:
|
|
177
|
+
lang/en/validation.php — +1 added, -1 removed
|
|
178
|
+
lang/de/validation.php — +1 added, -1 removed
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Rules
|
|
184
|
+
|
|
185
|
+
- **Never hardcode message strings** in the FormRequest — always use `__('validation.key')`.
|
|
186
|
+
- **Always update both** `lang/de/validation.php` AND `lang/en/validation.php`. One without the other is a bug.
|
|
187
|
+
- **Lang keys use flat dot-notation** — never nested arrays in lang files.
|
|
188
|
+
- **Do NOT commit or push.** Only apply local changes.
|
|
189
|
+
- **Do NOT remove lang keys** that are still referenced anywhere else in the codebase.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: upstream-contribute
|
|
3
|
+
skills: [upstream-contribute, skill-writing, learning-to-rule-or-skill]
|
|
4
|
+
description: Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /upstream-contribute
|
|
9
|
+
|
|
10
|
+
## Input
|
|
11
|
+
|
|
12
|
+
The user may provide:
|
|
13
|
+
|
|
14
|
+
- A file path to a new or improved skill/rule/command
|
|
15
|
+
- A description of what should be contributed
|
|
16
|
+
- Nothing (auto-detect from recent work)
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
### 1. Identify what to contribute
|
|
21
|
+
|
|
22
|
+
If the user provided a file path → read it.
|
|
23
|
+
If not → check for recent overrides or new skills:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
ls agents/overrides/ 2>/dev/null
|
|
27
|
+
find .augment/skills -name 'SKILL.md' -newer .augment/rules -maxdepth 3 2>/dev/null
|
|
28
|
+
git diff --name-only HEAD~5 -- agents/overrides/ .augment/skills/ 2>/dev/null
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Ask the user to confirm what should be contributed:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
> Found these candidates for upstream contribution:
|
|
35
|
+
>
|
|
36
|
+
> 1. {file1} — {brief description}
|
|
37
|
+
> 2. {file2} — {brief description}
|
|
38
|
+
> 3. Something else — I'll describe it
|
|
39
|
+
>
|
|
40
|
+
> Which one?
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 2. Check universality
|
|
44
|
+
|
|
45
|
+
Before proceeding, verify the content is package-worthy:
|
|
46
|
+
|
|
47
|
+
- [ ] No project-specific references (domain names, local paths, FQDNs, project-specific classes)
|
|
48
|
+
- [ ] Benefits ALL consumers, not just this project
|
|
49
|
+
- [ ] Learning occurred 2+ times OR is clearly generalizable
|
|
50
|
+
|
|
51
|
+
If project-specific content is found, ask:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
> ⚠️ Found project-specific references: {examples}
|
|
55
|
+
>
|
|
56
|
+
> 1. Remove them — make it universal
|
|
57
|
+
> 2. Cancel — keep as project-only override
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. Determine contribution type and target path
|
|
61
|
+
|
|
62
|
+
| Type | Uncompressed target | Compressed target |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| **Skill** | `.agent-src.uncompressed/skills/{name}/SKILL.md` | `.agent-src/skills/{name}/SKILL.md` |
|
|
65
|
+
| **Rule** | `.agent-src.uncompressed/rules/{name}.md` | `.agent-src/rules/{name}.md` |
|
|
66
|
+
| **Command** | `.agent-src.uncompressed/commands/{name}.md` | `.agent-src/commands/{name}.md` |
|
|
67
|
+
| **Guideline** | `.agent-src.uncompressed/guidelines/{cat}/{name}.md` | `.agent-src/guidelines/{cat}/{name}.md` |
|
|
68
|
+
|
|
69
|
+
### 4. Get access to the package repo
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
> I need to create files in the agent-config package repo.
|
|
73
|
+
>
|
|
74
|
+
> 1. I have it cloned locally — I'll give you the path
|
|
75
|
+
> 2. Clone it for me into /tmp/agent-config-upstream
|
|
76
|
+
> 3. Just output the files — I'll handle it manually
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Option 1:** User provides path → verify it's the right repo:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cd {path} && git remote get-url origin
|
|
83
|
+
# Must contain event4u-app/agent-config
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Option 2:**
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
git clone git@github.com:event4u-app/agent-config.git /tmp/agent-config-upstream
|
|
90
|
+
cd /tmp/agent-config-upstream
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Option 3:** Skip to Step 7 (output files only).
|
|
94
|
+
|
|
95
|
+
### 5. Create branch and write files
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
cd {package-repo}
|
|
99
|
+
git checkout main && git pull
|
|
100
|
+
git checkout -b {type}/{name} # e.g. feat/skills/php-container-discovery
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Write the **uncompressed version** (full, verbose, human-readable).
|
|
104
|
+
Write the **compressed version** (token-efficient, 40-60% shorter for skills; 1:1 for rules/commands).
|
|
105
|
+
|
|
106
|
+
Compressed version MUST preserve:
|
|
107
|
+
|
|
108
|
+
- All code blocks (byte-for-byte)
|
|
109
|
+
- YAML frontmatter (verbatim)
|
|
110
|
+
- All headings
|
|
111
|
+
- Validation rules, gotchas, "Do NOT" sections
|
|
112
|
+
|
|
113
|
+
Frontmatter must have `source: package`.
|
|
114
|
+
|
|
115
|
+
### 6. Run quality gates
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
task lint-skills # 0 FAIL required
|
|
119
|
+
task check-compression # No 🔴 errors for this file
|
|
120
|
+
task generate-tools # Regenerate symlinks
|
|
121
|
+
task consistency # Everything clean
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Fix any issues before continuing.
|
|
125
|
+
|
|
126
|
+
### 7. Present result
|
|
127
|
+
|
|
128
|
+
**If Option 1 or 2** (working in package repo):
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
> ✅ Files created in {package-repo}:
|
|
132
|
+
>
|
|
133
|
+
> - `.agent-src.uncompressed/{type}/{name}` (uncompressed)
|
|
134
|
+
> - `.agent-src/{type}/{name}` (compressed)
|
|
135
|
+
>
|
|
136
|
+
> Quality gates: {pass/fail summary}
|
|
137
|
+
>
|
|
138
|
+
> 1. Commit and push — I'll create the PR
|
|
139
|
+
> 2. Commit only — I'll push later
|
|
140
|
+
> 3. Review the files first
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**If Option 3** (manual):
|
|
144
|
+
|
|
145
|
+
Show both file contents in copyable fenced blocks with full paths as headers.
|
|
146
|
+
|
|
147
|
+
### 8. Create PR (if user chose Option 1 in Step 7)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
git add .
|
|
151
|
+
git commit -m "{type}({scope}): add {name}
|
|
152
|
+
|
|
153
|
+
{brief description of what it does and why it's universal}"
|
|
154
|
+
git push -u origin {branch}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Create PR via GitHub API with the package's PR template.
|
|
158
|
+
Fill in all gates (Promotion, Quality, Universality, Completeness).
|
|
159
|
+
|
|
160
|
+
### 9. Remind about local override cleanup
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
> 📝 After the PR is merged and you update the package in this project:
|
|
164
|
+
>
|
|
165
|
+
> ```bash
|
|
166
|
+
> rm agents/overrides/{type}/{name}.md
|
|
167
|
+
> composer update event4u/agent-config # or: npm update
|
|
168
|
+
> ```
|
|
169
|
+
>
|
|
170
|
+
> The shared version will then replace your local override.
|
|
171
|
+
```
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Context: Augment Infrastructure
|
|
2
|
+
|
|
3
|
+
> The complete `.augment/` directory structure — what it contains, how it's organized, and how agents use it.
|
|
4
|
+
|
|
5
|
+
**Type:** Infrastructure
|
|
6
|
+
**Created:** 2026-03-20
|
|
7
|
+
**Last Updated:** 2026-03-25
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
The `.augment/` directory is a **shared Composer package** (read-only at project level) that provides
|
|
12
|
+
the agent infrastructure for all projects. It contains reusable skills, rules, commands,
|
|
13
|
+
guidelines, templates, and contexts that define how AI agents behave across the entire organization.
|
|
14
|
+
|
|
15
|
+
Projects customize this shared behavior through `agents/overrides/` — never by editing `.augment/` directly.
|
|
16
|
+
|
|
17
|
+
## Directory Structure
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
.augment/
|
|
21
|
+
├── rules/ ← Always-active behavior rules (auto-loaded by Augment)
|
|
22
|
+
├── skills/ ← Reusable skill definitions (loaded on-demand by topic)
|
|
23
|
+
├── commands/ ← Slash commands (interactive workflows)
|
|
24
|
+
├── guidelines/ ← Coding guidelines organized by language
|
|
25
|
+
│ └── php/ ← PHP-specific guidelines and patterns
|
|
26
|
+
│ └── patterns/
|
|
27
|
+
├── templates/ ← Document templates (features, roadmaps, contexts, overrides)
|
|
28
|
+
│ └── overrides/ ← Templates for creating override files
|
|
29
|
+
└── contexts/ ← Shared context documents about the .augment/ system itself
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Component Types
|
|
33
|
+
|
|
34
|
+
### Rules (`.augment/rules/`)
|
|
35
|
+
|
|
36
|
+
**Always active.** Loaded automatically for every conversation.
|
|
37
|
+
Define hard constraints: coding standards, Docker usage, language preferences, scope control.
|
|
38
|
+
|
|
39
|
+
**Always-active:**
|
|
40
|
+
|
|
41
|
+
| Rule | Purpose |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `php-coding.md` | PHP coding standards (strict types, Math helper, comparisons) |
|
|
44
|
+
| `token-efficiency.md` | Redirect tool output to files, read only summaries, minimal output |
|
|
45
|
+
| `verify-before-complete.md` | Run verification before claiming completion |
|
|
46
|
+
| `user-interaction.md` | Numbered options, progress indicators |
|
|
47
|
+
| `model-recommendation.md` | Detect model, suggest switch for task type (opus/sonnet/gpt) |
|
|
48
|
+
| `language-and-tone.md` | German "Du", English code comments, icon spacing |
|
|
49
|
+
| `ask-when-uncertain.md` | When in doubt, ask the user — never guess or assume |
|
|
50
|
+
| `scope-control.md` | Stay within scope, no commit/push without permission |
|
|
51
|
+
| `guidelines.md` | Check coding guidelines before writing code |
|
|
52
|
+
| `commands.md` | Execute slash commands immediately — no questions, no opinions |
|
|
53
|
+
|
|
54
|
+
**Auto-loaded by topic:**
|
|
55
|
+
|
|
56
|
+
| Rule | Purpose |
|
|
57
|
+
|---|---|
|
|
58
|
+
| `quality-workflow.md` | PHP (PHPStan → Rector → PHPStan) and JS/TS pipelines |
|
|
59
|
+
| `downstream-changes.md` | After every edit, find and update ALL callers, tests, imports |
|
|
60
|
+
| `docs-sync.md` | Keep docs in sync when skills/rules change |
|
|
61
|
+
| `context-hygiene.md` | 3-failure rule, state dumps |
|
|
62
|
+
| `architecture.md` | Architecture principles, file placement |
|
|
63
|
+
| `docker-commands.md` | All PHP commands run inside Docker containers |
|
|
64
|
+
| `commit-conventions.md` | Conventional Commits format |
|
|
65
|
+
| `dev-efficiency.md` | Running CLI commands with verbose output — git, tests, linters, docker, build tools |
|
|
66
|
+
| `e2e-testing.md` | Playwright E2E tests — locators, assertions, Page Objects, CI |
|
|
67
|
+
| `lang-files.md` | Laravel lang files, both de/ and en/ always in sync |
|
|
68
|
+
| `rtk.md` | Using rtk for token-efficient CLI output filtering |
|
|
69
|
+
| `agent-docs.md` | When to read/create/update documentation |
|
|
70
|
+
| `augment-portability.md` | Everything in `.augment/` must be project-agnostic |
|
|
71
|
+
| `roadmap-progress-sync.md` | Checkbox edits in `agents/roadmaps/*.md` must trigger `task roadmap-progress` in the same response |
|
|
72
|
+
|
|
73
|
+
### Skills (`.augment/skills/`)
|
|
74
|
+
|
|
75
|
+
**On-demand.** Loaded when the agent needs specific expertise.
|
|
76
|
+
Each skill is a directory with a `SKILL.md` file defining behavior, patterns, and rules.
|
|
77
|
+
|
|
78
|
+
Skills organized by domain:
|
|
79
|
+
|
|
80
|
+
| Category | Skills |
|
|
81
|
+
|---|---|
|
|
82
|
+
| **PHP/Laravel** | `php`, `php-coder`, `laravel`, `eloquent`, `laravel-validation`, `php-service`, `dto-creator`, `artisan-commands`, `laravel-horizon`, `laravel-mail`, `laravel-middleware`, `laravel-notifications`, `laravel-pennant`, `laravel-pulse`, `laravel-reverb`, `laravel-scheduling` |
|
|
83
|
+
| **API** | `api-endpoint`, `api-design`, `api-versioning`, `api-testing`, `openapi` |
|
|
84
|
+
| **Analysis** | `analysis-autonomous-mode`, `universal-project-analysis`, `project-analysis-laravel`, `bug-analyzer`, `security-audit`, `performance-analysis` |
|
|
85
|
+
| **Testing** | `pest-testing`, `test-generator`, `test-performance`, `php-debugging`, `playwright-testing` |
|
|
86
|
+
| **Frontend** | `javascript`, `typescript`, `vue`, `react`, `nextjs`, `nuxt`, `tailwind`, `livewire`, `flux`, `blade-ui`, `fe-design` |
|
|
87
|
+
| **Infrastructure** | `docker`, `aws-infrastructure`, `terraform`, `terragrunt`, `devcontainer`, `github-ci`, `cloudflare-workers`, `traefik` |
|
|
88
|
+
| **Data** | `database`, `migration-creator`, `multi-tenancy`, `performance`, `sql-writing` |
|
|
89
|
+
| **Jobs/Events** | `jobs-events`, `logging-monitoring`, `grafana`, `websocket` |
|
|
90
|
+
| **Packages** | `composer`, `composer-packages`, `npm`, `npm-packages` |
|
|
91
|
+
| **Design** | `dashboard-design`, `design-review`, `fe-design` |
|
|
92
|
+
| **Agent System** | `agent-docs-writing`, `agents-audit`, `context-create`, `commands`, `copilot-config`, `copilot-agents-optimization`, `feature-planning`, `file-editor`, `guidelines`, `mcp`, `override-management`, `project-docs`, `roadmap-management`, `module-management`, `naming`, `project-analyzer`, `sequential-thinking`, `skill-reviewer` |
|
|
93
|
+
| **Workflow** | `git-workflow`, `merge-conflicts`, `code-review`, `code-refactoring`, `bug-analyzer`, `security`, `adversarial-review`, `dependency-upgrade`, `quality-tools` |
|
|
94
|
+
| **Other** | `graphql`, `jira-integration`, `mobile`, `sentry-integration`, `wordpress`, `microservices`, `technical-specification` |
|
|
95
|
+
|
|
96
|
+
### Commands (`.augment/commands/`)
|
|
97
|
+
|
|
98
|
+
**Interactive workflows.** Triggered by the user or other commands.
|
|
99
|
+
Each command is a `.md` file with a step-by-step flow.
|
|
100
|
+
|
|
101
|
+
Commands organized by workflow:
|
|
102
|
+
|
|
103
|
+
| Category | Commands |
|
|
104
|
+
|---|---|
|
|
105
|
+
| **Features** | `feature-dev`, `feature-plan`, `feature-explore`, `feature-refactor`, `feature-roadmap` |
|
|
106
|
+
| **Bugs** | `bug-investigate`, `bug-fix` |
|
|
107
|
+
| **Contexts** | `context-create`, `context-refactor` |
|
|
108
|
+
| **Modules** | `module-create`, `module-explore` |
|
|
109
|
+
| **Roadmaps** | `roadmap-create`, `roadmap-execute` |
|
|
110
|
+
| **Quality** | `quality-fix`, `review-changes`, `prepare-for-review`, `update-form-request-messages`, `fix-seeder` |
|
|
111
|
+
| **CI/PR** | `fix-ci`, `create-pr`, `create-pr-description`, `fix-pr-comments`, `fix-pr-bot-comments`, `fix-pr-developer-comments` |
|
|
112
|
+
| **Testing** | `tests-create`, `tests-execute` |
|
|
113
|
+
| **E2E** | `e2e-plan`, `e2e-heal` |
|
|
114
|
+
| **Agents** | `agents-prepare`, `agents-audit`, `agents-cleanup`, `copilot-agents-optimize`, `agent-handoff`, `agent-status`, `optimize-agents`, `optimize-augmentignore`, `optimize-skills`, `optimize-rtk-filters` |
|
|
115
|
+
| **Overrides** | `override-create`, `override-manage` |
|
|
116
|
+
| **Config** | `config-agent-settings`, `commit` |
|
|
117
|
+
| **Packages** | `package-test`, `package-reset` |
|
|
118
|
+
| **Project** | `project-analyze`, `project-health`, `jira-ticket` |
|
|
119
|
+
|
|
120
|
+
### Guidelines (`.augment/guidelines/`)
|
|
121
|
+
|
|
122
|
+
**Coding conventions** organized by language/domain. PHP and E2E testing.
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
guidelines/php/
|
|
126
|
+
├── php.md ← General PHP conventions
|
|
127
|
+
├── controllers.md ← Single-action controllers, OpenAPI
|
|
128
|
+
├── eloquent.md ← Getter/setter pattern, casts
|
|
129
|
+
├── validations.md ← FormRequest conventions
|
|
130
|
+
├── resources.md ← API Resource versioning (v1/v2)
|
|
131
|
+
├── jobs.md ← Queue jobs, Horizon tags
|
|
132
|
+
├── git.md ← Branch naming, commit messages
|
|
133
|
+
├── patterns.md ← Pattern index (links to patterns/)
|
|
134
|
+
└── patterns/ ← 9 design pattern guides
|
|
135
|
+
├── service-layer.md
|
|
136
|
+
├── repositories.md
|
|
137
|
+
├── dtos.md
|
|
138
|
+
├── dependency-injection.md
|
|
139
|
+
├── strategy.md
|
|
140
|
+
├── factory.md
|
|
141
|
+
├── policies.md
|
|
142
|
+
├── events.md
|
|
143
|
+
└── pipelines.md
|
|
144
|
+
guidelines/e2e/
|
|
145
|
+
└── playwright.md ← Playwright E2E best practices
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Each guideline has a consistent header with **Related Skills**, **Related Rules**, and **Related Guidelines**.
|
|
149
|
+
|
|
150
|
+
### Templates (`.augment/templates/`)
|
|
151
|
+
|
|
152
|
+
**Document structure definitions** for features, roadmaps, contexts, and overrides.
|
|
153
|
+
|
|
154
|
+
| Template | Creates files in |
|
|
155
|
+
|---|---|
|
|
156
|
+
| `features.md` | `agents/features/` or module `agents/features/` |
|
|
157
|
+
| `roadmaps.md` | `agents/roadmaps/` or module `agents/roadmaps/` |
|
|
158
|
+
| `contexts.md` | `agents/contexts/` or module `agents/contexts/` |
|
|
159
|
+
| `overrides/rule.md` | `agents/overrides/rules/` |
|
|
160
|
+
| `overrides/skill.md` | `agents/overrides/skills/` |
|
|
161
|
+
| `overrides/command.md` | `agents/overrides/commands/` |
|
|
162
|
+
| `overrides/guideline.md` | `agents/overrides/guidelines/` |
|
|
163
|
+
| `overrides/template.md` | `agents/overrides/templates/` |
|
|
164
|
+
|
|
165
|
+
### Contexts (`.augment/contexts/`)
|
|
166
|
+
|
|
167
|
+
**Shared context documents** about the `.augment/` system itself.
|
|
168
|
+
These help agents understand the infrastructure they operate in.
|
|
169
|
+
|
|
170
|
+
Unlike project contexts (`agents/contexts/`), these are part of the shared package
|
|
171
|
+
and describe the agent system, not the project's business domain.
|
|
172
|
+
|
|
173
|
+
## Key Principles
|
|
174
|
+
|
|
175
|
+
1. **`.augment/` is read-only** — it's a shared resource across all projects
|
|
176
|
+
2. **Project customization via `agents/overrides/`** — extend or replace shared behavior
|
|
177
|
+
3. **Rules are always active**, skills are on-demand, commands are user-triggered
|
|
178
|
+
4. **Guidelines have cross-references** — each links to related skills and rules
|
|
179
|
+
5. **Templates are the single source of truth** for document structure
|
|
180
|
+
6. **All content in English** — code comments, documentation, agent files
|
|
181
|
+
|