@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
|
+
# Copilot Repository Instructions
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
copilot-instructions.md — read by GitHub Copilot Code Review (PR bot) and
|
|
5
|
+
Copilot Chat when reviewing or editing this repo.
|
|
6
|
+
|
|
7
|
+
This file was installed by `event4u/agent-config` as a starting template.
|
|
8
|
+
Fill in the placeholders below and remove this HTML comment.
|
|
9
|
+
|
|
10
|
+
Keep this file **self-contained**. Copilot Code Review CANNOT follow links
|
|
11
|
+
to `.augment/` — so every rule Copilot must enforce lives here in full.
|
|
12
|
+
Copilot Chat (in the IDE) can read other files, but still benefits from
|
|
13
|
+
this overview.
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
This repository contains {{project_description_oneline}}.
|
|
17
|
+
|
|
18
|
+
> **For Copilot Chat users:** Deeper context lives in `.augment/` (skills,
|
|
19
|
+
> rules, guidelines) and `AGENTS.md`. The instructions below are
|
|
20
|
+
> self-contained for Copilot Code Review.
|
|
21
|
+
>
|
|
22
|
+
> For most tickets — feature, bug fix, or refactor — start with
|
|
23
|
+
> `/implement-ticket` (see `.augment/commands/implement-ticket.md`). It drives
|
|
24
|
+
> the linear flow `refine → memory → analyze → plan → implement → test →
|
|
25
|
+
> verify → report`, blocks on ambiguity instead of guessing, and never
|
|
26
|
+
> commits, pushes, or opens PRs on its own.
|
|
27
|
+
|
|
28
|
+
## ✅ Scope Control
|
|
29
|
+
|
|
30
|
+
- Do not introduce architectural changes unless explicitly requested.
|
|
31
|
+
- Do not replace existing patterns with alternatives.
|
|
32
|
+
- Do not suggest new libraries unless explicitly requested.
|
|
33
|
+
- Stay within the established project structure.
|
|
34
|
+
|
|
35
|
+
## ✅ Architecture
|
|
36
|
+
|
|
37
|
+
<!-- Describe your layering. Example for a Laravel project:
|
|
38
|
+
- Controllers thin, no business logic
|
|
39
|
+
- Business logic in Service classes
|
|
40
|
+
- Validation in FormRequests
|
|
41
|
+
- Authorization in Policies
|
|
42
|
+
-->
|
|
43
|
+
|
|
44
|
+
{{architecture_notes}}
|
|
45
|
+
|
|
46
|
+
## ✅ Coding Standards
|
|
47
|
+
|
|
48
|
+
<!-- Language-specific standards. Keep them concrete and enforceable.
|
|
49
|
+
Examples:
|
|
50
|
+
- PHP: declare(strict_types=1), typed properties, constructor promotion
|
|
51
|
+
- TypeScript: strict mode, no `any`, prefer `readonly`
|
|
52
|
+
- Python: type hints on public APIs, `from __future__ import annotations`
|
|
53
|
+
-->
|
|
54
|
+
|
|
55
|
+
{{coding_standards}}
|
|
56
|
+
|
|
57
|
+
## ✅ Framework Conventions
|
|
58
|
+
|
|
59
|
+
<!-- Framework-specific patterns your team follows.
|
|
60
|
+
Examples:
|
|
61
|
+
- Laravel: Policies over Gates, Resource classes, Eloquent relationships
|
|
62
|
+
- Next.js: Server components by default, client components explicitly marked
|
|
63
|
+
- Rails: Service objects for complex logic
|
|
64
|
+
-->
|
|
65
|
+
|
|
66
|
+
{{framework_conventions}}
|
|
67
|
+
|
|
68
|
+
## ✅ Testing
|
|
69
|
+
|
|
70
|
+
- Test framework: **{{test_framework}}**
|
|
71
|
+
- Run all tests: `{{test_all_command}}`
|
|
72
|
+
- Run targeted tests: `{{test_targeted_command}}`
|
|
73
|
+
|
|
74
|
+
{{testing_extra_notes}}
|
|
75
|
+
|
|
76
|
+
## ✅ Legacy / Existing Code Handling
|
|
77
|
+
|
|
78
|
+
- Do NOT refactor existing code solely to comply with these rules.
|
|
79
|
+
- Only modify existing code if directly related to the current change,
|
|
80
|
+
bug fix, security, or explicitly requested.
|
|
81
|
+
- New or newly modified code MUST follow all rules in this document.
|
|
82
|
+
|
|
83
|
+
## ✅ Code Review Scope
|
|
84
|
+
|
|
85
|
+
- Review **only the actually modified lines** and their direct dependencies.
|
|
86
|
+
- Do NOT review or suggest changes to unmodified code in the same file.
|
|
87
|
+
- Do NOT nitpick style issues that linters/formatters auto-fix.
|
|
88
|
+
|
|
89
|
+
## ✅ Code Review Comment Behavior
|
|
90
|
+
|
|
91
|
+
- **Never create duplicate comments** — one comment per concern per location.
|
|
92
|
+
- **Never re-raise rejected suggestions** — if the developer said no, accept it.
|
|
93
|
+
- Answer questions concisely; do not argue.
|
|
94
|
+
- Resolve conversations once the issue is addressed.
|
|
95
|
+
|
|
96
|
+
## ✅ Language Rules
|
|
97
|
+
|
|
98
|
+
- Code comments: English.
|
|
99
|
+
- Parameter / variable / method / class names: English.
|
|
100
|
+
- Commit messages: English, Conventional Commits.
|
|
101
|
+
- User-facing strings: {{user_facing_strings_strategy}}
|
|
102
|
+
|
|
103
|
+
## ✅ Package Management
|
|
104
|
+
|
|
105
|
+
- Always use the package manager (`composer require`, `npm install`,
|
|
106
|
+
`pip install`) — never hand-edit `composer.json`, `package.json`, or
|
|
107
|
+
`requirements.txt`. The manager handles version resolution and lock files.
|
|
108
|
+
|
|
109
|
+
## ✅ Copilot Behavior
|
|
110
|
+
|
|
111
|
+
- Generate {{target_language_level}} code only — avoid features from newer
|
|
112
|
+
versions unless the project has upgraded.
|
|
113
|
+
- Prioritize **readable, clean, maintainable** code over cleverness.
|
|
114
|
+
- Default to **immutability**, **dependency injection**, and **encapsulation**.
|
|
115
|
+
- Be direct and concise — no "Sure!", "You're right!" or similar filler.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Feature Planning Template
|
|
2
|
+
|
|
3
|
+
Templates for feature plan files stored in `agents/features/` or `app/Modules/{Module}/agents/features/`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Rules for Feature Plans
|
|
8
|
+
|
|
9
|
+
1. **Collaborative.** Feature plans are created interactively with the user, not auto-generated.
|
|
10
|
+
2. **Decision-focused.** Capture problems, proposals, scope, and tradeoffs — not implementation steps.
|
|
11
|
+
3. **Linked.** Reference affected modules, related features, and generated roadmaps.
|
|
12
|
+
4. **Language:** All feature plans must be written in **English**.
|
|
13
|
+
5. **One feature per file.** Don't combine unrelated features.
|
|
14
|
+
6. **Keep it concise.** Aim for 100–300 lines. If larger, the feature should be split.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Status Values
|
|
19
|
+
|
|
20
|
+
| Emoji | Status | Meaning |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| 💡 | Idea | Rough concept, not yet validated |
|
|
23
|
+
| 🔍 | Exploring | Being researched and brainstormed |
|
|
24
|
+
| 📋 | Planned | Structured plan complete, ready for roadmap |
|
|
25
|
+
| 🗺️ | Roadmapped | Roadmap(s) generated, ready for implementation |
|
|
26
|
+
| 🔄 | In Progress | Implementation started |
|
|
27
|
+
| ✅ | Complete | Feature shipped |
|
|
28
|
+
| ❌ | Rejected | Decided not to build |
|
|
29
|
+
| ⏸️ | On Hold | Paused for external reasons |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Template
|
|
34
|
+
|
|
35
|
+
Copy the structure below into a new file:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Feature: {title}
|
|
39
|
+
|
|
40
|
+
> {One sentence: What does this feature do and why?}
|
|
41
|
+
|
|
42
|
+
**Status:** 💡 Idea
|
|
43
|
+
**Created:** {YYYY-MM-DD}
|
|
44
|
+
**Author:** {name}
|
|
45
|
+
**Jira:** {ticket/epic links or "none" — e.g. [DEV-1234]({JIRA_BASE_URL}/browse/DEV-1234)}
|
|
46
|
+
**Module:** {module name or "project-wide"}
|
|
47
|
+
**Context:** {path to context document or "none"}
|
|
48
|
+
|
|
49
|
+
## Problem
|
|
50
|
+
|
|
51
|
+
{What pain point does this solve? Who is affected? What happens today without this feature?}
|
|
52
|
+
|
|
53
|
+
## Proposal
|
|
54
|
+
|
|
55
|
+
{What's the proposed solution? Keep it high-level — describe the outcome, not the implementation.}
|
|
56
|
+
|
|
57
|
+
## Scope
|
|
58
|
+
|
|
59
|
+
### In Scope
|
|
60
|
+
|
|
61
|
+
- {What this feature includes}
|
|
62
|
+
- {Specific functionality}
|
|
63
|
+
|
|
64
|
+
### Out of Scope (deferred)
|
|
65
|
+
|
|
66
|
+
- {What this feature does NOT include}
|
|
67
|
+
- {Features to consider later}
|
|
68
|
+
|
|
69
|
+
## Affected Areas
|
|
70
|
+
|
|
71
|
+
| Area | Impact |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Module: {name} | {what changes} |
|
|
74
|
+
| Model: {name} | {new fields, relationships} |
|
|
75
|
+
| API: {endpoint} | {new/changed endpoints} |
|
|
76
|
+
| UI: {view/component} | {new/changed views} |
|
|
77
|
+
| Migration | {schema changes} |
|
|
78
|
+
|
|
79
|
+
## Technical Approach
|
|
80
|
+
|
|
81
|
+
{High-level architecture decisions. Which patterns to follow? Which existing services to extend?
|
|
82
|
+
Reference existing code where helpful.}
|
|
83
|
+
|
|
84
|
+
### Options Considered
|
|
85
|
+
|
|
86
|
+
| Option | Pros | Cons | Decision |
|
|
87
|
+
|---|---|---|---|
|
|
88
|
+
| {Option A} | {pros} | {cons} | ✅ Chosen / ❌ Rejected |
|
|
89
|
+
| {Option B} | {pros} | {cons} | ✅ Chosen / ❌ Rejected |
|
|
90
|
+
|
|
91
|
+
## Open Questions
|
|
92
|
+
|
|
93
|
+
- [ ] {Unresolved question 1}
|
|
94
|
+
- [ ] {Unresolved question 2}
|
|
95
|
+
|
|
96
|
+
## Dependencies
|
|
97
|
+
|
|
98
|
+
- {Other features or changes this depends on}
|
|
99
|
+
- {External services or packages needed}
|
|
100
|
+
|
|
101
|
+
## Acceptance Criteria
|
|
102
|
+
|
|
103
|
+
- [ ] {Measurable outcome 1}
|
|
104
|
+
- [ ] {Measurable outcome 2}
|
|
105
|
+
- [ ] All quality gates pass (PHPStan, Rector, tests)
|
|
106
|
+
|
|
107
|
+
## Roadmaps
|
|
108
|
+
|
|
109
|
+
_No roadmaps generated yet. Run `/feature-roadmap` to create implementation roadmaps._
|
|
110
|
+
|
|
111
|
+
## Notes
|
|
112
|
+
|
|
113
|
+
{Optional: edge cases, risks, references, related discussions.}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Tips
|
|
119
|
+
|
|
120
|
+
- **Start with the Problem.** If you can't articulate the problem, the feature isn't ready.
|
|
121
|
+
- **Be specific in Scope.** "Out of Scope" is as important as "In Scope".
|
|
122
|
+
- **List Affected Areas early.** This helps estimate effort and identify risks.
|
|
123
|
+
- **Use Options Considered.** Document why you chose one approach over another.
|
|
124
|
+
- **Link to code.** "See `app/Modules/Import/App/Services/ImportService.php`" is better than "the import service".
|
|
125
|
+
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Memory Hygiene — template shipped by agent-config
|
|
2
|
+
#
|
|
3
|
+
# Copy this file to `.github/workflows/memory-hygiene.yml` in the consumer
|
|
4
|
+
# project. It runs `scripts/check_memory.py` on a weekly schedule and
|
|
5
|
+
# opens (or updates) a single tracking issue when stale entries are
|
|
6
|
+
# found in `agents/memory/`.
|
|
7
|
+
#
|
|
8
|
+
# This workflow is intentionally **not** wired into PR checks — staleness
|
|
9
|
+
# is a review signal, not a merge blocker. See
|
|
10
|
+
# `road-to-engineering-memory.md` Phase 4 for the rationale.
|
|
11
|
+
#
|
|
12
|
+
# Prerequisites:
|
|
13
|
+
# - `scripts/check_memory.py` copied from
|
|
14
|
+
# `.augment/templates/scripts/check_memory.py` into the consumer repo.
|
|
15
|
+
# - At least one file exists under `agents/memory/` — absence short-
|
|
16
|
+
# circuits the job with an informational log, no issue opened.
|
|
17
|
+
|
|
18
|
+
name: Memory Hygiene
|
|
19
|
+
|
|
20
|
+
on:
|
|
21
|
+
schedule:
|
|
22
|
+
# Every Monday at 06:00 UTC — run AFTER the weekly retro window.
|
|
23
|
+
- cron: "0 6 * * 1"
|
|
24
|
+
workflow_dispatch: {}
|
|
25
|
+
|
|
26
|
+
permissions:
|
|
27
|
+
contents: read
|
|
28
|
+
issues: write
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
check-staleness:
|
|
32
|
+
name: Report stale memory entries
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
|
|
35
|
+
steps:
|
|
36
|
+
- name: Check out repository
|
|
37
|
+
uses: actions/checkout@v4
|
|
38
|
+
|
|
39
|
+
- name: Set up Python
|
|
40
|
+
uses: actions/setup-python@v5
|
|
41
|
+
with:
|
|
42
|
+
python-version: "3.12"
|
|
43
|
+
|
|
44
|
+
- name: Install PyYAML
|
|
45
|
+
run: pip install pyyaml
|
|
46
|
+
|
|
47
|
+
- name: Short-circuit if no memory files
|
|
48
|
+
id: has_memory
|
|
49
|
+
run: |
|
|
50
|
+
if [ -d "agents/memory" ] && [ "$(find agents/memory -name '*.yml' | wc -l)" -gt 0 ]; then
|
|
51
|
+
echo "present=true" >> "$GITHUB_OUTPUT"
|
|
52
|
+
else
|
|
53
|
+
echo "present=false" >> "$GITHUB_OUTPUT"
|
|
54
|
+
echo "No agents/memory/*.yml files — skipping."
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
- name: Run staleness check
|
|
58
|
+
if: steps.has_memory.outputs.present == 'true'
|
|
59
|
+
id: check
|
|
60
|
+
run: |
|
|
61
|
+
set +e
|
|
62
|
+
{
|
|
63
|
+
echo "## Memory hygiene report"
|
|
64
|
+
echo
|
|
65
|
+
echo '```'
|
|
66
|
+
python3 scripts/check_memory.py --path agents/memory
|
|
67
|
+
exit_code=$?
|
|
68
|
+
echo '```'
|
|
69
|
+
} > staleness.md
|
|
70
|
+
echo "exit=${exit_code:-0}" >> "$GITHUB_OUTPUT"
|
|
71
|
+
cat staleness.md
|
|
72
|
+
|
|
73
|
+
- name: Find existing tracking issue
|
|
74
|
+
if: steps.has_memory.outputs.present == 'true'
|
|
75
|
+
id: find_issue
|
|
76
|
+
uses: actions/github-script@v7
|
|
77
|
+
with:
|
|
78
|
+
script: |
|
|
79
|
+
const { data: issues } = await github.rest.issues.listForRepo({
|
|
80
|
+
owner: context.repo.owner,
|
|
81
|
+
repo: context.repo.repo,
|
|
82
|
+
state: "open",
|
|
83
|
+
labels: "memory-hygiene",
|
|
84
|
+
per_page: 5,
|
|
85
|
+
});
|
|
86
|
+
if (issues.length > 0) {
|
|
87
|
+
core.setOutput("number", issues[0].number);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
- name: Open or update tracking issue
|
|
91
|
+
if: steps.has_memory.outputs.present == 'true' && steps.check.outputs.exit != '0'
|
|
92
|
+
uses: actions/github-script@v7
|
|
93
|
+
with:
|
|
94
|
+
script: |
|
|
95
|
+
const fs = require("fs");
|
|
96
|
+
const body = fs.readFileSync("staleness.md", "utf8");
|
|
97
|
+
const title = "Memory Hygiene — stale entries detected";
|
|
98
|
+
const existing = "${{ steps.find_issue.outputs.number }}";
|
|
99
|
+
if (existing) {
|
|
100
|
+
await github.rest.issues.update({
|
|
101
|
+
owner: context.repo.owner,
|
|
102
|
+
repo: context.repo.repo,
|
|
103
|
+
issue_number: parseInt(existing, 10),
|
|
104
|
+
body,
|
|
105
|
+
});
|
|
106
|
+
} else {
|
|
107
|
+
await github.rest.issues.create({
|
|
108
|
+
owner: context.repo.owner,
|
|
109
|
+
repo: context.repo.repo,
|
|
110
|
+
title,
|
|
111
|
+
body,
|
|
112
|
+
labels: ["memory-hygiene"],
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
- name: Close tracking issue when clean
|
|
117
|
+
if: steps.has_memory.outputs.present == 'true' && steps.check.outputs.exit == '0' && steps.find_issue.outputs.number != ''
|
|
118
|
+
uses: actions/github-script@v7
|
|
119
|
+
with:
|
|
120
|
+
script: |
|
|
121
|
+
await github.rest.issues.update({
|
|
122
|
+
owner: context.repo.owner,
|
|
123
|
+
repo: context.repo.repo,
|
|
124
|
+
issue_number: parseInt("${{ steps.find_issue.outputs.number }}", 10),
|
|
125
|
+
state: "closed",
|
|
126
|
+
state_reason: "completed",
|
|
127
|
+
});
|
|
128
|
+
await github.rest.issues.createComment({
|
|
129
|
+
owner: context.repo.owner,
|
|
130
|
+
repo: context.repo.repo,
|
|
131
|
+
issue_number: parseInt("${{ steps.find_issue.outputs.number }}", 10),
|
|
132
|
+
body: "All memory entries are fresh — closing.",
|
|
133
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# PR Risk Review — template shipped by agent-config
|
|
2
|
+
#
|
|
3
|
+
# Copy this file to `.github/workflows/pr-risk-review.yml` in the consumer
|
|
4
|
+
# project. It posts (or updates) a single sticky comment on every PR with a
|
|
5
|
+
# heuristic risk classification (low / medium / high) based on the list of
|
|
6
|
+
# changed files.
|
|
7
|
+
#
|
|
8
|
+
# Behavior is driven by `.github/pr-risk-config.yml` (see the example file
|
|
9
|
+
# under `.augment/templates/scripts/pr-risk-config.example.yml`). Without a
|
|
10
|
+
# config file the script falls back to sensible cross-stack defaults.
|
|
11
|
+
#
|
|
12
|
+
# This workflow is purely informational — it does NOT block merges. Gate the
|
|
13
|
+
# PR on a separate required check if you want a hard stop.
|
|
14
|
+
|
|
15
|
+
name: PR Risk Review
|
|
16
|
+
|
|
17
|
+
on:
|
|
18
|
+
pull_request:
|
|
19
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
pull-requests: write
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
risk-review:
|
|
27
|
+
name: Classify PR risk
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
if: github.event.pull_request.draft == false
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- name: Check out repository
|
|
33
|
+
uses: actions/checkout@v4
|
|
34
|
+
with:
|
|
35
|
+
fetch-depth: 0
|
|
36
|
+
|
|
37
|
+
- name: Set up Python
|
|
38
|
+
uses: actions/setup-python@v5
|
|
39
|
+
with:
|
|
40
|
+
python-version: "3.12"
|
|
41
|
+
|
|
42
|
+
- name: Install dependencies
|
|
43
|
+
run: pip install pyyaml
|
|
44
|
+
|
|
45
|
+
- name: Classify risk
|
|
46
|
+
id: risk
|
|
47
|
+
env:
|
|
48
|
+
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
49
|
+
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
50
|
+
run: |
|
|
51
|
+
python3 scripts/pr_risk_review.py \
|
|
52
|
+
--base "$BASE_SHA" \
|
|
53
|
+
--head "$HEAD_SHA" \
|
|
54
|
+
--config .github/pr-risk-config.yml \
|
|
55
|
+
--output risk-report.md \
|
|
56
|
+
--level-file risk-level.txt
|
|
57
|
+
|
|
58
|
+
echo "level=$(cat risk-level.txt)" >> "$GITHUB_OUTPUT"
|
|
59
|
+
|
|
60
|
+
- name: Post or update sticky PR comment
|
|
61
|
+
uses: marocchino/sticky-pull-request-comment@v2
|
|
62
|
+
with:
|
|
63
|
+
header: pr-risk-review
|
|
64
|
+
path: risk-report.md
|
|
65
|
+
|
|
66
|
+
- name: Apply risk label
|
|
67
|
+
uses: actions/github-script@v7
|
|
68
|
+
with:
|
|
69
|
+
script: |
|
|
70
|
+
const level = `${{ steps.risk.outputs.level }}`;
|
|
71
|
+
if (!['low', 'medium', 'high'].includes(level)) return;
|
|
72
|
+
|
|
73
|
+
const prNumber = context.payload.pull_request.number;
|
|
74
|
+
const desired = `risk:${level}`;
|
|
75
|
+
const labels = ['risk:low', 'risk:medium', 'risk:high'];
|
|
76
|
+
|
|
77
|
+
const { data: existing } = await github.rest.issues.listLabelsOnIssue({
|
|
78
|
+
owner: context.repo.owner,
|
|
79
|
+
repo: context.repo.repo,
|
|
80
|
+
issue_number: prNumber,
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
for (const lbl of existing) {
|
|
84
|
+
if (labels.includes(lbl.name) && lbl.name !== desired) {
|
|
85
|
+
await github.rest.issues.removeLabel({
|
|
86
|
+
owner: context.repo.owner,
|
|
87
|
+
repo: context.repo.repo,
|
|
88
|
+
issue_number: prNumber,
|
|
89
|
+
name: lbl.name,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
await github.rest.issues.addLabels({
|
|
95
|
+
owner: context.repo.owner,
|
|
96
|
+
repo: context.repo.repo,
|
|
97
|
+
issue_number: prNumber,
|
|
98
|
+
labels: [desired],
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
- name: Classify review routing
|
|
102
|
+
id: routing
|
|
103
|
+
if: hashFiles('scripts/pr_review_routing.py') != ''
|
|
104
|
+
env:
|
|
105
|
+
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
106
|
+
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
107
|
+
# The script auto-discovers ownership-map.yml and
|
|
108
|
+
# historical-bug-patterns.yml under .github/ first and falls
|
|
109
|
+
# back to agents/ — matching the review-routing-awareness rule.
|
|
110
|
+
# Missing data files emit a generic fallback, not an error.
|
|
111
|
+
run: |
|
|
112
|
+
python3 scripts/pr_review_routing.py \
|
|
113
|
+
--base "$BASE_SHA" \
|
|
114
|
+
--head "$HEAD_SHA" \
|
|
115
|
+
--output routing-report.md \
|
|
116
|
+
--level-file routing-level.txt
|
|
117
|
+
|
|
118
|
+
- name: Post or update routing sticky comment
|
|
119
|
+
if: steps.routing.outcome == 'success'
|
|
120
|
+
uses: marocchino/sticky-pull-request-comment@v2
|
|
121
|
+
with:
|
|
122
|
+
header: pr-review-routing
|
|
123
|
+
path: routing-report.md
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Proposal Drift — template shipped by agent-config
|
|
2
|
+
#
|
|
3
|
+
# Copy this file to `.github/workflows/proposal-drift.yml` in the PACKAGE
|
|
4
|
+
# repo (event4u/agent-config itself). It runs weekly and posts an
|
|
5
|
+
# imbalance report when the number of accepted upstream proposals in the
|
|
6
|
+
# last quarter diverges from the number of retired rules/skills.
|
|
7
|
+
#
|
|
8
|
+
# Rationale: the curated self-improvement pipeline can only work if
|
|
9
|
+
# **additions and retirements stay roughly in balance**. A repo that
|
|
10
|
+
# only accepts new proposals without ever retiring anything drifts
|
|
11
|
+
# towards noise; a repo that only retires without accepting drifts
|
|
12
|
+
# towards stagnation. See `road-to-curated-self-improvement.md`
|
|
13
|
+
# Phase 4 for the full framing.
|
|
14
|
+
#
|
|
15
|
+
# This workflow is intentionally read-only — it never blocks a PR and
|
|
16
|
+
# never modifies the repo. It only opens / updates a tracking issue.
|
|
17
|
+
#
|
|
18
|
+
# Prerequisites:
|
|
19
|
+
# - `scripts/memory_report.py` present in the repo (ships with the
|
|
20
|
+
# package).
|
|
21
|
+
# - Proposals live under `agents/proposals/` with the schema defined
|
|
22
|
+
# in `.agent-src/templates/agents/proposal.example.md`.
|
|
23
|
+
|
|
24
|
+
name: Proposal Drift
|
|
25
|
+
|
|
26
|
+
on:
|
|
27
|
+
schedule:
|
|
28
|
+
# Every Monday at 07:00 UTC — one hour after memory-hygiene so the
|
|
29
|
+
# two issues do not land in the same notification batch.
|
|
30
|
+
- cron: "0 7 * * 1"
|
|
31
|
+
workflow_dispatch: {}
|
|
32
|
+
|
|
33
|
+
permissions:
|
|
34
|
+
contents: read
|
|
35
|
+
issues: write
|
|
36
|
+
|
|
37
|
+
jobs:
|
|
38
|
+
drift-report:
|
|
39
|
+
name: Accepted vs. retired proposals
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
|
|
42
|
+
steps:
|
|
43
|
+
- name: Check out repository
|
|
44
|
+
uses: actions/checkout@v4
|
|
45
|
+
with:
|
|
46
|
+
fetch-depth: 0
|
|
47
|
+
|
|
48
|
+
- name: Set up Python
|
|
49
|
+
uses: actions/setup-python@v5
|
|
50
|
+
with:
|
|
51
|
+
python-version: "3.12"
|
|
52
|
+
|
|
53
|
+
- name: Install PyYAML
|
|
54
|
+
run: pip install pyyaml
|
|
55
|
+
|
|
56
|
+
- name: Build quarterly report
|
|
57
|
+
id: report
|
|
58
|
+
run: |
|
|
59
|
+
set +e
|
|
60
|
+
{
|
|
61
|
+
echo "## Proposal drift report"
|
|
62
|
+
echo
|
|
63
|
+
echo "Accepted vs. retired for the last quarter."
|
|
64
|
+
echo
|
|
65
|
+
echo '```'
|
|
66
|
+
python3 scripts/memory_report.py --quarterly --format text
|
|
67
|
+
echo '```'
|
|
68
|
+
echo
|
|
69
|
+
echo "Open proposals by stage:"
|
|
70
|
+
echo
|
|
71
|
+
echo '```'
|
|
72
|
+
find agents/proposals -name '*.md' 2>/dev/null | \
|
|
73
|
+
xargs -I{} grep -H '^stage:' {} 2>/dev/null | \
|
|
74
|
+
awk -F: '{print $3}' | sort | uniq -c || true
|
|
75
|
+
echo '```'
|
|
76
|
+
} > drift.md
|
|
77
|
+
cat drift.md
|
|
78
|
+
|
|
79
|
+
- name: Find existing tracking issue
|
|
80
|
+
id: find_issue
|
|
81
|
+
uses: actions/github-script@v7
|
|
82
|
+
with:
|
|
83
|
+
script: |
|
|
84
|
+
const { data: issues } = await github.rest.issues.listForRepo({
|
|
85
|
+
owner: context.repo.owner,
|
|
86
|
+
repo: context.repo.repo,
|
|
87
|
+
state: "open",
|
|
88
|
+
labels: "proposal-drift",
|
|
89
|
+
per_page: 5,
|
|
90
|
+
});
|
|
91
|
+
if (issues.length > 0) {
|
|
92
|
+
core.setOutput("number", issues[0].number);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
- name: Open or update tracking issue
|
|
96
|
+
uses: actions/github-script@v7
|
|
97
|
+
with:
|
|
98
|
+
script: |
|
|
99
|
+
const fs = require("fs");
|
|
100
|
+
const body = fs.readFileSync("drift.md", "utf8");
|
|
101
|
+
const title = "Proposal Drift — weekly report";
|
|
102
|
+
const existing = "${{ steps.find_issue.outputs.number }}";
|
|
103
|
+
if (existing) {
|
|
104
|
+
await github.rest.issues.update({
|
|
105
|
+
owner: context.repo.owner,
|
|
106
|
+
repo: context.repo.repo,
|
|
107
|
+
issue_number: parseInt(existing, 10),
|
|
108
|
+
body,
|
|
109
|
+
});
|
|
110
|
+
} else {
|
|
111
|
+
await github.rest.issues.create({
|
|
112
|
+
owner: context.repo.owner,
|
|
113
|
+
repo: context.repo.repo,
|
|
114
|
+
title,
|
|
115
|
+
body,
|
|
116
|
+
labels: ["proposal-drift"],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Override: Command — {command-name}
|
|
2
|
+
|
|
3
|
+
> Override for `.augment/commands/{command-name}.md`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
**Mode:** `extend` | `replace`
|
|
7
|
+
**Original:** `.augment/commands/{command-name}.md`
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- MODE EXPLANATION:
|
|
11
|
+
- extend: The original command is loaded FIRST, then this file modifies specific steps or adds new ones.
|
|
12
|
+
Use this to inject project-specific steps, change prompts, or add constraints.
|
|
13
|
+
- replace: The original command is IGNORED entirely. This file defines the full command flow.
|
|
14
|
+
Use this when the original command flow does not fit the project at all.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
## Modified Steps
|
|
18
|
+
|
|
19
|
+
<!-- For mode: extend — list only the steps that change. Reference original steps by number/name. -->
|
|
20
|
+
|
|
21
|
+
## Full Command Flow
|
|
22
|
+
|
|
23
|
+
<!-- For mode: replace — write the complete command definition from scratch. -->
|
|
24
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Override: Guideline — {guideline-name}
|
|
2
|
+
|
|
3
|
+
> Override for `.augment/guidelines/{path}/{guideline-name}.md`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
**Mode:** `extend` | `replace`
|
|
7
|
+
**Original:** `.augment/guidelines/{path}/{guideline-name}.md`
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- MODE EXPLANATION:
|
|
11
|
+
- extend: The original guideline is loaded FIRST, then this file adds to or modifies specific sections.
|
|
12
|
+
Use this to add project-specific conventions, extra examples, or stricter rules.
|
|
13
|
+
- replace: The original guideline is IGNORED entirely. This file is the sole source of truth.
|
|
14
|
+
Use this when the project's conventions differ fundamentally from the shared guideline.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
## Overridden Sections
|
|
18
|
+
|
|
19
|
+
<!-- For mode: extend — only list what changes. Reference original sections by heading. -->
|
|
20
|
+
<!-- For mode: replace — write the complete guideline from scratch. -->
|
|
21
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Override: Rule — {rule-name}
|
|
2
|
+
|
|
3
|
+
> Override for `.augment/rules/{rule-name}.md`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
**Mode:** `extend` | `replace`
|
|
7
|
+
**Original:** `.augment/rules/{rule-name}.md`
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!-- MODE EXPLANATION:
|
|
11
|
+
- extend: The original rule is loaded FIRST, then this file adds to or modifies specific parts.
|
|
12
|
+
- replace: The original rule is IGNORED entirely. This file is the sole source of truth.
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
## Overridden Rules
|
|
16
|
+
|
|
17
|
+
<!-- For mode: extend — only list what changes. Everything else stays as-is. -->
|
|
18
|
+
<!-- For mode: replace — write the complete rule set from scratch. -->
|
|
19
|
+
|