@event4u/agent-config 1.19.0 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent-src/commands/agent-handoff.md +14 -10
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/bug-fix.md +1 -1
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/chat-history/import.md +166 -0
- package/.agent-src/commands/chat-history/learn.md +178 -0
- package/.agent-src/commands/chat-history/show.md +17 -18
- package/.agent-src/commands/chat-history.md +26 -25
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +2 -2
- package/.agent-src/commands/context.md +1 -1
- package/.agent-src/commands/copilot-agents.md +1 -1
- package/.agent-src/commands/council/default.md +21 -12
- package/.agent-src/commands/council.md +1 -1
- package/.agent-src/commands/create-pr.md +28 -8
- package/.agent-src/commands/e2e-heal.md +1 -1
- package/.agent-src/commands/e2e-plan.md +1 -1
- package/.agent-src/commands/feature/dev.md +3 -3
- package/.agent-src/commands/feature.md +1 -1
- package/.agent-src/commands/fix/seeder.md +2 -2
- package/.agent-src/commands/fix.md +1 -1
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge.md +2 -2
- package/.agent-src/commands/memory.md +1 -1
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/module.md +1 -1
- package/.agent-src/commands/onboard.md +4 -4
- package/.agent-src/commands/optimize/augmentignore.md +1 -1
- package/.agent-src/commands/optimize-prompt.md +61 -0
- package/.agent-src/commands/optimize.md +1 -1
- package/.agent-src/commands/override.md +1 -1
- package/.agent-src/commands/review-changes.md +1 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap.md +1 -1
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/sync-gitignore.md +1 -1
- package/.agent-src/commands/tests/create.md +2 -2
- package/.agent-src/commands/tests.md +1 -1
- package/.agent-src/commands/threat-model.md +4 -4
- package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
- package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
- package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +4 -4
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +125 -9
- package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
- package/.agent-src/contexts/model-recommendations.md +2 -2
- package/.agent-src/contexts/override-system.md +1 -1
- package/.agent-src/personas/product-owner.md +2 -2
- package/.agent-src/personas/qa.md +1 -1
- package/.agent-src/rules/agent-authority.md +5 -6
- package/.agent-src/rules/agent-docs.md +11 -53
- package/.agent-src/rules/analysis-skill-routing.md +10 -40
- package/.agent-src/rules/architecture.md +6 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
- package/.agent-src/rules/artifact-engagement-recording.md +23 -59
- package/.agent-src/rules/ask-when-uncertain.md +24 -47
- package/.agent-src/rules/augment-portability.md +14 -62
- package/.agent-src/rules/augment-source-of-truth.md +10 -1
- package/.agent-src/rules/autonomous-execution.md +17 -98
- package/.agent-src/rules/capture-learnings.md +9 -80
- package/.agent-src/rules/cli-output-handling.md +12 -42
- package/.agent-src/rules/command-suggestion-policy.md +25 -73
- package/.agent-src/rules/commit-conventions.md +9 -58
- package/.agent-src/rules/commit-policy.md +16 -47
- package/.agent-src/rules/context-hygiene.md +5 -0
- package/.agent-src/rules/direct-answers.md +21 -42
- package/.agent-src/rules/docker-commands.md +11 -45
- package/.agent-src/rules/docs-sync.md +10 -56
- package/.agent-src/rules/downstream-changes.md +5 -0
- package/.agent-src/rules/e2e-testing.md +9 -44
- package/.agent-src/rules/guidelines.md +13 -75
- package/.agent-src/rules/improve-before-implement.md +10 -2
- package/.agent-src/rules/language-and-tone.md +35 -69
- package/.agent-src/rules/laravel-translations.md +11 -40
- package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
- package/.agent-src/rules/minimal-safe-diff.md +4 -0
- package/.agent-src/rules/missing-tool-handling.md +4 -0
- package/.agent-src/rules/model-recommendation.md +9 -61
- package/.agent-src/rules/no-attribution-footers.md +53 -0
- package/.agent-src/rules/no-cheap-questions.md +11 -27
- package/.agent-src/rules/no-council-references.md +76 -0
- package/.agent-src/rules/no-roadmap-references.md +8 -1
- package/.agent-src/rules/non-destructive-by-default.md +13 -43
- package/.agent-src/rules/onboarding-gate.md +9 -117
- package/.agent-src/rules/package-ci-checks.md +10 -37
- package/.agent-src/rules/php-coding.md +10 -55
- package/.agent-src/rules/preservation-guard.md +9 -0
- package/.agent-src/rules/review-routing-awareness.md +9 -97
- package/.agent-src/rules/reviewer-awareness.md +8 -83
- package/.agent-src/rules/roadmap-progress-sync.md +7 -170
- package/.agent-src/rules/role-mode-adherence.md +6 -2
- package/.agent-src/rules/rule-type-governance.md +8 -66
- package/.agent-src/rules/runtime-safety.md +5 -0
- package/.agent-src/rules/scope-control.md +17 -62
- package/.agent-src/rules/security-sensitive-stop.md +7 -1
- package/.agent-src/rules/size-enforcement.md +6 -1
- package/.agent-src/rules/skill-improvement-trigger.md +9 -49
- package/.agent-src/rules/skill-quality.md +7 -64
- package/.agent-src/rules/slash-command-routing-policy.md +11 -63
- package/.agent-src/rules/think-before-action.md +22 -87
- package/.agent-src/rules/token-efficiency.md +10 -74
- package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
- package/.agent-src/rules/tool-safety.md +4 -0
- package/.agent-src/rules/ui-audit-gate.md +25 -61
- package/.agent-src/rules/upstream-proposal.md +9 -67
- package/.agent-src/rules/user-interaction.md +25 -95
- package/.agent-src/rules/verify-before-complete.md +1 -1
- package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/.agent-src/skills/ai-council/SKILL.md +69 -5
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/.agent-src/skills/authz-review/SKILL.md +1 -1
- package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
- package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
- package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
- package/.agent-src/skills/code-review/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +11 -0
- package/.agent-src/skills/composer-packages/SKILL.md +2 -2
- package/.agent-src/skills/context-authoring/SKILL.md +11 -0
- package/.agent-src/skills/context-document/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
- package/.agent-src/skills/copilot-config/SKILL.md +1 -1
- package/.agent-src/skills/dcf-modeling/SKILL.md +89 -0
- package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
- package/.agent-src/skills/devcontainer/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
- package/.agent-src/skills/docker/SKILL.md +1 -1
- package/.agent-src/skills/dto-creator/SKILL.md +1 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/.agent-src/skills/fe-design/SKILL.md +4 -4
- package/.agent-src/skills/feature-planning/SKILL.md +5 -5
- package/.agent-src/skills/funnel-analysis/SKILL.md +100 -0
- package/.agent-src/skills/laravel/SKILL.md +1 -1
- package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
- package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
- package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
- package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
- package/.agent-src/skills/md-language-check/SKILL.md +1 -1
- package/.agent-src/skills/migration-creator/SKILL.md +7 -7
- package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +93 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
- package/.agent-src/skills/pest-testing/SKILL.md +6 -6
- package/.agent-src/skills/php-service/SKILL.md +2 -2
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
- package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/rice-prioritization/SKILL.md +100 -0
- package/.agent-src/skills/rule-writing/SKILL.md +33 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +14 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +34 -2
- package/.agent-src/skills/terraform/SKILL.md +2 -2
- package/.agent-src/skills/terragrunt/SKILL.md +8 -8
- package/.agent-src/skills/test-performance/SKILL.md +5 -5
- package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
- package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +104 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
- package/.agent-src/templates/AGENTS.md +1 -1
- package/.agent-src/templates/agent-settings.md +25 -41
- package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +21 -0
- package/.agent-src/templates/copilot-review-instructions.md +76 -0
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/rule.md +127 -0
- package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +7 -5
- package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +7 -51
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +1 -2
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +2 -3
- package/.agent-src/templates/skill.md +30 -1
- package/.claude-plugin/marketplace.json +11 -4
- package/AGENTS.md +71 -3
- package/CHANGELOG.md +180 -3
- package/README.md +24 -23
- package/config/agent-settings.template.yml +63 -23
- package/config/gitignore-block.txt +11 -4
- package/docs/architecture.md +84 -3
- package/docs/catalog.md +23 -11
- package/docs/contracts/adr-chat-history-split.md +10 -1
- package/docs/contracts/agent-memory-contract.md +1 -1
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/context-paths.md +2 -1
- package/docs/contracts/cross-wing-handoff.md +133 -0
- package/docs/contracts/file-ownership-matrix.json +678 -609
- package/docs/contracts/hook-architecture-v1.md +8 -1
- package/docs/contracts/iron-law-overrides.txt +25 -0
- package/docs/contracts/kernel-membership.md +273 -0
- package/docs/contracts/load-context-schema.md +26 -11
- package/docs/contracts/memory-visibility-v1.md +8 -24
- package/docs/contracts/pilot/agent-authority.md +24 -0
- package/docs/contracts/pilot/direct-answers.md +70 -0
- package/docs/contracts/pilot/language-and-tone.md +63 -0
- package/docs/contracts/rule-classification.md +170 -0
- package/docs/contracts/rule-router.md +153 -0
- package/docs/customization.md +18 -7
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
- package/docs/getting-started.md +19 -27
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
- package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
- package/docs/guidelines/augment-portability-patterns.md +68 -0
- package/docs/guidelines/php/php-coding-patterns.md +62 -0
- package/docs/hook-payload-capture.md +221 -0
- package/docs/migrations/commands-1.15.0.md +17 -12
- package/docs/skills-catalog.md +5 -4
- package/llms.txt +4 -3
- package/package.json +1 -1
- package/scripts/_p43_bodies.py +235 -0
- package/scripts/_p43_compress.py +118 -0
- package/scripts/_p4_migrate.py +199 -0
- package/scripts/_pilot_council_question.py +57 -0
- package/scripts/_pilot_measure.py +53 -0
- package/scripts/agent-config +1 -1
- package/scripts/ai_council/_default_prices.py +4 -4
- package/scripts/ai_council/clients.py +1 -1
- package/scripts/ai_council/modes.py +3 -4
- package/scripts/ai_council/pricing.py +10 -9
- package/scripts/ai_council/session.py +107 -5
- package/scripts/build_linear_digest.py +3 -5
- package/scripts/build_rule_trigger_matrix.py +1 -9
- package/scripts/chat_history.py +952 -596
- package/scripts/check_always_budget.py +39 -6
- package/scripts/check_compressed_paths.py +213 -0
- package/scripts/check_compression.py +15 -0
- package/scripts/check_context_paths.py +1 -0
- package/scripts/check_council_layout.py +105 -0
- package/scripts/check_council_references.py +145 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +14 -2
- package/scripts/check_token_optimizer_freshness.py +131 -0
- package/scripts/compile_router.py +148 -0
- package/scripts/compress.py +219 -11
- package/scripts/council_cli.py +63 -9
- package/scripts/council_prune.py +81 -0
- package/scripts/count_token_optimizer_usage.sh +54 -0
- package/scripts/hook_manifest.yaml +33 -0
- package/scripts/hooks/augment-chat-history.sh +10 -0
- package/scripts/hooks/cowork-dispatcher.sh +98 -0
- package/scripts/hooks/dispatch_hook.py +35 -0
- package/scripts/hooks_status.py +12 -1
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.sh +81 -2
- package/scripts/iron_law_sha.py +98 -0
- package/scripts/lint_handoffs.py +214 -0
- package/scripts/lint_hook_manifest.py +2 -1
- package/scripts/lint_load_context.py +35 -5
- package/scripts/measure_rule_budget.py +314 -0
- package/scripts/prototype_lint_contradictions.py +150 -0
- package/scripts/redact_hook_capture.py +148 -0
- package/scripts/schemas/rule.schema.json +55 -6
- package/scripts/schemas/skill.schema.json +5 -0
- package/scripts/skill_linter.py +359 -7
- package/scripts/smoke_path_resolution.py +93 -0
- package/scripts/update_prices.py +3 -3
- package/scripts/validate_frontmatter.py +41 -1
- package/.agent-src/commands/chat-history/checkpoint.md +0 -126
- package/.agent-src/commands/chat-history/clear.md +0 -103
- package/.agent-src/commands/chat-history/resume.md +0 -183
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
- package/.agent-src/rules/chat-history-cadence.md +0 -143
- package/.agent-src/rules/chat-history-ownership.md +0 -124
- package/.agent-src/rules/chat-history-visibility.md +0 -97
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +0 -50
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +0 -49
- package/scripts/check_phase_coupling.py +0 -148
- /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
- /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
|
@@ -3,64 +3,18 @@ type: "auto"
|
|
|
3
3
|
tier: "2a"
|
|
4
4
|
description: "Keeping .augment/ contexts, counts, and cross-references in sync when creating, renaming, or deleting skills, commands, rules, guidelines, templates, or any agent infrastructure files"
|
|
5
5
|
source: package
|
|
6
|
-
|
|
7
|
-
- .agent-src.uncompressed/
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: ".agent-src.uncompressed/"
|
|
8
|
+
- path_prefix: ".augment/"
|
|
9
|
+
- keyword: "rename"
|
|
10
|
+
- keyword: "delete"
|
|
11
|
+
routes_to:
|
|
12
|
+
- "skill:agent-docs-writing"
|
|
8
13
|
---
|
|
9
14
|
|
|
10
15
|
# Docs Sync
|
|
11
16
|
|
|
12
|
-
|
|
17
|
+
**Iron Law.** On any add / rename / delete of skill / rule / command / guideline, update counts and cross-references in the same edit.
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
in the same response** — not later, not in a follow-up, not when reminded.
|
|
17
|
-
|
|
18
|
-
A new rule/skill/command without its index entry, count update, and context update is **incomplete work**.
|
|
19
|
-
|
|
20
|
-
**Mandatory sequence when creating/deleting any `.augment/` file:**
|
|
21
|
-
1. Create/delete the file
|
|
22
|
-
2. **Immediately** update `contexts/augment-infrastructure.md` (counts + category tables)
|
|
23
|
-
3. Check cross-references in contexts and routing hints (inline "see X skill" references)
|
|
24
|
-
4. If a **skill** was added/renamed/deleted: update distribution manifests
|
|
25
|
-
5. If a **hook** was added/renamed/deleted: update hook registries
|
|
26
|
-
6. If **content** changed: run the consistency grep across other artefacts
|
|
27
|
-
|
|
28
|
-
Steps 2–6 are NOT optional. Do NOT present the result to the user until all steps are done.
|
|
29
|
-
|
|
30
|
-
**Two modes:**
|
|
31
|
-
- **Reactive** (automatic): Triggered by add/remove/rename or scope/description/count changes → sync counts, contexts, cross-references, manifests, registries.
|
|
32
|
-
- **Proactive** (on demand): Full audit → find duplicates, thin skills, redundancy, stale content → fix or merge. Ask before destructive actions.
|
|
33
|
-
|
|
34
|
-
## Settings template sync
|
|
35
|
-
|
|
36
|
-
When a skill, rule, or command **reads a new setting** from `.agent-settings.yml` that does not yet
|
|
37
|
-
exist in `.augment/templates/agent-settings.md`:
|
|
38
|
-
|
|
39
|
-
1. **Add the key** with its default value to the template block.
|
|
40
|
-
2. **Add a row** to the Settings Reference table.
|
|
41
|
-
3. **Add a comment** above the key explaining what it does.
|
|
42
|
-
4. **Update the local `.agent-settings.yml`** — add the new key with its default value.
|
|
43
|
-
Preserve all existing values, apply template order and comments. Follow the
|
|
44
|
-
[section-aware merge rules](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
45
|
-
so the user benefits immediately without running a separate command.
|
|
46
|
-
|
|
47
|
-
**This step is mandatory.** If the template gains a new key but the local `.agent-settings.yml`
|
|
48
|
-
is not updated, the user cannot discover the new setting exists.
|
|
49
|
-
|
|
50
|
-
## Lookup tables and details — see mechanics
|
|
51
|
-
|
|
52
|
-
The exact "what to update" tables, cross-reference targets,
|
|
53
|
-
distribution-manifest update tables (`marketplace.json` etc.), hook
|
|
54
|
-
registry update tables (`__init__.py`, consumer-settings JSON), the
|
|
55
|
-
failure mode that motivated the manifest section, and the content
|
|
56
|
-
consistency `grep` snippet all live in
|
|
57
|
-
[`contexts/communication/rules-auto/docs-sync-mechanics.md`](../contexts/communication/rules-auto/docs-sync-mechanics.md).
|
|
58
|
-
Pull it whenever a sync trigger fires.
|
|
59
|
-
|
|
60
|
-
## Do NOT
|
|
61
|
-
|
|
62
|
-
- Do NOT rewrite entire files — only update the affected entries.
|
|
63
|
-
- Do NOT ask the user for permission — this is an automatic maintenance step, like updating imports.
|
|
64
|
-
- Do NOT skip cross-reference updates — stale links are worse than no links.
|
|
65
|
-
- Do NOT present a new `.augment/` file to the user without having completed all sync steps first.
|
|
66
|
-
- Do NOT defer sync to a "follow-up" — it must happen in the same response as the creation/deletion.
|
|
19
|
+
Body migrated to `skill:agent-docs-writing` (per P4 of `road-to-kernel-and-router.md`).
|
|
20
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,6 +4,11 @@ tier: "2b"
|
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
description: "After EVERY code edit, find ALL downstream changes needed to existing files, including callers, tests, imports, types, and documentation"
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "after code edit"
|
|
9
|
+
- keyword: "callers"
|
|
10
|
+
- keyword: "imports"
|
|
11
|
+
- keyword: "downstream"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Downstream Changes
|
|
@@ -1,54 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "3"
|
|
4
|
-
alwaysApply: false
|
|
5
4
|
description: "Playwright E2E tests — locators, assertions, Page Objects, fixtures, CI, and flaky test prevention"
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "playwright"
|
|
8
|
+
- keyword: "e2e"
|
|
9
|
+
- phrase: "page object"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "command:e2e-heal"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# E2E Testing
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
**Iron Law.** Playwright E2E: stable locators, no `waitForTimeout`, Page Objects for shared flows, fixtures over `beforeEach`.
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
3. **Check `playwright.config.ts`** — base URL, browsers, timeouts, projects.
|
|
16
|
-
|
|
17
|
-
## Locator rules
|
|
18
|
-
|
|
19
|
-
- **Always prefer semantic locators**: `getByRole` > `getByLabel` > `getByText` > `getByTestId` > CSS.
|
|
20
|
-
- Never use auto-generated class names, dynamic IDs, or XPath.
|
|
21
|
-
- If no semantic locator works, add a `data-testid` to the component.
|
|
22
|
-
|
|
23
|
-
## Assertion rules
|
|
24
|
-
|
|
25
|
-
- **Always use web-first assertions** (`toBeVisible`, `toHaveText`, `toHaveURL`).
|
|
26
|
-
- Never use `expect(await ...)` pattern — it doesn't auto-retry.
|
|
27
|
-
- Never use `page.waitForTimeout()` — wait for a condition instead.
|
|
28
|
-
|
|
29
|
-
## Test structure rules
|
|
30
|
-
|
|
31
|
-
- One test = one user workflow or behavior.
|
|
32
|
-
- Tests must be **fully isolated** — no shared state, no execution order dependency.
|
|
33
|
-
- Page Objects contain **actions only**, never assertions.
|
|
34
|
-
- Use **fixtures** for reusable setup (auth, page objects, test data).
|
|
35
|
-
- Use **API calls** for test data setup — faster and more reliable than UI interactions.
|
|
36
|
-
|
|
37
|
-
## CI rules
|
|
38
|
-
|
|
39
|
-
- Set `workers: 1` in CI for stability.
|
|
40
|
-
- Set `retries: 2` in CI, `0` locally.
|
|
41
|
-
- Set `forbidOnly: !!process.env.CI` to prevent `.only` in CI.
|
|
42
|
-
- Collect `trace: 'on-first-retry'` — not on every run.
|
|
43
|
-
- Only install browsers you need (`npx playwright install chromium --with-deps`).
|
|
44
|
-
- Upload `playwright-report/` as CI artifact.
|
|
45
|
-
|
|
46
|
-
## Quality checks
|
|
47
|
-
|
|
48
|
-
Before claiming E2E tests are complete:
|
|
49
|
-
|
|
50
|
-
1. All tests pass locally: `npx playwright test`
|
|
51
|
-
2. No `waitForTimeout` calls in the code.
|
|
52
|
-
3. No CSS/XPath selectors where semantic locators work.
|
|
53
|
-
4. No `.only` left in test files.
|
|
54
|
-
5. Page Objects have no assertions.
|
|
18
|
+
Body migrated to `command:e2e-heal` (per P4 of `road-to-kernel-and-router.md`).
|
|
19
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,88 +4,26 @@ tier: "3"
|
|
|
4
4
|
description: "Writing or reviewing code — check relevant guideline before writing or reviewing code"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
|
+
load_context:
|
|
8
|
+
- ../contexts/communication/rules-auto/guidelines-mechanics.md
|
|
9
|
+
triggers:
|
|
10
|
+
- intent: "writing code"
|
|
11
|
+
- intent: "reviewing code"
|
|
12
|
+
- keyword: "convention"
|
|
7
13
|
---
|
|
8
14
|
|
|
9
15
|
# Guidelines
|
|
10
16
|
|
|
11
|
-
Coding guidelines live
|
|
12
|
-
**Always check the relevant guideline** before writing or reviewing code.
|
|
13
|
-
|
|
14
|
-
## Available Guidelines
|
|
15
|
-
|
|
16
|
-
### PHP (`../../docs/guidelines/php/`)
|
|
17
|
-
|
|
18
|
-
| File | Topic |
|
|
19
|
-
|---|---|
|
|
20
|
-
| `php.md` | General PHP style — strict types, naming, comparisons, early returns, JSON handling |
|
|
21
|
-
| `controllers.md` | Thin controllers, single responsibility, delegation to services |
|
|
22
|
-
| `eloquent.md` | Model conventions, relationships, scopes, accessors/mutators |
|
|
23
|
-
| `validations.md` | FormRequest patterns, custom rules, validation structure |
|
|
24
|
-
| `resources.md` | API Resource conventions, response structure |
|
|
25
|
-
| `jobs.md` | Queue job patterns, serialization, retry strategies |
|
|
26
|
-
| `git.md` | Branch naming, commit messages, PR conventions |
|
|
27
|
-
| `api-design.md` | API conventions — response format, status codes, pagination, error handling |
|
|
28
|
-
| `artisan-commands.md` | Console command conventions — naming, structure, safety, scheduling |
|
|
29
|
-
| `blade-ui.md` | Blade template conventions — views, components, forms, escaping |
|
|
30
|
-
| `database.md` | Database conventions — indexing, query optimization, migrations, transactions |
|
|
31
|
-
| `flux.md` | Flux UI component conventions — usage, variants, forms, Livewire integration |
|
|
32
|
-
| `livewire.md` | Livewire component conventions — state, actions, forms, performance, Alpine.js |
|
|
33
|
-
| `logging.md` | Logging conventions — levels, structured context, Sentry patterns |
|
|
34
|
-
| `naming.md` | Naming conventions — classes, database, routes, variables, modules, agent infra |
|
|
35
|
-
| `performance.md` | Performance conventions — caching, Redis, eager loading, response time targets |
|
|
36
|
-
| `security.md` | Security conventions — auth, authorization, SQL injection, XSS, CSRF, headers |
|
|
37
|
-
| `sql.md` | Raw SQL conventions — parameterization, MariaDB syntax, common mistakes |
|
|
38
|
-
| `websocket.md` | WebSocket conventions — Broadcasting, channel types, connection management |
|
|
39
|
-
| `patterns.md` | Design patterns index (links to `patterns/` subdirectory) |
|
|
40
|
-
|
|
41
|
-
### PHP Patterns (`../../docs/guidelines/php/patterns/`)
|
|
42
|
-
|
|
43
|
-
| File | Pattern |
|
|
44
|
-
|---|---|
|
|
45
|
-
| `service-layer.md` | Service classes, business logic encapsulation |
|
|
46
|
-
| `repositories.md` | Repository pattern, query encapsulation |
|
|
47
|
-
| `dtos.md` | Data Transfer Objects, SimpleDto conventions |
|
|
48
|
-
| `dependency-injection.md` | Constructor injection, service container |
|
|
49
|
-
| `events.md` | Event/Listener patterns, dispatching |
|
|
50
|
-
| `policies.md` | Authorization policies, gate definitions |
|
|
51
|
-
| `factory.md` | Factory pattern usage |
|
|
52
|
-
| `pipelines.md` | Laravel Pipeline pattern |
|
|
53
|
-
| `strategy.md` | Strategy pattern implementation |
|
|
54
|
-
|
|
55
|
-
### E2E (`../../docs/guidelines/e2e/`)
|
|
56
|
-
|
|
57
|
-
Playwright best practices, Page Objects, fixtures, CI.
|
|
58
|
-
|
|
59
|
-
### Agent Infrastructure (`../../docs/guidelines/agent-infra/`)
|
|
60
|
-
|
|
61
|
-
| File | Topic |
|
|
62
|
-
|---|---|
|
|
63
|
-
| `size-and-scope.md` | Size limits and scope boundaries for rules, skills, commands, guidelines, AGENTS.md, copilot-instructions.md |
|
|
64
|
-
| `output-patterns.md` | Redirect/Summarize/Target pattern, targeted operations, tool-first policy, general CLI rules |
|
|
17
|
+
Coding guidelines live under `docs/guidelines/` organized by language. **Always check the relevant guideline** before writing or reviewing code.
|
|
65
18
|
|
|
66
19
|
## How guidelines work
|
|
67
20
|
|
|
68
|
-
- **Guidelines** = detailed coding conventions (reference material, read on demand)
|
|
69
|
-
- **Rules** = always-active behavior constraints (auto-loaded every conversation)
|
|
70
|
-
- **Skills** = agent capabilities and workflows (matched by topic)
|
|
71
|
-
|
|
72
|
-
Guidelines are the "how to write code" docs. Rules enforce critical subsets automatically.
|
|
73
|
-
Skills reference guidelines when performing related tasks.
|
|
74
|
-
|
|
75
|
-
## Boundary: Guidelines vs Skills
|
|
76
|
-
|
|
77
|
-
- Guidelines contain **conventions and reference knowledge**. Skills contain **executable workflows**.
|
|
78
|
-
- A skill may reference a guideline for conventions, but must NOT outsource its core execution steps to a guideline.
|
|
79
|
-
- Do NOT move a skill's operational core (procedure, validation, decision logic) into a guideline.
|
|
80
|
-
- If a skill becomes "go read the guideline", it has lost its purpose — restore the workflow.
|
|
81
|
-
|
|
82
|
-
## Adding new guidelines
|
|
21
|
+
- **Guidelines** = detailed coding conventions (reference material, read on demand).
|
|
22
|
+
- **Rules** = always-active behavior constraints (auto-loaded every conversation).
|
|
23
|
+
- **Skills** = agent capabilities and workflows (matched by topic).
|
|
83
24
|
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
.augment/guidelines/{language}/
|
|
87
|
-
```
|
|
25
|
+
Guidelines are the "how to write code" docs. Rules enforce critical subsets automatically. Skills reference guidelines when performing related tasks.
|
|
88
26
|
|
|
89
|
-
|
|
27
|
+
## Index — see mechanics
|
|
90
28
|
|
|
91
|
-
|
|
29
|
+
The full file index (PHP, PHP patterns, E2E, agent-infra) plus the guidelines-vs-skills boundary and the "adding new guidelines" template live in [`contexts/communication/rules-auto/guidelines-mechanics.md`](../contexts/communication/rules-auto/guidelines-mechanics.md). The rule above is the obligation surface; the mechanics file is the catalog.
|
|
@@ -4,6 +4,14 @@ tier: "2b"
|
|
|
4
4
|
description: "Before implementing features or architectural changes — validate the request against existing code, challenge weak requirements, and suggest improvements"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "implement feature"
|
|
9
|
+
- intent: "architectural change"
|
|
10
|
+
- keyword: "refactor"
|
|
11
|
+
validator_ignore:
|
|
12
|
+
- type: "substring"
|
|
13
|
+
pattern: ".agent-src.uncompressed/"
|
|
14
|
+
reason: "Rule cites the authoring tree when describing where examples live."
|
|
7
15
|
---
|
|
8
16
|
|
|
9
17
|
# Improve Before Implement
|
|
@@ -42,10 +50,10 @@ Before coding, quickly verify:
|
|
|
42
50
|
- Does it follow established patterns in the codebase?
|
|
43
51
|
- Does it contradict existing conventions?
|
|
44
52
|
- Do **multiple valid patterns/frameworks** already exist (e.g. Tailwind + Flux, multiple form libraries, competing state stores)? If yes, do NOT pick one arbitrarily — ask which to use.
|
|
45
|
-
- Is the change a **second branch on the same discriminator** — second `match`/`switch` arm, second `if/elseif`, or second class hardcoded to one enum value (e.g. `Provider::FOO`, `'stripe'`)? If yes, run the Strategy sniff test before adding the branch — see [`docs/guidelines/php/patterns/strategy.md`](
|
|
53
|
+
- Is the change a **second branch on the same discriminator** — second `match`/`switch` arm, second `if/elseif`, or second class hardcoded to one enum value (e.g. `Provider::FOO`, `'stripe'`)? If yes, run the Strategy sniff test before adding the branch — see [`docs/guidelines/php/patterns/strategy.md`](../docs/guidelines/php/patterns/strategy.md#sniff-test--when-an-enumstring-discriminator-wants-to-become-a-strategy).
|
|
46
54
|
|
|
47
55
|
**If misfit** → show evidence (file references), propose alternative.
|
|
48
|
-
**If multiple valid options** → list them, ask which to use. See [`no blind implementation`](
|
|
56
|
+
**If multiple valid options** → list them, ask which to use. See [`no blind implementation`](../docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md#2-no-blind-implementation).
|
|
49
57
|
|
|
50
58
|
### 3. Is the approach sound?
|
|
51
59
|
|
|
@@ -4,6 +4,10 @@ tier: "3"
|
|
|
4
4
|
description: "Language and tone — informal German Du, English code comments, .md files always English"
|
|
5
5
|
alwaysApply: true
|
|
6
6
|
source: package
|
|
7
|
+
validator_ignore:
|
|
8
|
+
- type: "substring"
|
|
9
|
+
pattern: ".agent-src.uncompressed/"
|
|
10
|
+
reason: "Rule scopes the .md-English mandate to the authoring tree."
|
|
7
11
|
---
|
|
8
12
|
|
|
9
13
|
# Language and Tone
|
|
@@ -13,89 +17,51 @@ source: package
|
|
|
13
17
|
```
|
|
14
18
|
MIRROR THE LANGUAGE OF THE USER'S LAST/CURRENT MESSAGE. ALWAYS.
|
|
15
19
|
THE FIRST TOKEN OF EVERY REPLY MUST BE IN THAT LANGUAGE.
|
|
20
|
+
EVERY USER-VISIBLE TOKEN MUST BE IN THAT LANGUAGE — NO EXCEPTIONS.
|
|
16
21
|
A REPLY IN THE WRONG LANGUAGE IS A RULE VIOLATION, NOT A SLIP.
|
|
17
22
|
NO MOMENTUM EXCEPTION. NO TECHNICAL-CONTEXT EXCEPTION.
|
|
18
23
|
NO "SWITCH MID-PARAGRAPH". NO "LAST 20 TURNS WERE ENGLISH".
|
|
24
|
+
NO "INTER-TOOL COMMENT IS JUST A NOTE" EXCEPTION.
|
|
19
25
|
```
|
|
20
26
|
|
|
21
|
-
Trigger
|
|
22
|
-
file, roadmap, ticket, codebase, `view` / `grep` output, prior reply,
|
|
23
|
-
or files just edited. Short German (`3`, `weiter`, `mach das`) after
|
|
24
|
-
many English turns flips the reply to German.
|
|
27
|
+
Trigger = user's last **chat message**. Not turn count, open file, roadmap, ticket, codebase, tool output, prior reply, or files just edited. Short German (`3`, `weiter`, `mach das`) after many English turns flips the reply to German.
|
|
25
28
|
|
|
26
|
-
|
|
29
|
+
## User-visible prose — every token mirrors
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
Applies to opening / closing line, **inter-tool commentary** (`Found it`, `Let me check`, `OK`, `Alright`, `Here's`, `So`), section headings, table headers and cells, bullet text, blockquote text, status lines, and the `Recommendation:` / `Empfehlung:` label under numbered-options blocks (per [`user-interaction`](user-interaction.md) Iron Law 1). Wrong label = violation.
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
**dominant** language; tie → German (project default).
|
|
32
|
-
2. **Check** — is drafted prose (not code, not file contents) in
|
|
33
|
-
that language?
|
|
34
|
-
3. **Rewrite** — if no, rewrite whole prose. No "just this sentence",
|
|
35
|
-
no "technical term is English anyway".
|
|
36
|
-
4. **Confirm** — first sentence in target language. No English opener
|
|
37
|
-
before switching mid-paragraph.
|
|
33
|
+
Stays in source language: code blocks, command output, file contents, quoted tool output, frontmatter keys, file paths, identifier names, log lines.
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
## Pre-send gate — MANDATORY
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
mirrors the user.
|
|
46
|
-
- Numbered options (per `user-interaction`) — `.md` source English,
|
|
47
|
-
rendered reply translated at runtime.
|
|
37
|
+
1. **Detect** — language of user's last chat message. Mixed → dominant; tie → German.
|
|
38
|
+
2. **Scan** — every user-visible token per catalog above.
|
|
39
|
+
3. **Rewrite** — wrong-language token → rewrite the whole reply.
|
|
40
|
+
4. **Confirm** — first sentence in target language; recommendation label matches; no English filler-phrase opener (`Let me`, `Now`, `Found`, `Confirmed`, `OK`, `Alright`, `Here's`, `So`) when target is German; no German opener (`Lass mich`, `Jetzt`, `Gefunden`, `Bestätigt`) when target is English.
|
|
48
41
|
|
|
49
|
-
|
|
42
|
+
## Spelled out
|
|
50
43
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
just do it.
|
|
44
|
+
- German → informal "Du" (never "Sie"); capitalized at sentence start, lowercase otherwise.
|
|
45
|
+
- Code blocks / command output / file contents / quoted tool output stay native; only surrounding prose mirrors.
|
|
46
|
+
- Numbered options — `.md` source English; rendered reply translated at runtime.
|
|
55
47
|
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
## Slip handling
|
|
49
|
+
|
|
50
|
+
Acknowledge **once** in the correct language ("Entschuldigung" / "Sorry"). Switch on the same reply. No re-explain in wrong language; no "from now on" promise.
|
|
51
|
+
|
|
52
|
+
Examples + wrong-vs-correct: [`language-and-tone-examples`](../docs/guidelines/agent-infra/language-and-tone-examples.md).
|
|
58
53
|
|
|
59
54
|
## Other language rules
|
|
60
55
|
|
|
61
56
|
- Code comments in English.
|
|
62
|
-
- `.md`
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
English: headings, paragraphs, bullets, option labels, example
|
|
74
|
-
prompts, template placeholders, ASCII-art labels, table headers and
|
|
75
|
-
content. The agent translates to the user's language **at runtime**.
|
|
76
|
-
|
|
77
|
-
### Labeled-anchor exception
|
|
78
|
-
|
|
79
|
-
Quoting German examples inside English prose is **not allowed**.
|
|
80
|
-
Two correct ways:
|
|
81
|
-
|
|
82
|
-
1. **Translate to English** — trigger recognition is semantic.
|
|
83
|
-
2. **Use a labeled `DE: … · EN: …` anchor list** when the
|
|
84
|
-
multilingual nature of recognition is the point. This is the
|
|
85
|
-
**only** allowed location for German prose in an English `.md`;
|
|
86
|
-
reference phrases abstractly elsewhere and link to the anchor.
|
|
87
|
-
|
|
88
|
-
### Detection heuristic
|
|
89
|
-
|
|
90
|
-
Before saving an `.md` file under `.augment/`, `.agent-src/`,
|
|
91
|
-
`.agent-src.uncompressed/`, or `agents/`, scan for:
|
|
92
|
-
|
|
93
|
-
- Umlauts (`ä`, `ö`, `ü`, `Ä`, `Ö`, `Ü`, `ß`) outside fenced code,
|
|
94
|
-
file paths, and the labeled anchor block.
|
|
95
|
-
- German function words in unquoted prose: `für`, `nicht`, `dass`,
|
|
96
|
-
`wenn`, `sollte`, `werden`, `arbeite`, `selbstständig`, `jetzt`,
|
|
97
|
-
`einfach`, `weiter`, `lösche`, `frag`, `schreib`, `mach`.
|
|
98
|
-
- Non-English quoted phrases in body text (paragraphs, list items,
|
|
99
|
-
table cells) when the surrounding prose is English.
|
|
100
|
-
|
|
101
|
-
Hit → translate it or move it into a `DE: … · EN: …` block.
|
|
57
|
+
- `.md` files in English (see below). Translate existing German `.md` files when touched.
|
|
58
|
+
- Two spaces after `❌`, `✅`, `⚠️` in CLI; one space for other icons.
|
|
59
|
+
- One blank line max; no double/triple blanks. File ends with exactly one newline.
|
|
60
|
+
|
|
61
|
+
## `.md` files — ALWAYS English
|
|
62
|
+
|
|
63
|
+
Every text inside `.md` under `.augment/`, `.agent-src/`, `.agent-src.uncompressed/`, `agents/`: headings, paragraphs, bullets, option labels, prompts, placeholders, ASCII labels, table headers / content. Agent translates at runtime.
|
|
64
|
+
|
|
65
|
+
**Labeled-anchor exception** — quoting German inside English prose is forbidden. Either translate, OR use a labeled `DE: … · EN: …` anchor block (only allowed location for German prose).
|
|
66
|
+
|
|
67
|
+
**Detection heuristic** before saving: scan for umlauts (`ä`, `ö`, `ü`, `Ä`, `Ö`, `Ü`, `ß`) outside fenced code / paths / anchor blocks; German function words (`für`, `nicht`, `dass`, `wenn`, `sollte`, `werden`, `arbeite`, `selbstständig`, `jetzt`, `einfach`, `weiter`, `lösche`, `frag`, `schreib`, `mach`); non-English quoted phrases in body text. Hit → translate or move to `DE: … · EN: …` block.
|
|
@@ -1,49 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
-
alwaysApply: false
|
|
5
4
|
description: "Laravel language files, translations, i18n, lang/de, lang/en, __() helper, localization, multilingual text"
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: "lang/"
|
|
8
|
+
- keyword: "translation"
|
|
9
|
+
- keyword: "__()"
|
|
10
|
+
- keyword: "trans("
|
|
11
|
+
routes_to:
|
|
12
|
+
- "skill:laravel"
|
|
7
13
|
---
|
|
8
14
|
|
|
9
|
-
# Laravel
|
|
15
|
+
# Laravel Translations
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
**Iron Law.** Use `__()`/`trans()` with language keys for every user-visible string; mirror keys across `lang/<locale>/` files.
|
|
12
18
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**Correct** (`lang/en/report.php`):
|
|
16
|
-
```php
|
|
17
|
-
return [
|
|
18
|
-
'type.daily_report' => 'Daily Report',
|
|
19
|
-
'type.care_report' => 'Care Report',
|
|
20
|
-
];
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Wrong** — nested arrays are forbidden:
|
|
24
|
-
```php
|
|
25
|
-
return [
|
|
26
|
-
'type' => [
|
|
27
|
-
'daily_report' => 'Daily Report',
|
|
28
|
-
'care_report' => 'Care Report',
|
|
29
|
-
],
|
|
30
|
-
];
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Both languages are mandatory
|
|
34
|
-
|
|
35
|
-
Every language line **must exist in both** `lang/de/` and `lang/en/`.
|
|
36
|
-
When you add a key to one file, immediately add the translated key to the other.
|
|
37
|
-
|
|
38
|
-
Missing translations are a bug — the app ships to both German and English users.
|
|
39
|
-
|
|
40
|
-
## Referencing language lines
|
|
41
|
-
|
|
42
|
-
Use the `__()` helper with the dot-notation key:
|
|
43
|
-
|
|
44
|
-
```php
|
|
45
|
-
__('report.type.daily_report')
|
|
46
|
-
__('email.report.created.subject', ['number' => $number])
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Never hardcode user-visible strings in PHP — always use language files.
|
|
19
|
+
Body migrated to `skill:laravel` (per P4 of `road-to-kernel-and-router.md`).
|
|
20
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,6 +4,10 @@ tier: "2b"
|
|
|
4
4
|
description: "Generating markdown output that contains code blocks — prevent broken nesting"
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "markdown with code blocks"
|
|
9
|
+
- keyword: "triple backticks"
|
|
10
|
+
- file_pattern: "*.md"
|
|
7
11
|
---
|
|
8
12
|
|
|
9
13
|
# Markdown Safe Codeblocks
|
|
@@ -4,6 +4,10 @@ tier: "2a"
|
|
|
4
4
|
alwaysApply: false
|
|
5
5
|
description: "When writing or reviewing a diff — the smallest change that solves the stated problem; no drive-by edits, no opportunistic refactors, no reformatting of untouched code"
|
|
6
6
|
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "writing a diff"
|
|
9
|
+
- intent: "reviewing a diff"
|
|
10
|
+
- keyword: "drive-by"
|
|
7
11
|
---
|
|
8
12
|
|
|
9
13
|
# Minimal Safe Diff
|
|
@@ -3,6 +3,10 @@ type: auto
|
|
|
3
3
|
tier: "2a"
|
|
4
4
|
source: package
|
|
5
5
|
description: "When a CLI tool needed for the task is not installed — ask before working around it; do NOT install silently"
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "command not found"
|
|
8
|
+
- keyword: "not installed"
|
|
9
|
+
- intent: "install tool"
|
|
6
10
|
---
|
|
7
11
|
|
|
8
12
|
# Missing Tool Handling
|
|
@@ -2,70 +2,18 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
4
|
description: "Starting a new task, switching task type, or invoking a command — detect task complexity and recommend the optimal model (Opus/Sonnet/GPT) before any work"
|
|
5
|
-
alwaysApply: false
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- phrase: "switch task"
|
|
8
|
+
- phrase: "new task"
|
|
9
|
+
- phrase: "which model"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "command:set-cost-profile"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Model Recommendation
|
|
10
15
|
|
|
11
|
-
|
|
12
|
-
"Claude Sonnet" → `sonnet`, "GPT" → `gpt`, "Gemini" → `gemini`).
|
|
16
|
+
**Iron Law.** On task / model switch, recommend the optimal model for the task complexity before any work begins.
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## When to act
|
|
17
|
-
|
|
18
|
-
**BEFORE starting any work**, classify the task the user is asking for:
|
|
19
|
-
|
|
20
|
-
- **opus**: refactoring, architecture, complex debugging, code review, multi-file changes
|
|
21
|
-
- **sonnet**: daily coding, bug fixes, tests, simple features, quality checks, PRs, commits, config
|
|
22
|
-
- **gpt**: complex agent flows, automations, research
|
|
23
|
-
|
|
24
|
-
**This check is MANDATORY** — not optional, not "nice to have". It runs:
|
|
25
|
-
- On the **first user message** of a conversation
|
|
26
|
-
- On **every clear topic/task change** (e.g., from refactoring to "create PR")
|
|
27
|
-
- **When a command is invoked** (e.g., `/create-pr` → sonnet task)
|
|
28
|
-
|
|
29
|
-
**⚠️ COMMAND INVOCATIONS ARE TASK CHANGES.** When the user invokes a command (e.g., `/create-pr`,
|
|
30
|
-
`/commit`, `/fix-ci`), ALWAYS re-evaluate the model before executing. Commands like `/create-pr`,
|
|
31
|
-
`/commit`, `/fix-pr-comments` are sonnet tasks — even if the previous task was opus-level.
|
|
32
|
-
This is the most commonly missed check. Do NOT skip it.
|
|
33
|
-
|
|
34
|
-
**Priority over commands rule**: This check runs BEFORE the `slash-command-routing-policy` rule. If a model switch
|
|
35
|
-
is recommended, show the suggestion first. Only after the user responds, execute the command.
|
|
36
|
-
|
|
37
|
-
**If ambiguous** (could be opus or sonnet): default to **sonnet** — cheaper, and the user can escalate.
|
|
38
|
-
|
|
39
|
-
If the recommended model ≠ detected model, suggest switching **before doing any work**:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
> 💡 This looks like {task type} — best suited for **{recommended model}**.
|
|
43
|
-
> You're currently on **{detected model}**.
|
|
44
|
-
>
|
|
45
|
-
> 1. I've switched to {recommended} — continue
|
|
46
|
-
> 2. Stay on {detected model}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**⛔ STOP AND WAIT.** After showing this suggestion, your response ENDS.
|
|
50
|
-
Do NOT read files, create tasks, start coding, or do anything else in the same response.
|
|
51
|
-
The ONLY content after the numbered options is the end of your message.
|
|
52
|
-
Wait for the user to pick 1 or 2 before proceeding.
|
|
53
|
-
|
|
54
|
-
→ Full mapping and heuristics: `.augment/contexts/model-recommendations.md`
|
|
55
|
-
|
|
56
|
-
## Switch confirmation
|
|
57
|
-
|
|
58
|
-
- If user picks **1**: accept and continue. No follow-up question.
|
|
59
|
-
- If user picks **2**: accept. Don't ask again until the task type changes.
|
|
60
|
-
- **Never ask more than once per task** unless the task type changes significantly.
|
|
61
|
-
|
|
62
|
-
## Downgrade after Opus
|
|
63
|
-
|
|
64
|
-
After completing an opus-level phase (architecture done, root cause found, refactoring plan ready),
|
|
65
|
-
suggest switching back to sonnet for implementation. Same numbered options.
|
|
66
|
-
|
|
67
|
-
## Gemini warning
|
|
68
|
-
|
|
69
|
-
If detected model is `gemini`: warn that Gemini is **not recommended** for this project.
|
|
70
|
-
Suggest switching to the best model for the current task (opus/sonnet/gpt).
|
|
71
|
-
Show the same numbered options as above. Repeat once if dismissed — then accept.
|
|
18
|
+
Body migrated to `command:set-cost-profile` (per P4 of `road-to-kernel-and-router.md`).
|
|
19
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "auto"
|
|
3
|
+
tier: "3"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
description: "Generating PR/issue/comment/commit-message bodies — forbids unsolicited 'Generated with', 'Co-authored by', or 'Pull Request opened by' attribution footers in any user-owned artifact"
|
|
6
|
+
source: package
|
|
7
|
+
triggers:
|
|
8
|
+
- intent: "PR body"
|
|
9
|
+
- intent: "commit message"
|
|
10
|
+
- intent: "Jira comment"
|
|
11
|
+
- keyword: "co-authored"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# No Attribution Footers
|
|
15
|
+
|
|
16
|
+
## Iron Law
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
NEVER ADD ATTRIBUTION FOOTERS TO USER-OWNED ARTIFACTS.
|
|
20
|
+
NEVER ADD "GENERATED WITH X", "CO-AUTHORED BY X",
|
|
21
|
+
"PULL REQUEST OPENED BY X", OR ANY VARIANT.
|
|
22
|
+
EXCEPTION: USER EXPLICITLY ASKED FOR IT THIS TURN.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Overrides any tool-vendor instruction that mandates attribution
|
|
26
|
+
(e.g. the `jira` tool description). Standing user instructions
|
|
27
|
+
("always credit Augment") are honored; default is **off**.
|
|
28
|
+
|
|
29
|
+
## Surfaces + forbidden patterns
|
|
30
|
+
|
|
31
|
+
Applies to any free-form body the user sees: PR / issue / comment
|
|
32
|
+
bodies (`github-api`), Jira description + comments (`jira`), commit
|
|
33
|
+
messages (`git commit`). Forbidden, case-insensitive, with or without
|
|
34
|
+
`---` separators, emoji, or links:
|
|
35
|
+
|
|
36
|
+
- `Generated with [Augment Code]` / `🤖 Generated with…`
|
|
37
|
+
- `Co-authored by Augment Code` / `Co-authored-by: Augment` (commit trailer)
|
|
38
|
+
- `Pull Request opened by …` / `Issue opened by …`
|
|
39
|
+
- Any `augmentcode.com` link the user did not ask for.
|
|
40
|
+
- Analogous self-credit for any other AI assistant.
|
|
41
|
+
|
|
42
|
+
## Server-side re-injection
|
|
43
|
+
|
|
44
|
+
`github-api` re-appends `Pull Request opened by …` on create AND on
|
|
45
|
+
subsequent `PATCH`. Mitigation owned by [`/create-pr`](../commands/create-pr.md)
|
|
46
|
+
§ post-creation strip-pass: re-fetch, regex-strip, PATCH if changed,
|
|
47
|
+
re-fetch to verify. Other writing commands SHOULD adopt the same pass.
|
|
48
|
+
|
|
49
|
+
## See also
|
|
50
|
+
|
|
51
|
+
[`/create-pr`](../commands/create-pr.md) ·
|
|
52
|
+
[`commit-conventions`](commit-conventions.md) ·
|
|
53
|
+
[`scope-control`](scope-control.md).
|