@event4u/agent-config 14.23.0 → 15.0.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.
Files changed (503) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +198 -0
  5. package/README.md +1 -1
  6. package/dist/agent-src/commands/agent-handoff.md +8 -7
  7. package/dist/agent-src/commands/agents/init.md +1 -1
  8. package/dist/agent-src/commands/agents/user/accept.md +4 -4
  9. package/dist/agent-src/commands/agents/user/delete.md +2 -2
  10. package/dist/agent-src/commands/agents/user/init.md +3 -3
  11. package/dist/agent-src/commands/agents/user/review.md +3 -3
  12. package/dist/agent-src/commands/agents/user/show.md +3 -3
  13. package/dist/agent-src/commands/agents/user/update.md +2 -2
  14. package/dist/agent-src/commands/agents/user.md +6 -6
  15. package/dist/agent-src/commands/analytics/prune.md +1 -1
  16. package/dist/agent-src/commands/analytics/show.md +2 -2
  17. package/dist/agent-src/commands/analyze/decision.md +2 -2
  18. package/dist/agent-src/commands/analyze/inbox.md +5 -5
  19. package/dist/agent-src/commands/analyze/incident.md +3 -3
  20. package/dist/agent-src/commands/analyze/near-miss.md +3 -3
  21. package/dist/agent-src/commands/analyze/postmortem.md +4 -4
  22. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  23. package/dist/agent-src/commands/analyze.md +2 -2
  24. package/dist/agent-src/commands/bug/fix.md +1 -1
  25. package/dist/agent-src/commands/bug/investigate.md +2 -2
  26. package/dist/agent-src/commands/cost/profile.md +3 -3
  27. package/dist/agent-src/commands/design.md +1 -1
  28. package/dist/agent-src/commands/feature/explore.md +1 -1
  29. package/dist/agent-src/commands/feature/plan.md +2 -2
  30. package/dist/agent-src/commands/feature/roadmap.md +2 -2
  31. package/dist/agent-src/commands/ghostwriter/fetch.md +4 -4
  32. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  33. package/dist/agent-src/commands/ghostwriter/show.md +1 -1
  34. package/dist/agent-src/commands/ghostwriter/write.md +9 -9
  35. package/dist/agent-src/commands/humanize.md +6 -6
  36. package/dist/agent-src/commands/jira-ticket.md +1 -1
  37. package/dist/agent-src/commands/judge/solo.md +1 -1
  38. package/dist/agent-src/commands/judge.md +1 -1
  39. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
  40. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  41. package/dist/agent-src/commands/knowledge/ingest.md +2 -2
  42. package/dist/agent-src/commands/knowledge/list.md +1 -1
  43. package/dist/agent-src/commands/memory/add.md +3 -3
  44. package/dist/agent-src/commands/memory/load.md +4 -4
  45. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  46. package/dist/agent-src/commands/memory/promote.md +4 -4
  47. package/dist/agent-src/commands/memory/propose.md +2 -2
  48. package/dist/agent-src/commands/mode.md +5 -5
  49. package/dist/agent-src/commands/post-as/ghostwriter.md +3 -3
  50. package/dist/agent-src/commands/post-as/me.md +7 -7
  51. package/dist/agent-src/commands/pr/create.md +1 -1
  52. package/dist/agent-src/commands/pr/merge.md +1 -1
  53. package/dist/agent-src/commands/profile/activate.md +1 -1
  54. package/dist/agent-src/commands/profile/show.md +1 -1
  55. package/dist/agent-src/commands/research/deep.md +2 -2
  56. package/dist/agent-src/commands/research/report.md +2 -2
  57. package/dist/agent-src/commands/review/changes.md +1 -1
  58. package/dist/agent-src/commands/review/routing.md +1 -1
  59. package/dist/agent-src/commands/roadmap/create.md +1 -1
  60. package/dist/agent-src/commands/roadmap/materialize.md +2 -2
  61. package/dist/agent-src/commands/roadmap/next.md +1 -1
  62. package/dist/agent-src/commands/roadmap/process-full.md +2 -2
  63. package/dist/agent-src/commands/security-audit-config.md +3 -3
  64. package/dist/agent-src/commands/skill/preview.md +1 -1
  65. package/dist/agent-src/commands/skills/discover.md +1 -1
  66. package/dist/agent-src/commands/sync/agent-settings.md +2 -2
  67. package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
  68. package/dist/agent-src/commands/tests/create.md +1 -1
  69. package/dist/agent-src/commands/tests/e2e-heal.md +1 -1
  70. package/dist/agent-src/commands/tests/e2e-plan.md +1 -1
  71. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +6 -6
  72. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -2
  73. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
  74. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +88 -1
  75. package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +1 -1
  76. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
  77. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
  78. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
  79. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +1 -1
  80. package/dist/agent-src/contexts/execution/cheap-question-mechanics.md +1 -1
  81. package/dist/agent-src/contexts/execution/contract-decision-sheet.md +3 -3
  82. package/dist/agent-src/contexts/execution/mandated-lines.md +1 -1
  83. package/dist/agent-src/contexts/execution/non-interactive-contract.md +1 -1
  84. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -1
  85. package/dist/agent-src/contexts/execution/plan-confidence-gate.md +5 -5
  86. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -1
  87. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +1 -1
  88. package/dist/agent-src/contexts/execution/subagent-routing.md +2 -2
  89. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +1 -1
  90. package/dist/agent-src/contexts/execution/user-memory-channels.md +3 -3
  91. package/dist/agent-src/contexts/execution/verification-mechanics.md +1 -1
  92. package/dist/agent-src/contexts/judges/persona-voice-rubric.md +2 -2
  93. package/dist/agent-src/guidelines/abstraction-thresholds.md +88 -0
  94. package/dist/agent-src/guidelines/agent-infra/5w2h-analysis.md +260 -0
  95. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +99 -0
  96. package/dist/agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +325 -0
  97. package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +177 -0
  98. package/dist/agent-src/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +222 -0
  99. package/dist/agent-src/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
  100. package/dist/agent-src/guidelines/agent-infra/asking-and-brevity-examples.md +198 -0
  101. package/dist/agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
  102. package/dist/agent-src/guidelines/agent-infra/carve-out-predicates.md +17 -0
  103. package/dist/agent-src/guidelines/agent-infra/comparison-matrix.md +179 -0
  104. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +165 -0
  105. package/dist/agent-src/guidelines/agent-infra/corpus-grounding-authoring.md +91 -0
  106. package/dist/agent-src/guidelines/agent-infra/critical-thinking.md +156 -0
  107. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
  108. package/dist/agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
  109. package/dist/agent-src/guidelines/agent-infra/direct-answers-demos.md +142 -0
  110. package/dist/agent-src/guidelines/agent-infra/domain-adoption-gates.md +112 -0
  111. package/dist/agent-src/guidelines/agent-infra/domain-eval-anti-pattern.md +53 -0
  112. package/dist/agent-src/guidelines/agent-infra/domain-pack-architecture.md +56 -0
  113. package/dist/agent-src/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
  114. package/dist/agent-src/guidelines/agent-infra/emphasis-budget.md +45 -0
  115. package/dist/agent-src/guidelines/agent-infra/engineering-memory-data-format.md +210 -0
  116. package/dist/agent-src/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
  117. package/dist/agent-src/guidelines/agent-infra/existence-question-verdicts.md +80 -0
  118. package/dist/agent-src/guidelines/agent-infra/failure-signatures.md +70 -0
  119. package/dist/agent-src/guidelines/agent-infra/false-green.md +233 -0
  120. package/dist/agent-src/guidelines/agent-infra/first-principles.md +192 -0
  121. package/dist/agent-src/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
  122. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +169 -0
  123. package/dist/agent-src/guidelines/agent-infra/gate-authoring.md +177 -0
  124. package/dist/agent-src/guidelines/agent-infra/guarded-baseline.md +39 -0
  125. package/dist/agent-src/guidelines/agent-infra/installed-tools-manifest.md +142 -0
  126. package/dist/agent-src/guidelines/agent-infra/inversion-thinking.md +388 -0
  127. package/dist/agent-src/guidelines/agent-infra/ios-simulator-guide.md +378 -0
  128. package/dist/agent-src/guidelines/agent-infra/language-and-tone-examples.md +141 -0
  129. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +317 -0
  130. package/dist/agent-src/guidelines/agent-infra/linked-projects-onboarding-gate.md +80 -0
  131. package/dist/agent-src/guidelines/agent-infra/mcp-request-signing.md +197 -0
  132. package/dist/agent-src/guidelines/agent-infra/memory-access.md +149 -0
  133. package/dist/agent-src/guidelines/agent-infra/mental-models.md +314 -0
  134. package/dist/agent-src/guidelines/agent-infra/minimal-safe-diff-mechanics.md +241 -0
  135. package/dist/agent-src/guidelines/agent-infra/missing-tool-handling.md +66 -0
  136. package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +101 -0
  137. package/dist/agent-src/guidelines/agent-infra/naming.md +69 -0
  138. package/dist/agent-src/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
  139. package/dist/agent-src/guidelines/agent-infra/output-patterns.md +117 -0
  140. package/dist/agent-src/guidelines/agent-infra/recurring-criticism-mechanics.md +96 -0
  141. package/dist/agent-src/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
  142. package/dist/agent-src/guidelines/agent-infra/review-routing-data-format.md +143 -0
  143. package/dist/agent-src/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
  144. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +274 -0
  145. package/dist/agent-src/guidelines/agent-infra/role-contracts.md +209 -0
  146. package/dist/agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
  147. package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
  148. package/dist/agent-src/guidelines/agent-infra/rule-type-governance.md +73 -0
  149. package/dist/agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
  150. package/dist/agent-src/guidelines/agent-infra/scqa-framework.md +526 -0
  151. package/dist/agent-src/guidelines/agent-infra/security-lint-containment.md +121 -0
  152. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +134 -0
  153. package/dist/agent-src/guidelines/agent-infra/simplicity-and-goal-demos.md +211 -0
  154. package/dist/agent-src/guidelines/agent-infra/six-hats.md +353 -0
  155. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +229 -0
  156. package/dist/agent-src/guidelines/agent-infra/skill-quality-checklist.md +157 -0
  157. package/dist/agent-src/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
  158. package/dist/agent-src/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
  159. package/dist/agent-src/guidelines/agent-infra/systems-thinking.md +220 -0
  160. package/dist/agent-src/guidelines/agent-infra/tool-description-as-policy.md +35 -0
  161. package/dist/agent-src/guidelines/agent-infra/tool-integration.md +73 -0
  162. package/dist/agent-src/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
  163. package/dist/agent-src/guidelines/agent-infra/untrusted-input-spotlighting.md +166 -0
  164. package/dist/agent-src/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
  165. package/dist/agent-src/guidelines/augment-portability-patterns.md +70 -0
  166. package/dist/agent-src/guidelines/code-clarity.md +350 -0
  167. package/dist/agent-src/guidelines/component-oriented-and-oop-development.md +189 -0
  168. package/dist/agent-src/guidelines/cross-role-handoff.md +127 -0
  169. package/dist/agent-src/guidelines/design-antipatterns-triggers.json +18 -0
  170. package/dist/agent-src/guidelines/design-antipatterns.md +327 -0
  171. package/dist/agent-src/guidelines/design-asset-discipline.md +38 -0
  172. package/dist/agent-src/guidelines/design-canon.md +63 -0
  173. package/dist/agent-src/guidelines/design-fidelity-mechanics.md +293 -0
  174. package/dist/agent-src/guidelines/design-fidelity-routing.md +78 -0
  175. package/dist/agent-src/guidelines/design-handover-extraction.md +117 -0
  176. package/dist/agent-src/guidelines/design-modes.md +143 -0
  177. package/dist/agent-src/guidelines/design-reconciliation.md +172 -0
  178. package/dist/agent-src/guidelines/docs/readme-size-and-splitting.md +209 -0
  179. package/dist/agent-src/guidelines/e2e/playwright.md +363 -0
  180. package/dist/agent-src/guidelines/gtm-handoff.md +114 -0
  181. package/dist/agent-src/guidelines/monorepo-antipatterns.md +141 -0
  182. package/dist/agent-src/guidelines/php/api-design.md +115 -0
  183. package/dist/agent-src/guidelines/php/artisan-commands.md +81 -0
  184. package/dist/agent-src/guidelines/php/blade-ui.md +78 -0
  185. package/dist/agent-src/guidelines/php/controllers.md +90 -0
  186. package/dist/agent-src/guidelines/php/database.md +194 -0
  187. package/dist/agent-src/guidelines/php/eloquent.md +208 -0
  188. package/dist/agent-src/guidelines/php/flux.md +80 -0
  189. package/dist/agent-src/guidelines/php/general.md +207 -0
  190. package/dist/agent-src/guidelines/php/git.md +164 -0
  191. package/dist/agent-src/guidelines/php/jobs.md +111 -0
  192. package/dist/agent-src/guidelines/php/livewire.md +71 -0
  193. package/dist/agent-src/guidelines/php/logging.md +79 -0
  194. package/dist/agent-src/guidelines/php/naming.md +89 -0
  195. package/dist/agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
  196. package/dist/agent-src/guidelines/php/patterns/dtos.md +199 -0
  197. package/dist/agent-src/guidelines/php/patterns/events.md +67 -0
  198. package/dist/agent-src/guidelines/php/patterns/factory.md +53 -0
  199. package/dist/agent-src/guidelines/php/patterns/pipelines.md +66 -0
  200. package/dist/agent-src/guidelines/php/patterns/policies.md +66 -0
  201. package/dist/agent-src/guidelines/php/patterns/repositories.md +122 -0
  202. package/dist/agent-src/guidelines/php/patterns/service-layer.md +64 -0
  203. package/dist/agent-src/guidelines/php/patterns/strategy.md +247 -0
  204. package/dist/agent-src/guidelines/php/patterns.md +28 -0
  205. package/dist/agent-src/guidelines/php/performance.md +92 -0
  206. package/dist/agent-src/guidelines/php/php-coding-patterns.md +80 -0
  207. package/dist/agent-src/guidelines/php/resources.md +100 -0
  208. package/dist/agent-src/guidelines/php/security.md +110 -0
  209. package/dist/agent-src/guidelines/php/sql.md +97 -0
  210. package/dist/agent-src/guidelines/php/validations.md +119 -0
  211. package/dist/agent-src/guidelines/php/websocket.md +100 -0
  212. package/dist/agent-src/guidelines/prompt-templates.md +189 -0
  213. package/dist/agent-src/guidelines/redundancy-taxonomy.md +208 -0
  214. package/dist/agent-src/guidelines/wing4-handoff.md +127 -0
  215. package/dist/agent-src/personas/README.md +1 -1
  216. package/dist/agent-src/personas/_template-specialist/persona.md +1 -1
  217. package/dist/agent-src/personas/product-owner.md +1 -1
  218. package/dist/agent-src/rules/active-remediation.md +1 -1
  219. package/dist/agent-src/rules/architecture.md +2 -2
  220. package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
  221. package/dist/agent-src/rules/ask-when-uncertain.md +2 -2
  222. package/dist/agent-src/rules/brand-source-of-truth.md +9 -7
  223. package/dist/agent-src/rules/code-comment-discipline.md +2 -2
  224. package/dist/agent-src/rules/code-provenance.md +1 -1
  225. package/dist/agent-src/rules/content-quoting-floor.md +1 -1
  226. package/dist/agent-src/rules/context-hygiene.md +5 -5
  227. package/dist/agent-src/rules/cross-source-consistency.md +1 -1
  228. package/dist/agent-src/rules/design-fidelity.md +36 -46
  229. package/dist/agent-src/rules/direct-answers.md +2 -2
  230. package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
  231. package/dist/agent-src/rules/evaluator-independence.md +1 -1
  232. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  233. package/dist/agent-src/rules/icon-consistency.md +5 -1
  234. package/dist/agent-src/rules/improve-before-implement.md +1 -1
  235. package/dist/agent-src/rules/language-and-tone.md +3 -3
  236. package/dist/agent-src/rules/minimal-safe-diff.md +1 -1
  237. package/dist/agent-src/rules/notes-first-reasoning.md +2 -2
  238. package/dist/agent-src/rules/recurring-criticism.md +1 -1
  239. package/dist/agent-src/rules/roadmap-progress-sync.md +1 -1
  240. package/dist/agent-src/rules/role-mode-adherence.md +2 -2
  241. package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
  242. package/dist/agent-src/rules/size-enforcement.md +1 -1
  243. package/dist/agent-src/rules/source-confidentiality.md +2 -2
  244. package/dist/agent-src/rules/think-before-action.md +1 -1
  245. package/dist/agent-src/rules/token-efficiency.md +7 -5
  246. package/dist/agent-src/rules/ui-audit-gate.md +3 -2
  247. package/dist/agent-src/rules/untrusted-input-defense.md +3 -3
  248. package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
  249. package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
  250. package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
  251. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
  252. package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
  253. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  254. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
  255. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  256. package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
  257. package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
  258. package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
  259. package/dist/agent-src/skills/code-review/SKILL.md +3 -3
  260. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  261. package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
  262. package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
  263. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  264. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
  265. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  266. package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
  267. package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
  268. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  269. package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
  270. package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
  271. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  272. package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
  273. package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
  274. package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
  275. package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
  276. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
  277. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  278. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
  279. package/dist/agent-src/skills/design-review/SKILL.md +4 -4
  280. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
  281. package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
  282. package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
  283. package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
  284. package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
  285. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
  286. package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
  287. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
  288. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
  289. package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
  290. package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
  291. package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
  292. package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
  293. package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
  294. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
  295. package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
  296. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  297. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  298. package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
  299. package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
  300. package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
  301. package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
  302. package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
  303. package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
  304. package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
  305. package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
  306. package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
  307. package/dist/agent-src/skills/iconography/SKILL.md +3 -3
  308. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  309. package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
  310. package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
  311. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
  312. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  313. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
  314. package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
  315. package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
  316. package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
  317. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  318. package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
  319. package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
  320. package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
  321. package/dist/agent-src/skills/org-design/SKILL.md +1 -1
  322. package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
  323. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  324. package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
  325. package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
  326. package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
  327. package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
  328. package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
  329. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  330. package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
  331. package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
  332. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
  333. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  334. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
  335. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  336. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  337. package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
  338. package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
  339. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  340. package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
  341. package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
  342. package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
  343. package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
  344. package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
  345. package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
  346. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  347. package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
  348. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
  349. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
  350. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
  351. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  352. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
  353. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  354. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
  355. package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
  356. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  357. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  358. package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
  359. package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
  360. package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
  361. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  362. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  363. package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
  364. package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
  365. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
  366. package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
  367. package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
  368. package/dist/agent-src/templates/agent-settings.md +6 -6
  369. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  370. package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
  371. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  372. package/dist/agent-src/templates/roadmaps.md +1 -1
  373. package/dist/agent-src/templates/scripts/README.md +2 -2
  374. package/dist/agent-src/user-types/_template/user-type.md +1 -1
  375. package/dist/cli-delegate/check_update_banner.js +12 -1
  376. package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
  377. package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
  378. package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
  379. package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
  380. package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
  381. package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
  382. package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-HZ52BRGG.js} +24 -18
  383. package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
  384. package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
  385. package/dist/cli-delegate/cmd_analyze_session.js +1 -1
  386. package/dist/cli-delegate/cmd_brand_status.js +1 -1
  387. package/dist/cli-delegate/cmd_conformance.js +3 -3
  388. package/dist/cli-delegate/cmd_doctor.js +3 -3
  389. package/dist/cli-delegate/cmd_explain.js +2 -2
  390. package/dist/cli-delegate/cmd_export.js +4 -4
  391. package/dist/cli-delegate/cmd_handoff.js +4 -4
  392. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  393. package/dist/cli-delegate/cmd_memory_get.js +1 -1
  394. package/dist/cli-delegate/cmd_migrate.js +2 -2
  395. package/dist/cli-delegate/cmd_packs_active.js +2 -2
  396. package/dist/cli-delegate/cmd_prune.js +4 -4
  397. package/dist/cli-delegate/cmd_route_audit.js +3 -3
  398. package/dist/cli-delegate/cmd_route_explain.js +1 -1
  399. package/dist/cli-delegate/cmd_session_recycle.js +1 -1
  400. package/dist/cli-delegate/cmd_settings_get.js +15 -9
  401. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  402. package/dist/cli-delegate/cmd_settings_set.js +41 -11
  403. package/dist/cli-delegate/cmd_sync.js +4 -4
  404. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  405. package/dist/cli-delegate/cmd_update.js +1 -1
  406. package/dist/cli-delegate/cmd_upgrade.js +1 -1
  407. package/dist/cli-delegate/cmd_validate.js +4 -4
  408. package/dist/cli-delegate/cmd_versions.js +1 -1
  409. package/dist/discovery/deprecation-report.md +1 -1
  410. package/dist/discovery/discovery-manifest.json +22 -75
  411. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  412. package/dist/discovery/discovery-manifest.summary.md +3 -3
  413. package/dist/discovery/dormancy-report.md +1 -1
  414. package/dist/discovery/orphan-report.md +1 -1
  415. package/dist/discovery/packs.json +5 -7
  416. package/dist/discovery/trust-report.md +2 -2
  417. package/dist/discovery/workspaces.json +4 -6
  418. package/dist/hooks/dispatch.js +8607 -8930
  419. package/dist/install/install.mjs +35 -8
  420. package/dist/mcp/registry-manifest.json +3 -3
  421. package/dist/mcp/server.json +2 -2
  422. package/dist/mcp/server.mjs +1433 -1342
  423. package/dist/router.json +1 -1
  424. package/dist/scripts/_lib/agent_settings.js +73 -0
  425. package/dist/scripts/_lib/agent_src.js +20 -0
  426. package/dist/scripts/_lib/guidelines_lane.js +158 -0
  427. package/dist/scripts/condense.js +2 -5
  428. package/dist/server/io/yamlIO.js +125 -17
  429. package/dist/server/schemas/settings.js +18 -4
  430. package/dist/shared/settingsSurface.js +6 -1
  431. package/docs/contracts/settings-classes.md +18 -9
  432. package/docs/guidelines/abstraction-thresholds.md +35 -0
  433. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
  434. package/docs/guidelines/agent-infra/false-green.md +2 -2
  435. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  436. package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
  437. package/docs/guidelines/design-fidelity-mechanics.md +4 -0
  438. package/docs/guidelines/design-fidelity-routing.md +78 -0
  439. package/docs/guidelines/design-reconciliation.md +172 -0
  440. package/docs/guidelines/gtm-handoff.md +2 -2
  441. package/docs/guidelines/wing4-handoff.md +2 -2
  442. package/package.json +7 -3
  443. package/src/config/agent-settings.template.yml +55 -8
  444. package/src/config/ci-local-parity.yml +34 -0
  445. package/src/config/continuity-surface.json +4 -32
  446. package/src/config/gate-coverage.yml +31 -8
  447. package/src/config/gate-reachability-exemptions.json +1 -0
  448. package/src/config/gate-violation-baselines.json +3 -3
  449. package/src/config/hook-token-budget.json +1 -1
  450. package/src/config/host-injection-effect.json +2 -2
  451. package/src/config/pack-size-budget.json +55 -4
  452. package/src/config/platform-anchor.json +47 -0
  453. package/src/config/preamble-payload-budget.json +2 -3
  454. package/src/config/publish-surface.json +4 -2
  455. package/src/config/ratification-policy.json +7 -0
  456. package/src/config/rule-stub-ceilings.json +16 -9
  457. package/src/scripts/_cli/cmd_settings_get.ts +22 -7
  458. package/src/scripts/_lib/agent_settings.ts +85 -0
  459. package/src/scripts/_lib/agent_src.ts +21 -0
  460. package/src/scripts/_lib/artifact_maturity.ts +242 -0
  461. package/src/scripts/_lib/conformance_report.ts +403 -0
  462. package/src/scripts/_lib/continuity_writer.ts +72 -13
  463. package/src/scripts/_lib/design_system_import.ts +20 -0
  464. package/src/scripts/_lib/design_tolerance.ts +281 -0
  465. package/src/scripts/_lib/guidelines_lane.ts +164 -0
  466. package/src/scripts/_lib/obligation_frequency.ts +2 -3
  467. package/src/scripts/_lib/platform_anchor.ts +1053 -0
  468. package/src/scripts/_lib/ratification_artifact.ts +278 -0
  469. package/src/scripts/_lib/security_lint.ts +23 -2
  470. package/src/scripts/_lib/self_repair.ts +21 -0
  471. package/src/scripts/_lib/session_index_trust.ts +42 -1
  472. package/src/scripts/_lib/standing_bound_ratchet.ts +103 -37
  473. package/src/scripts/_lib/tolerance_shadow.ts +177 -0
  474. package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
  475. package/src/scripts/autonomy_friction_traffic.ts +379 -0
  476. package/src/scripts/check_kernel_edit_ratified.ts +462 -0
  477. package/src/scripts/check_loss_class_declared.ts +793 -46
  478. package/src/scripts/check_platform_anchor.ts +390 -0
  479. package/src/scripts/check_preamble_payload_budget.ts +292 -4
  480. package/src/scripts/check_projected_rule_routes.ts +395 -0
  481. package/src/scripts/code_graph/cli.ts +6 -0
  482. package/src/scripts/condense.ts +2 -6
  483. package/src/scripts/generate_host_cost_table.ts +354 -0
  484. package/src/scripts/hook_manifest.json +1 -1
  485. package/src/scripts/hook_manifest.yaml +35 -27
  486. package/src/scripts/hooks/category_a.ts +1 -1
  487. package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
  488. package/src/scripts/hooks/session_eol_hook.ts +68 -154
  489. package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
  490. package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
  491. package/src/scripts/hot_context_hook.ts +41 -401
  492. package/src/scripts/lint_evidence_artifacts.ts +1 -0
  493. package/src/scripts/lint_knowledge_scale.ts +0 -26
  494. package/src/scripts/memory_lookup.ts +9 -9
  495. package/src/scripts/report_standing_payload_by_host.ts +7 -7
  496. package/src/scripts/session_memory_index.ts +5 -0
  497. package/src/scripts/sync_agent_settings.ts +270 -10
  498. package/src/server/io/yamlIO.ts +127 -17
  499. package/src/server/schemas/settings.ts +25 -5
  500. package/src/shared/settingsSurface.ts +13 -2
  501. package/src/templates/compact-instructions.md +8 -3
  502. package/dist/agent-src/commands/chat-history/import.md +0 -170
  503. package/dist/agent-src/commands/chat-history.md +0 -63
@@ -0,0 +1,115 @@
1
+ # API Design Guidelines
2
+
3
+ > API conventions — response format, status codes, pagination, error handling, rate limiting, route naming.
4
+
5
+ **Related Skills:** `api-design`, `laravel-api-endpoint`, `api-testing`
6
+ **Related Guidelines:** [controllers.md](controllers.md), [resources.md](resources.md)
7
+
8
+ ## Response Format
9
+
10
+ - **Always use API Resource classes** — never return raw models or arrays.
11
+ - **Single item:** `{ "data": { ... } }`
12
+ - **Collection:** `{ "data": [ ... ], "meta": { ... }, "links": { ... } }`
13
+
14
+ ## HTTP Status Codes
15
+
16
+ | Code | When |
17
+ |---|---|
18
+ | `200` | Successful GET, PUT, PATCH |
19
+ | `201` | Successful POST (resource created) |
20
+ | `204` | Successful DELETE (no content) |
21
+ | `400` | Bad request (malformed input) |
22
+ | `401` | Unauthenticated |
23
+ | `403` | Unauthorized (forbidden) |
24
+ | `404` | Resource not found |
25
+ | `422` | Validation error |
26
+ | `429` | Rate limited |
27
+ | `500` | Server error |
28
+
29
+ ## Pagination
30
+
31
+ Use Laravel's built-in pagination for list endpoints:
32
+
33
+ ```php
34
+ $projects = Project::query()
35
+ ->filter($filters)
36
+ ->paginate(perPage: $request->integer('per_page', 15));
37
+ ```
38
+
39
+ | Parameter | Default | Description |
40
+ |---|---|---|
41
+ | `page` | 1 | Current page number |
42
+ | `per_page` | 15 | Items per page |
43
+
44
+ ## Filtering and Sorting
45
+
46
+ - Use the project's **filter pipeline** pattern (see `agents/reference/docs/query-filter.md`).
47
+ - Filter classes are dedicated, testable units — not inline query logic.
48
+ - Sorting via `sort` query parameter.
49
+
50
+ ## Error Responses
51
+
52
+ ### Validation errors (422)
53
+
54
+ Laravel's default format:
55
+
56
+ ```json
57
+ {
58
+ "message": "The given data was invalid.",
59
+ "errors": {
60
+ "field": ["The field is required."]
61
+ }
62
+ }
63
+ ```
64
+
65
+ ### Application errors
66
+
67
+ ```json
68
+ {
69
+ "message": "Human-readable error description."
70
+ }
71
+ ```
72
+
73
+ Error format must match existing project convention — not RFC 7807 or other standards.
74
+
75
+ ## Rate Limiting
76
+
77
+ ```php
78
+ // bootstrap/app.php or RouteServiceProvider
79
+ RateLimiter::for('api', function (Request $request) {
80
+ return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
81
+ });
82
+
83
+ RateLimiter::for('auth', function (Request $request) {
84
+ return Limit::perMinute(5)->by($request->ip());
85
+ });
86
+ ```
87
+
88
+ Include in responses: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `Retry-After` (on 429).
89
+
90
+ ## Idempotency
91
+
92
+ For non-idempotent operations (POST), support idempotency keys:
93
+
94
+ ```
95
+ POST /api/v1/orders
96
+ Idempotency-Key: unique-client-generated-uuid
97
+ ```
98
+
99
+ ## Route Naming
100
+
101
+ - Dot notation: `v1.projects.index`, `v1.projects.show`
102
+ - Route prefixes in kebab-case: `/api/v1/client-software`
103
+ - Controllers in singular: `ProjectController`
104
+ - Implicit route model binding where possible
105
+ - Scope bindings for nested resources
106
+ - Max nesting depth: 2 levels (`/users/{id}/orders/{id}`)
107
+
108
+ ## Do NOT
109
+
110
+ - Return raw Eloquent models — always use API Resources.
111
+ - Put business logic in controllers — delegate to services.
112
+ - Create breaking changes in existing versions — create a new version.
113
+ - Use inconsistent response formats between endpoints.
114
+ - Expose internal IDs or database column names that should be hidden.
115
+ - Skip rate limiting on authentication endpoints.
@@ -0,0 +1,81 @@
1
+ # Artisan Command Guidelines
2
+
3
+ > Console command conventions — naming, structure, input/output, safety, scheduling.
4
+
5
+ **Related Skills:** `artisan-commands`
6
+ **Related Guidelines:** [patterns/service-layer.md](patterns/service-layer.md)
7
+
8
+ ## Naming
9
+
10
+ - Clear, intention-revealing names: `users:cleanup`, `orders:sync`, `reports:generate`
11
+ - Follow Laravel naming style: `{domain}:{action}`
12
+
13
+ ## Structure
14
+
15
+ - Commands **orchestrate** — they accept input, validate conditions, call services, report results.
16
+ - Heavy business logic belongs in services/actions, not in `handle()`.
17
+ - Keep `handle()` readable and linear.
18
+
19
+ ## Input
20
+
21
+ - **Arguments** for required primary input.
22
+ - **Options** for toggles, filters, execution modes.
23
+ - Validate critical inputs before expensive/destructive work.
24
+ - Provide safe defaults where appropriate.
25
+ - Use `--force` flag for destructive commands — always check it.
26
+
27
+ ## Output
28
+
29
+ - Use `$this->info()`, `$this->warn()`, `$this->error()`, `$this->table()`, progress bars.
30
+ - Keep output readable for both humans and logs.
31
+ - Don't flood the console — use verbose mode for noisy output.
32
+ - `$this->info()` is suppressed in quiet mode — use `$this->line()` for critical info.
33
+
34
+ ## Interactive vs Automated
35
+
36
+ - Use confirmations for destructive operations in manual commands.
37
+ - **Never** add interactive prompts to scheduler/CI commands.
38
+ - Support non-interactive execution (`--no-interaction`).
39
+
40
+ ## Batch and Long-Running
41
+
42
+ - Use chunking, cursors, or batching for large datasets.
43
+ - Report progress for long-running tasks.
44
+ - Handle partial failures intentionally.
45
+ - Avoid loading large datasets into memory at once.
46
+
47
+ ## Safety
48
+
49
+ - Treat cleanup, repair, sync, and deletion as high-risk.
50
+ - Add safeguards for destructive operations.
51
+ - Be explicit about dry-run behavior if supported.
52
+ - Never perform irreversible work silently.
53
+ - Add environment checks for production commands.
54
+
55
+ ## Scheduling
56
+
57
+ Commands for the scheduler must:
58
+ - Run non-interactively
59
+ - Be idempotent where possible
60
+ - Log/report useful status
61
+ - Fail loudly enough for monitoring
62
+
63
+ ## Error Handling
64
+
65
+ - Fail with meaningful messages.
66
+ - Don't swallow exceptions silently.
67
+ - Return appropriate exit codes.
68
+ - Surface enough context to diagnose without exposing sensitive data.
69
+
70
+ ## Testing
71
+
72
+ - Test behavior, not just class existence.
73
+ - Assert: exit codes, console output, side effects, option/argument behavior.
74
+
75
+ ## Do NOT
76
+
77
+ - Put business logic in commands — delegate to services.
78
+ - Use `dd()` or `var_dump()` — use `$this->info()` / `$this->error()`.
79
+ - Skip input validation in command signatures.
80
+ - Make scheduled commands interactive.
81
+ - Run destructive operations without safeguards.
@@ -0,0 +1,78 @@
1
+ # Blade UI Guidelines
2
+
3
+ > Blade template conventions — views, components, partials, forms, escaping, styling.
4
+
5
+ **Related Skills:** `blade-ui`, `livewire`, `flux`
6
+ **Related Guidelines:** [controllers.md](controllers.md)
7
+
8
+ ## View Structure
9
+
10
+ - Use the project's existing layout system.
11
+ - Organize templates into clear sections.
12
+ - Extract repeated sections into partials or components.
13
+ - Prefer semantic HTML.
14
+ - Avoid deeply nested conditionals — use a partial/component instead.
15
+
16
+ ## Blade Logic
17
+
18
+ - Use Blade directives for **simple presentation logic** only.
19
+ - Keep conditionals small and view-focused.
20
+ - No business calculations or database access in templates.
21
+ - No heavy data transformations in Blade.
22
+ - Move non-trivial formatting to controllers, view models, presenters, or components.
23
+
24
+ ## Components
25
+
26
+ - Use Blade components for reusable UI pieces (when project already uses them).
27
+ - Keep component APIs clean and explicit — clear prop/slot names.
28
+ - Don't create a component for something used only once (unless it significantly improves clarity).
29
+
30
+ ## Partials
31
+
32
+ - Use partials for repeated markup fragments when a full component is unnecessary.
33
+ - Name partials clearly per project conventions.
34
+ - Avoid deep partial hierarchies that make UI hard to trace.
35
+
36
+ ## Forms
37
+
38
+ - Follow the project's form style for labels, inputs, validation messages, old values, session feedback.
39
+ - Use CSRF protection correctly.
40
+ - Render validation errors consistently.
41
+ - Preserve user input using project conventions.
42
+ - Reuse existing field components/partials — don't duplicate.
43
+
44
+ ## Validation and Feedback
45
+
46
+ - Display validation errors clearly and consistently.
47
+ - Show success/error flash messages per project conventions.
48
+ - Keep feedback near the relevant UI.
49
+ - Don't invent a second feedback pattern if one already exists.
50
+
51
+ ## Escaping and Output Safety
52
+
53
+ - Escape output by default — use `{{ }}`.
54
+ - Use `{!! !!}` only when intentionally safe and already sanitized.
55
+ - Be careful with rich content, HTML snippets, and user-generated content.
56
+
57
+ ## Styling
58
+
59
+ - Reuse existing CSS/Tailwind conventions.
60
+ - Don't introduce a new styling approach in one template.
61
+ - Match class usage with neighboring templates.
62
+ - If the project uses design-system components, follow them.
63
+ - Always use utility classes — not inline styles.
64
+
65
+ ## Accessibility
66
+
67
+ - Use labels for form fields.
68
+ - Prefer semantic elements.
69
+ - Add ARIA only where it meaningfully improves accessibility.
70
+
71
+ ## Do NOT
72
+
73
+ - Place business logic in Blade templates.
74
+ - Query the database from views.
75
+ - Echo unescaped user data without explicit sanitization.
76
+ - Inline large blocks of CSS or JS — use asset files.
77
+ - Duplicate repeated markup when a component/partial exists.
78
+ - `@include` shares parent scope — components don't. Know the difference.
@@ -0,0 +1,90 @@
1
+ # Controller Guidelines
2
+
3
+ > Project-specific controller conventions. Thin controllers, single-action pattern, OpenAPI annotations.
4
+
5
+ **Related Skills:** `laravel-api-endpoint`, `laravel`, `openapi`
6
+ **Related Guidelines:** [validations.md](validations.md), [resources.md](resources.md)
7
+
8
+ ## Core Rules
9
+
10
+ - **Single Action Controllers** only (`__invoke()`) — no Resource Controllers
11
+ - Each controller must have: FormRequest, OpenAPI schema attributes
12
+ - Use Resource responses where applicable (not all controllers return JSON — e.g. Delete returns an empty response, file downloads return a file stream)
13
+ - Thin controllers — business logic in Services/Actions
14
+
15
+ ## Naming Schema
16
+
17
+ | Action | Controller | FormRequest | Resource |
18
+ |---------|-----------------------------|----------------------------|----------------------|
19
+ | Create | `Create{Entity}Controller` | `Create{Entity}Request` | `{Entity}Resource` |
20
+ | List | `List{Entities}Controller` | `List{Entities}Request` | `{Entity}Resource` |
21
+ | Show | `Show{Entity}Controller` | `Show{Entity}Request` | `{Entity}Resource` |
22
+ | Update | `Update{Entity}Controller` | `Update{Entity}Request` | `{Entity}Resource` |
23
+ | Delete | `Delete{Entity}Controller` | `Delete{Entity}Request` | empty `Response` |
24
+ | Restore | `Restore{Entity}Controller` | `Restore{Entity}Request` | `{Entity}Resource` |
25
+
26
+ > List uses **plural** entity name. All others use **singular**.
27
+
28
+ ## HTTP Actions
29
+
30
+ | Action | Method | Path | Notes |
31
+ |---------|--------|----------------------|-------------------------------------------|
32
+ | Create | POST | `/api/{entities}` | JSON body |
33
+ | List | GET | `/api/{entities}` | Filters, Pagination |
34
+ | Show | GET | `/api/{entities}/{id}` | |
35
+ | Update | PATCH | `/api/{entities}/{id}` | JSON body |
36
+ | Delete | DELETE | `/api/{entities}/{id}` | `?force=true` for hard delete |
37
+ | Restore | GET | `/api/{entities}/{id}/restore` | |
38
+
39
+ ## Controller Pattern
40
+
41
+ ```php
42
+ class CreateLinkController extends Controller
43
+ {
44
+ #[CreateLinkRequestSchema(path: '/links', version: '1', resource: LinkResource::class)]
45
+ #[CreateResourceResponseSchema(LinkResource::class)]
46
+ #[ValidationErrorResponse]
47
+ public function __invoke(CreateLinkRequest $request): LinkResource
48
+ {
49
+ $link = Link::create($request->validated());
50
+ return LinkResource::make($link);
51
+ }
52
+ }
53
+ ```
54
+
55
+ **Key points:**
56
+ - Use `$request->validated()` — never `$request->all()`
57
+ - Use `Resource::make()` instead of `new Resource()` (easier to test)
58
+ - Simple CRUD can live directly in the controller
59
+ - Complex logic → Service class / Repository
60
+
61
+ ## Filters & Ordering
62
+
63
+ Use the `pipeline` / `paginatedPipeline` macros with filter classes:
64
+
65
+ ```php
66
+ $links = Link::query()
67
+ ->paginatedPipeline([
68
+ StringFilter::on('text')->isLike()->some(),
69
+ DateFilter::on('created_at')->all(),
70
+ OrderFilter::on(['id', 'name'])->default(['id' => 'asc']),
71
+ ]);
72
+ ```
73
+
74
+ ## OpenAPI Documentation
75
+
76
+ - Always extend `{Action}ResourceRequestSchema` for Create/Update/List (keeps controllers clean)
77
+ - Show/Delete/Restore use the base schema classes directly
78
+ - No per-endpoint auth/permission error schemas (documented globally)
79
+ - **`ValidationErrorResponse`** must be added to **every** controller that accepts input (Create, Update, etc.)
80
+ - **`ResourceNotFoundResponse`** must be added to every controller that queries a single entity (Show, Update, Delete, Restore)
81
+
82
+ | Action | Request Schema | Response Schema | Error Responses |
83
+ |---------|--------------------------|----------------------------|----------------------------------------------------|
84
+ | Create | Extended (custom class) | `CreateResourceResponseSchema` | `ValidationErrorResponse` |
85
+ | List | Extended (custom class) | `ListResourceResponseSchema` | |
86
+ | Show | `ShowResourceRequestSchema` | `ShowResourceResponseSchema` | `ResourceNotFoundResponse` |
87
+ | Update | Extended (custom class) | `UpdateResourceResponseSchema` | `ValidationErrorResponse`, `ResourceNotFoundResponse` |
88
+ | Delete | `DeleteResourceRequestSchema` | `DeleteResourceResponseSchema` | `ResourceNotFoundResponse` |
89
+ | Restore | `RestoreResourceRequestSchema` | `RestoreResourceResponseSchema` | `ResourceNotFoundResponse` |
90
+
@@ -0,0 +1,194 @@
1
+ # Database Guidelines
2
+
3
+ > Database conventions — indexing, query optimization, migrations, transactions, multi-connection patterns.
4
+
5
+ **Related Skills:** `database`, `eloquent`, `multi-tenancy`
6
+ **Related Guidelines:** [eloquent.md](eloquent.md)
7
+
8
+ ## Indexing
9
+
10
+ Three separate things get conflated here, and keeping them apart is what makes
11
+ the rest of this section decidable:
12
+
13
+ 1. **Declaring an integrity constraint** — a uniqueness or foreign-key
14
+ constraint. This is a correctness decision about the data model.
15
+ 2. **Indexing the referencing column** — the child side of a foreign key, which
16
+ is what makes the lookup and the constraint check fast.
17
+ 3. **Adding an optional query-performance index** — everything else.
18
+
19
+ The row-count guidance below governs **(3) only**. It has never governed (1),
20
+ and it must not be read as governing (2).
21
+
22
+ ### When to add indexes
23
+
24
+ - Columns in `WHERE` clauses
25
+ - Columns in `JOIN` conditions
26
+ - Columns in `ORDER BY` (especially with pagination)
27
+ - Foreign key columns (Laravel adds with `foreignId()`)
28
+ - Columns carrying a declared uniqueness constraint
29
+
30
+ ### When NOT to add indexes
31
+
32
+ These apply to **optional performance indexes** — category (3) above:
33
+
34
+ - Boolean columns with low selectivity (99% same value)
35
+ - Tables that are both small (< 1000 rows) **and rarely accessed**
36
+ - Frequently updated columns (indexes slow writes)
37
+
38
+ **Row count decides nothing on its own.** A 40-row lookup table joined in every
39
+ report query and a 40-row config table read twice a week are the same size and
40
+ not the same decision — index the first on its observed access pattern, leave
41
+ the second alone. "Small" without "rarely accessed" is the folklore half of this
42
+ rule.
43
+
44
+ **Foreign-key and uniqueness indexes are created regardless of table size.**
45
+ They serve integrity and lookup latency, and a row count bears on neither. A
46
+ 40-row child table pointing at a customers table gets its foreign-key column
47
+ indexed like any other. Omit one only on the strength of inspected schema
48
+ behavior plus a representative workload measurement showing it serves no access
49
+ path — never on an anticipated write cost.
50
+
51
+ ### Composite indexes
52
+
53
+ Order matters, and what decides it is the **predicate shape**, not selectivity:
54
+
55
+ 1. Columns compared with **equality** (`=`, `IN`) come first.
56
+ 2. Then the column compared with a **range** (`<`, `>`, `BETWEEN`, `LIKE 'x%'`).
57
+ 3. Then columns the query only **orders by**.
58
+
59
+ Selectivity is a tie-break *within* a group, never the primary key of the
60
+ decision. An index cannot use any column after the first range predicate for
61
+ lookup, so a highly selective range column placed first throws away every column
62
+ behind it.
63
+
64
+ ```php
65
+ // WHERE customer_id = ? AND created_at > ? ORDER BY created_at
66
+ $table->index(['customer_id', 'created_at']);
67
+ ```
68
+
69
+ `customer_id` leads because it is the **equality** predicate — not because it is
70
+ more selective. Reverse the order and the equality column sits behind a range,
71
+ where the index can no longer seek on it. That holds even when `created_at` is
72
+ the more selective of the two, which is exactly the case the folklore rule gets
73
+ wrong.
74
+
75
+ ## Query Optimization
76
+
77
+ ### EXPLAIN analysis
78
+
79
+ | Column | Value worth a second look | The question it raises |
80
+ |---|---|---|
81
+ | `rows` | High number | Too many rows examined |
82
+ | `Extra` | `Using filesort` | Sorting without index |
83
+ | `Extra` | `Using temporary` | Temp table — optimize GROUP BY/DISTINCT |
84
+ | `key` | `NULL` | No index used |
85
+
86
+ Good values: `type` = `ref`, `eq_ref`, `const`; `Extra` = `Using index`.
87
+
88
+ **`type = ALL` is a full table scan, and a full table scan is often the correct
89
+ plan.** It belongs in no "bad value" column, because the row itself does not
90
+ decide:
91
+
92
+ - On a table small enough to sit in a page or two, the scan is **cheaper** than
93
+ an index lookup — the index costs a second read plus a row fetch per hit.
94
+ - On a predicate that matches a large fraction of the table, the planner picks
95
+ the scan **on purpose**; forcing an index there is slower, and many planners
96
+ will ignore the hint.
97
+ - On a table with hundreds of thousands of rows and a predicate matching a
98
+ handful, `ALL` is the defect.
99
+
100
+ The question to answer is *how many rows the predicate matches, out of how
101
+ many* — not whether `type` reads `ALL`. Compare the planner's `rows` estimate
102
+ against the table's size before concluding anything.
103
+
104
+ ### Anti-patterns
105
+
106
+ | Anti-pattern | Fix |
107
+ |---|---|
108
+ | `SELECT *` in production | Select only needed columns |
109
+ | `LIKE '%search%'` | Fulltext search or `LIKE 'search%'` |
110
+ | `OFFSET` on large tables | Cursor pagination |
111
+ | `ORDER BY RAND()` | Application-level randomization |
112
+
113
+ **Subqueries in `WHERE` are not on that list**, and the unconditional "rewrite
114
+ as a JOIN" they used to carry here was wrong more often than it was right:
115
+
116
+ | The subquery is | Do |
117
+ |---|---|
118
+ | **correlated** — it references the outer row, so it re-executes per row | rewrite as a JOIN, or as a derived table joined once. This is the case the folklore rule was built for |
119
+ | an **uncorrelated `IN` / `EXISTS`** | leave it. Planners flatten these into a semi-join already, and the hand-written JOIN often introduces the duplicate rows a semi-join was avoiding |
120
+ | a **bound on the driving set** — it produces a small list the outer query then filters on | leave it. Rewriting widens the driving set, which is the opposite of the intent |
121
+
122
+ Check the plan before rewriting: if the subquery already shows as a semi-join or
123
+ a materialized derived table executed once, the rewrite buys nothing and costs
124
+ correctness.
125
+ ### Pagination
126
+
127
+ Always paginate list endpoints — never `get()` on unbounded queries:
128
+
129
+ ```php
130
+ // Standard
131
+ $users = User::query()->paginate(15);
132
+
133
+ // Cursor pagination for large tables
134
+ $users = User::query()->orderBy('id')->cursorPaginate(15);
135
+ ```
136
+
137
+ ## Migrations
138
+
139
+ - Use `php artisan make:migration` to generate.
140
+ - Use `decimal` for money — never `float`.
141
+ - Add foreign keys with `constrained()`, and **choose** the `onDelete()` action
142
+ rather than copying one: `cascade` when the child is expendable without its
143
+ parent, `restrict` when the child is a record in its own right (an invoice, an
144
+ audit row, a payment), `set null` when it survives the parent with the link
145
+ removed — which needs a nullable column. The decision table lives in
146
+ [`laravel-migration`](../../skills/laravel-migration/SKILL.md)
147
+ § Referential action is a decision.
148
+ - Always add indexes for searchable/filterable columns.
149
+ - One logical change per migration.
150
+ - **Declare recovery, always.** Either a `down()` that restores the prior state,
151
+ or — when restoration is genuinely impossible — a roll-forward plan written in
152
+ the migration file itself, naming why restoration is impossible with the
153
+ evidence, the ordered recovery steps and their inputs, the criteria that say
154
+ recovery succeeded, and the responsible owner. Silence is the violation, not
155
+ the absence of `down()`. Full contract:
156
+ [`laravel-migration`](../../skills/laravel-migration/SKILL.md)
157
+ § The recovery contract.
158
+
159
+ ### Multi-connection migrations
160
+
161
+ ```php
162
+ Schema::connection('tenant_database')->create('projects', function (Blueprint $table) {
163
+ // ...
164
+ });
165
+ ```
166
+
167
+ ## Transactions
168
+
169
+ ```php
170
+ // Single connection
171
+ DB::transaction(function () use ($order, $items): void {
172
+ $order->save();
173
+ $order->items()->createMany($items);
174
+ });
175
+
176
+ // Explicit connection
177
+ DB::connection('tenant_database')->transaction(function () {
178
+ // Tenant-specific operations
179
+ });
180
+ ```
181
+
182
+ ## Multi-Connection Architecture
183
+
184
+ - Always specify `$connection` on models.
185
+ - Use explicit connection in migrations targeting specific databases.
186
+ - Transactions are per-connection — cross-connection requires manual begin/commit/rollback.
187
+
188
+ ## Do NOT
189
+
190
+ - Use raw SQL with user input — always parameterize.
191
+ - Use `float` for money — use `decimal`.
192
+ - Use `get()` or `all()` on large tables without pagination.
193
+ - Run migrations without specifying connection in multi-DB project.
194
+ - Add indexes without checking existing ones — duplicates waste write performance.