@event4u/agent-config 14.23.0 → 16.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 (541) 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 +144 -152
  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 +4 -3
  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 +51 -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/rules/user-interaction.md +31 -30
  249. package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
  250. package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
  251. package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
  252. package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
  253. package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
  254. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
  255. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
  256. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  257. package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
  258. package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
  259. package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
  260. package/dist/agent-src/skills/code-review/SKILL.md +3 -3
  261. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  262. package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
  263. package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
  264. package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
  265. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
  266. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  267. package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
  268. package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
  269. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
  270. package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
  271. package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
  272. package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
  273. package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
  274. package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
  275. package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
  276. package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
  277. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
  278. package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
  279. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
  280. package/dist/agent-src/skills/design-review/SKILL.md +4 -4
  281. package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
  282. package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
  283. package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
  284. package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
  285. package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
  286. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
  287. package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
  288. package/dist/agent-src/skills/error-handling-patterns/SKILL.md +9 -0
  289. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
  290. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
  291. package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
  292. package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
  293. package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
  294. package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
  295. package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
  296. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
  297. package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
  298. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  299. package/dist/agent-src/skills/flux/SKILL.md +1 -1
  300. package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
  301. package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
  302. package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
  303. package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
  304. package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
  305. package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
  306. package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
  307. package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
  308. package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
  309. package/dist/agent-src/skills/iconography/SKILL.md +3 -3
  310. package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
  311. package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
  312. package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
  313. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
  314. package/dist/agent-src/skills/livewire/SKILL.md +1 -1
  315. package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
  316. package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
  317. package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
  318. package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
  319. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  320. package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
  321. package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
  322. package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
  323. package/dist/agent-src/skills/org-design/SKILL.md +1 -1
  324. package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
  325. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  326. package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
  327. package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
  328. package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
  329. package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
  330. package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
  331. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  332. package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
  333. package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
  334. package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
  335. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  336. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
  337. package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
  338. package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
  339. package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
  340. package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
  341. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  342. package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
  343. package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
  344. package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
  345. package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
  346. package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
  347. package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
  348. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  349. package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
  350. package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
  351. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
  352. package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
  353. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  354. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
  355. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  356. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
  357. package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
  358. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  359. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  360. package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
  361. package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
  362. package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
  363. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
  364. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  365. package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
  366. package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
  367. package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
  368. package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
  369. package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
  370. package/dist/agent-src/templates/agent-settings.md +6 -6
  371. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  372. package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
  373. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  374. package/dist/agent-src/templates/roadmaps.md +1 -1
  375. package/dist/agent-src/templates/scripts/README.md +2 -2
  376. package/dist/agent-src/user-types/_template/user-type.md +1 -1
  377. package/dist/cli-delegate/check_update_banner.js +12 -1
  378. package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
  379. package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
  380. package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
  381. package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
  382. package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
  383. package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
  384. package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-H32DGUJH.js} +15 -84
  385. package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
  386. package/dist/cli-delegate/chunk-NUHLI2RX.js +80 -0
  387. package/dist/cli-delegate/{chunk-TYSY33MD.js → chunk-QJWAUMJW.js} +12 -2
  388. package/dist/cli-delegate/{chunk-2KKXJW25.js → chunk-S3VFXMTM.js} +1 -1
  389. package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
  390. package/dist/cli-delegate/cmd_analyze_session.js +1 -1
  391. package/dist/cli-delegate/cmd_brand_status.js +1 -1
  392. package/dist/cli-delegate/cmd_conformance.js +834 -275
  393. package/dist/cli-delegate/cmd_doctor.js +3 -3
  394. package/dist/cli-delegate/cmd_explain.js +5 -3
  395. package/dist/cli-delegate/cmd_export.js +4 -4
  396. package/dist/cli-delegate/cmd_handoff.js +6 -6
  397. package/dist/cli-delegate/cmd_mcp_available.js +1 -1
  398. package/dist/cli-delegate/cmd_memory_get.js +1 -1
  399. package/dist/cli-delegate/cmd_migrate.js +2 -2
  400. package/dist/cli-delegate/cmd_packs_active.js +3 -2
  401. package/dist/cli-delegate/cmd_prune.js +4 -4
  402. package/dist/cli-delegate/cmd_route_audit.js +3 -3
  403. package/dist/cli-delegate/cmd_route_explain.js +1 -1
  404. package/dist/cli-delegate/cmd_session_recycle.js +3 -3
  405. package/dist/cli-delegate/cmd_settings_get.js +15 -9
  406. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  407. package/dist/cli-delegate/cmd_settings_set.js +54 -11
  408. package/dist/cli-delegate/cmd_sync.js +4 -4
  409. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  410. package/dist/cli-delegate/cmd_update.js +1 -1
  411. package/dist/cli-delegate/cmd_upgrade.js +1 -1
  412. package/dist/cli-delegate/cmd_validate.js +4 -4
  413. package/dist/cli-delegate/cmd_versions.js +1 -1
  414. package/dist/discovery/deprecation-report.md +1 -1
  415. package/dist/discovery/discovery-manifest.json +25 -78
  416. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  417. package/dist/discovery/discovery-manifest.summary.md +3 -3
  418. package/dist/discovery/dormancy-report.md +1 -1
  419. package/dist/discovery/orphan-report.md +1 -1
  420. package/dist/discovery/packs.json +5 -7
  421. package/dist/discovery/trust-report.md +2 -2
  422. package/dist/discovery/workspaces.json +4 -6
  423. package/dist/hooks/dispatch.js +9684 -9304
  424. package/dist/install/install.mjs +36 -8
  425. package/dist/mcp/registry-manifest.json +3 -3
  426. package/dist/mcp/server.json +2 -2
  427. package/dist/mcp/server.mjs +2147 -1470
  428. package/dist/router.json +1 -1
  429. package/dist/scripts/_lib/agent_settings.js +73 -0
  430. package/dist/scripts/_lib/agent_src.js +20 -0
  431. package/dist/scripts/_lib/guidelines_lane.js +158 -0
  432. package/dist/scripts/_lib/installed_lock.js +1 -1
  433. package/dist/scripts/condense.js +2 -5
  434. package/dist/server/io/yamlIO.js +175 -17
  435. package/dist/server/schemas/settings.js +18 -4
  436. package/dist/shared/settingsSurface.js +6 -1
  437. package/docs/contracts/settings-classes.md +18 -9
  438. package/docs/guidelines/abstraction-thresholds.md +35 -0
  439. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
  440. package/docs/guidelines/agent-infra/false-green.md +2 -2
  441. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  442. package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
  443. package/docs/guidelines/design-fidelity-mechanics.md +4 -0
  444. package/docs/guidelines/design-fidelity-routing.md +78 -0
  445. package/docs/guidelines/design-reconciliation.md +172 -0
  446. package/docs/guidelines/gtm-handoff.md +2 -2
  447. package/docs/guidelines/wing4-handoff.md +2 -2
  448. package/package.json +7 -3
  449. package/src/config/agent-settings.template.yml +55 -8
  450. package/src/config/ci-local-parity.yml +34 -0
  451. package/src/config/continuity-surface.json +11 -32
  452. package/src/config/gate-coverage.yml +31 -8
  453. package/src/config/gate-reachability-exemptions.json +1 -0
  454. package/src/config/gate-violation-baselines.json +3 -3
  455. package/src/config/hook-token-budget.json +1 -1
  456. package/src/config/host-injection-effect.json +2 -2
  457. package/src/config/pack-size-budget.json +55 -4
  458. package/src/config/platform-anchor.json +47 -0
  459. package/src/config/preamble-payload-budget.json +12 -8
  460. package/src/config/preamble-payload-exceptions.json +28 -0
  461. package/src/config/publish-surface.json +4 -2
  462. package/src/config/ratification-policy.json +7 -0
  463. package/src/config/rule-stub-ceilings.json +16 -9
  464. package/src/scripts/_cli/cmd_settings_get.ts +22 -7
  465. package/src/scripts/_dispatch.bash +3 -1
  466. package/src/scripts/_lib/agent_settings.ts +85 -0
  467. package/src/scripts/_lib/agent_src.ts +21 -0
  468. package/src/scripts/_lib/artifact_maturity.ts +242 -0
  469. package/src/scripts/_lib/base_ref_payload.ts +315 -0
  470. package/src/scripts/_lib/conformance_report.ts +403 -0
  471. package/src/scripts/_lib/continuity_writer.ts +72 -13
  472. package/src/scripts/_lib/design_system_import.ts +20 -0
  473. package/src/scripts/_lib/design_tolerance.ts +281 -0
  474. package/src/scripts/_lib/dropped_decision.ts +142 -0
  475. package/src/scripts/_lib/guidelines_lane.ts +164 -0
  476. package/src/scripts/_lib/installed_lock.ts +1 -1
  477. package/src/scripts/_lib/measured_payload_ceiling.ts +424 -0
  478. package/src/scripts/_lib/obligation_frequency.ts +2 -3
  479. package/src/scripts/_lib/payload_catalogue_completeness.ts +211 -0
  480. package/src/scripts/_lib/platform_anchor.ts +1053 -0
  481. package/src/scripts/_lib/ratification_artifact.ts +278 -0
  482. package/src/scripts/_lib/release_findings_ingest.ts +324 -0
  483. package/src/scripts/_lib/release_tag_dispatch.ts +63 -0
  484. package/src/scripts/_lib/review_baseline.ts +254 -0
  485. package/src/scripts/_lib/review_skipped_record.ts +61 -1
  486. package/src/scripts/_lib/security_lint.ts +23 -2
  487. package/src/scripts/_lib/self_repair.ts +21 -0
  488. package/src/scripts/_lib/session_index_trust.ts +42 -1
  489. package/src/scripts/_lib/standing_bound_ratchet.ts +267 -88
  490. package/src/scripts/_lib/tolerance_shadow.ts +177 -0
  491. package/src/scripts/_lib/turn_end_refusals.ts +51 -4
  492. package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
  493. package/src/scripts/autonomy_friction_traffic.ts +379 -0
  494. package/src/scripts/check_beta_review_markers.ts +35 -4
  495. package/src/scripts/check_finding_dispositions.ts +167 -16
  496. package/src/scripts/check_held_object_arrivals.ts +381 -0
  497. package/src/scripts/check_kernel_edit_ratified.ts +462 -0
  498. package/src/scripts/check_loss_class_declared.ts +793 -46
  499. package/src/scripts/check_platform_anchor.ts +390 -0
  500. package/src/scripts/check_preamble_payload_budget.ts +672 -107
  501. package/src/scripts/check_projected_rule_routes.ts +395 -0
  502. package/src/scripts/check_release_published.ts +1 -1
  503. package/src/scripts/check_reply_consistency.ts +86 -17
  504. package/src/scripts/code_graph/cli.ts +6 -0
  505. package/src/scripts/condense.ts +2 -6
  506. package/src/scripts/generate_host_cost_table.ts +354 -0
  507. package/src/scripts/hook_manifest.json +1 -1
  508. package/src/scripts/hook_manifest.yaml +74 -30
  509. package/src/scripts/hooks/block_kernel_rule_writes.ts +12 -2
  510. package/src/scripts/hooks/category_a.ts +1 -1
  511. package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
  512. package/src/scripts/hooks/concern_registry.ts +2 -0
  513. package/src/scripts/hooks/end_review_nudge_hook.ts +101 -21
  514. package/src/scripts/hooks/review_baseline_hook.ts +130 -0
  515. package/src/scripts/hooks/session_eol_hook.ts +68 -154
  516. package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
  517. package/src/scripts/hooks/turn_end_gate_hook.ts +232 -14
  518. package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
  519. package/src/scripts/hooks_doctor.ts +4 -1
  520. package/src/scripts/hot_context_hook.ts +41 -401
  521. package/src/scripts/install.ts +1 -1
  522. package/src/scripts/interruption_report.ts +8 -2
  523. package/src/scripts/janitor.ts +8 -1
  524. package/src/scripts/lint_evidence_artifacts.ts +1 -0
  525. package/src/scripts/lint_knowledge_scale.ts +0 -26
  526. package/src/scripts/measure_turn_end_gate.ts +302 -5
  527. package/src/scripts/memory_lookup.ts +9 -9
  528. package/src/scripts/release.ts +52 -64
  529. package/src/scripts/release_drill.ts +193 -14
  530. package/src/scripts/release_env.ts +1 -1
  531. package/src/scripts/release_publication.ts +1 -1
  532. package/src/scripts/report_held_object_arrivals.ts +456 -0
  533. package/src/scripts/report_standing_payload_by_host.ts +7 -7
  534. package/src/scripts/session_memory_index.ts +5 -0
  535. package/src/scripts/sync_agent_settings.ts +394 -12
  536. package/src/server/io/yamlIO.ts +175 -17
  537. package/src/server/schemas/settings.ts +25 -5
  538. package/src/shared/settingsSurface.ts +13 -2
  539. package/src/templates/compact-instructions.md +8 -3
  540. package/dist/agent-src/commands/chat-history/import.md +0 -170
  541. package/dist/agent-src/commands/chat-history.md +0 -63
@@ -0,0 +1,208 @@
1
+ # Eloquent Model Guidelines
2
+
3
+ > Project-specific Eloquent conventions. Getter/setter pattern, casts, fillable, defaults.
4
+
5
+ **Related Skills:** `eloquent`, `database`, `migration-creator`
6
+ **Related Guidelines:** [patterns/repositories.md](patterns/repositories.md)
7
+
8
+ ## Core Rules
9
+
10
+ - Add `$attributes` array for all columns with database defaults
11
+ - Use `$casts` for type casting (encrypted, arrays, enums, dates, booleans)
12
+ - Every model attribute MUST have a **getter** and a **fluent setter**
13
+ - Fluent setters: prefer `static` as return type (preserves subclass types). Use `self` when the class is `final` or when `self` is intentionally more precise.
14
+
15
+ ## Getter/Setter Architecture
16
+
17
+ There are **two layers** — inside the model vs. outside the model. Never mix them up.
18
+
19
+ ### Inside the model (implementing getters/setters)
20
+
21
+ **ALWAYS** use `getAttribute()` / `setAttribute()` — these are the Eloquent internals
22
+ that respect `$casts`, accessors, and mutators. **NEVER** use `$this->column_name`
23
+ magic property access inside the model — not for attributes, not for relationships.
24
+
25
+ **Cast the return value** when the attribute is NOT in `$casts`:
26
+
27
+ ```php
28
+ // ✅ Good — getAttribute() with explicit cast (attribute NOT in $casts)
29
+ public function isActive(): bool
30
+ {
31
+ return (bool) $this->getAttribute('active');
32
+ }
33
+
34
+ // user_id is not in $casts, so cast explicitly
35
+ public function getUserId(): ?int
36
+ {
37
+ $value = $this->getAttribute('user_id');
38
+
39
+ return null === $value ? null : (int) $value;
40
+ }
41
+
42
+ // ✅ Good — NO manual cast needed (attribute IS in $casts)
43
+ // protected $casts = ['is_paused' => 'boolean'];
44
+ public function isPaused(): bool
45
+ {
46
+ return $this->getAttribute('is_paused');
47
+ }
48
+
49
+ // ❌ Bad — magic property access
50
+ public function isActive(): bool
51
+ {
52
+ return (bool) $this->active;
53
+ }
54
+ ```
55
+
56
+ Fluent setter pattern:
57
+ ```php
58
+ public function setUserId(?int $userId): static
59
+ {
60
+ $this->setAttribute('user_id', $userId);
61
+ return $this;
62
+ }
63
+ ```
64
+
65
+ ### Outside the model (calling code: services, controllers, jobs, tests, etc.)
66
+
67
+ **Always use getters and setters. Never use `getAttribute()` / `setAttribute()` directly.**
68
+
69
+ ```php
70
+ // ✅ Good — use getters/setters
71
+ $config->isPaused();
72
+ $config->setIsPaused(true)->save();
73
+ $name = $customer->getName();
74
+
75
+ // ❌ Bad — calling getAttribute/setAttribute from outside the model
76
+ $config->getAttribute('is_paused');
77
+ $config->setAttribute('is_paused', true)->save();
78
+
79
+ // ❌ Bad — direct property access
80
+ $config->is_paused;
81
+ $config->is_paused = true;
82
+ ```
83
+
84
+ **Why:** Getters/setters provide type safety, IDE autocompletion, and a stable API.
85
+ If the underlying column changes, only the model internals need updating.
86
+
87
+ ## Relationship Getters
88
+
89
+ Every relationship MUST have a **typed getter method** placed directly **above** the relationship method.
90
+ Outside the model, always use the getter — never access the magic property.
91
+
92
+ ```php
93
+ // ✅ Good — getter uses getAttribute(), placed above the relationship method
94
+ public function getEquipment(): ?Equipment
95
+ {
96
+ return $this->getAttribute('equipment');
97
+ }
98
+
99
+ public function equipment(): BelongsTo
100
+ {
101
+ return $this->belongsTo(Equipment::class, 'item_id', 'item_id');
102
+ }
103
+
104
+ // ✅ Good — calling code uses getter
105
+ $equipment = $repair->getEquipment();
106
+
107
+ // ❌ Bad — magic property inside getter
108
+ public function getEquipment(): ?Equipment
109
+ {
110
+ return $this->equipment; // NEVER do this
111
+ }
112
+
113
+ // ❌ Bad — accessing magic property from outside the model
114
+ $equipment = $repair->equipment;
115
+ ```
116
+
117
+ When checking if a relationship result exists, use `instanceof` instead of `null ===`:
118
+
119
+ ```php
120
+ // ✅ Good — type-safe check
121
+ if (!$equipment instanceof Equipment) {
122
+ return;
123
+ }
124
+
125
+ // ❌ Bad — less type-safe
126
+ if (null === $equipment) {
127
+ return;
128
+ }
129
+ ```
130
+
131
+ ## Observers over `booted()`
132
+
133
+ Do NOT use `booted()` / `boot()` for model lifecycle hooks (`saving`, `saved`, `deleted`, etc.).
134
+ Use a dedicated **Observer** class registered via the `#[ObservedBy]` attribute.
135
+
136
+ ```php
137
+ // ✅ Good — Observer registered via attribute
138
+ #[ObservedBy([RepairObserver::class])]
139
+ class Repair extends Model { /* ... */ }
140
+
141
+ // ❌ Bad — lifecycle logic in booted()
142
+ class Repair extends Model
143
+ {
144
+ protected static function booted(): void
145
+ {
146
+ static::saving(static function (Repair $repair): void { /* ... */ });
147
+ }
148
+ }
149
+ ```
150
+
151
+ **Why:** Observers keep models slim, make lifecycle logic testable and discoverable,
152
+ and follow the established project pattern (all other models use `#[ObservedBy]`).
153
+
154
+ ## Default Attributes
155
+
156
+ ```php
157
+ protected $attributes = [
158
+ 'options' => [],
159
+ 'default_role' => 'staff',
160
+ 'verified' => false,
161
+ ];
162
+ ```
163
+
164
+ ### Expressive Setters
165
+
166
+ Prefer expressive method names over generic setters when they improve readability:
167
+
168
+ ```php
169
+ // ✅ Better — intent is clear
170
+ $model->activate();
171
+
172
+ // 🆗 OK but less expressive
173
+ $model->setActive(true);
174
+ ```
175
+
176
+ ## Model Updates
177
+
178
+ Always use validated data — never `$request->all()`:
179
+
180
+ ```php
181
+ // ✅ Good
182
+ $model->update($request->validated());
183
+
184
+ // ❌ Bad — passes unvalidated data
185
+ $model->update($request->all());
186
+ ```
187
+
188
+ ## Prefer Model Casts — No Redundant Manual Casting
189
+
190
+ When an attribute is defined in `$casts` (or `casts()` method), do **not** manually cast it again
191
+ in getters. The model already handles the conversion.
192
+
193
+ ```php
194
+ // ✅ Good — no manual cast needed, model handles it
195
+ public function isPaused(): bool
196
+ {
197
+ return $this->getAttribute('is_paused');
198
+ }
199
+
200
+ // ❌ Bad — redundant (bool) cast when already in $casts
201
+ public function isPaused(): bool
202
+ {
203
+ return (bool) $this->getAttribute('is_paused');
204
+ }
205
+ ```
206
+
207
+ This applies to all cast types: `boolean`, `integer`, `float`, `array`, `datetime`, enums, etc.
208
+ If the attribute is cast, trust the cast — do not re-cast in PHP.
@@ -0,0 +1,80 @@
1
+ # Flux UI Guidelines
2
+
3
+ > Flux component conventions — usage, variants, forms, icons, Livewire integration.
4
+
5
+ **Related Skills:** `flux`, `livewire`, `blade-ui`
6
+
7
+ ## Component Usage
8
+
9
+ - Use Flux components (`<flux:*>`) instead of raw HTML where a Flux equivalent exists.
10
+ - Follow the project's existing Flux usage patterns.
11
+ - Check Flux docs at https://fluxui.dev/docs for latest API.
12
+
13
+ ## Common Components
14
+
15
+ ```blade
16
+ {{-- Button --}}
17
+ <flux:button variant="primary">Save</flux:button>
18
+ <flux:button variant="danger" wire:click="delete">Delete</flux:button>
19
+
20
+ {{-- Input --}}
21
+ <flux:input wire:model="name" label="Name" placeholder="Enter name" />
22
+
23
+ {{-- Select --}}
24
+ <flux:select wire:model="status" label="Status">
25
+ <flux:option value="active">Active</flux:option>
26
+ <flux:option value="inactive">Inactive</flux:option>
27
+ </flux:select>
28
+
29
+ {{-- Modal --}}
30
+ <flux:modal name="confirm-delete">
31
+ <flux:heading>Delete item?</flux:heading>
32
+ <flux:text>This action cannot be undone.</flux:text>
33
+ <flux:button variant="danger" wire:click="delete">Confirm</flux:button>
34
+ </flux:modal>
35
+
36
+ {{-- Table --}}
37
+ <flux:table>
38
+ <flux:columns>
39
+ <flux:column>Name</flux:column>
40
+ </flux:columns>
41
+ <flux:rows>
42
+ @foreach($items as $item)
43
+ <flux:row :key="$item->id">
44
+ <flux:cell>{{ $item->name }}</flux:cell>
45
+ </flux:row>
46
+ @endforeach
47
+ </flux:rows>
48
+ </flux:table>
49
+ ```
50
+
51
+ ## Variants and Styling
52
+
53
+ - Use `variant` prop: `primary`, `danger`, `ghost`, `subtle`, `outline`.
54
+ - Use `size` prop: `sm`, `base`, `lg`.
55
+ - Add custom Tailwind via `class` only when Flux doesn't cover the need.
56
+ - Don't override Flux's built-in styling with conflicting classes.
57
+
58
+ ## Forms
59
+
60
+ - Use `<flux:input>`, `<flux:textarea>`, `<flux:select>`, `<flux:checkbox>`.
61
+ - Use `label` prop — Flux handles the `<label>` element.
62
+ - Use `wire:model` for Livewire binding.
63
+ - Flux components automatically display validation errors.
64
+
65
+ ## Icons
66
+
67
+ - `<flux:icon name="heroicon-name" />` — Heroicons naming convention.
68
+
69
+ ## Livewire Integration
70
+
71
+ - `wire:click`, `wire:submit`, `wire:model` work directly on Flux components.
72
+ - Modals: `$this->modal('name')->show()`.
73
+
74
+ ## Do NOT
75
+
76
+ - Use raw `<button>`, `<input>`, `<select>` when Flux equivalent exists.
77
+ - Override Flux component styles globally — use variants or slots.
78
+ - Mix Flux with a different UI library in the same view.
79
+ - Skip `label` prop on form fields — accessibility matters.
80
+ - Add manual error rendering alongside Flux (it's built-in).
@@ -0,0 +1,207 @@
1
+ # PHP Guidelines
2
+
3
+ > PHP conventions and coding standards.
4
+
5
+ **Related Skills:** `php`, `php-coder`, `php-service`
6
+ **Related Rules:** `php-coding.md`
7
+
8
+ ## Quick Reference
9
+
10
+ | Topic | Rule |
11
+ |-----------------|-------------------------------------------------------|
12
+ | Strict types | `declare(strict_types=1);` in every file |
13
+ | Variables | `camelCase` |
14
+ | Array keys | `snake_case` |
15
+ | Constants | `UPPER_SNAKE_CASE` |
16
+ | Strings | Single quotes (no interpolation), prefer concatenation (`.`), `sprintf()` only when complex |
17
+ | Comparisons | Always `===` / `!==`, Yoda style (`null === $var`) |
18
+ | Types | Explicit types for properties, parameters, returns |
19
+
20
+ ## Naming
21
+
22
+ - Method names must be **expressive**, not declarative. No abbreviations.
23
+ - Boolean checks: `isValid()`, `hasPermission()` — not `valid()`, `check()`
24
+ - Retrieving: `getUser()`, `fetchUserData()` — not `user()`, `userData()`
25
+ - Actions: `sendEmail()`, `processPayment()` — not `email()`, `payment()`
26
+
27
+ ## Variables
28
+
29
+ - **Don't assign single-use values to a variable** — pass the expression
30
+ directly to the call. Universal rule with carve-outs (side effects,
31
+ loops, debugger, type narrowing) lives in
32
+ [`code-clarity.md`](../code-clarity.md) § Don't assign single-use
33
+ values to a variable.
34
+
35
+ ## Strings
36
+
37
+ - Single quotes when no interpolation: `$table = 'users';`
38
+ - Prefer concatenation with `.` operator: `'Hi ' . $name . '!'`
39
+ - Use `sprintf()` only when concatenation becomes unreadable (many placeholders, formatting): `sprintf('There are %d items in %s', $count, $location)`
40
+
41
+ ## Control Structures
42
+
43
+ - **No one-liner IF** statements
44
+ - **Prefer early return** over `else` / nested `if`
45
+ - Ternary for short statements only
46
+
47
+ ```php
48
+ // ✅ Early return
49
+ if (!$conditionA) {
50
+ return;
51
+ }
52
+ // conditionA passed...
53
+ ```
54
+
55
+ ## Typed Properties
56
+
57
+ - Always use typed properties. Nullable with default `null`:
58
+
59
+ ```php
60
+ // ✅ Good
61
+ public ?int $age = null;
62
+
63
+ // ❌ Bad
64
+ public int | null $age;
65
+ ```
66
+
67
+ ## Typed Arguments
68
+
69
+ - Prefer typed method arguments over arrays. Named arguments with spread for bulk:
70
+
71
+ ```php
72
+ // ✅ Type-safe
73
+ public function createUser(int $id, string $name): void {}
74
+
75
+ // Call with array via spread
76
+ $data = ['id' => 1, 'name' => 'John'];
77
+ createUser(...$data);
78
+ ```
79
+
80
+ ## Comments and DocBlocks
81
+
82
+ A code comment earns its place only by stating a constraint the code
83
+ cannot show — a non-obvious invariant, a workaround for a known bug, a
84
+ hidden dependency. Never write comments that narrate ("added for X",
85
+ "this calls Y"), repeat the next line, or justify the change to the
86
+ reviewer. Full clause: [`code-clarity.md § Comment discipline`](../code-clarity.md#comment-discipline--state-a-constraint-not-a-narration).
87
+
88
+ DocBlocks:
89
+
90
+ - **Only** use DocBlocks to explain complex logic or when type hints are insufficient
91
+ - **Must** add DocBlock for iterable types: `@param array<int, MyObject> $items`
92
+ - Do NOT add DocBlocks that just repeat the type signature
93
+
94
+ ## Arrays
95
+
96
+ - Short syntax only (`[]`, not `array()`)
97
+ - Trailing comma on each line
98
+ - Each item on a separate line
99
+ - Keys in `snake_case`
100
+
101
+ ## Enums
102
+
103
+ - Cases must be **UPPERCASE**: `case MONDAY;`
104
+ - Use [backed enums](https://www.php.net/manual/en/language.enumerations.backed.php) for database values
105
+
106
+ ## Operator Precedence — Always Use Parentheses
107
+
108
+ When mixing `?:` (ternary/elvis), `??` (null coalessce), or `.` (concatenation),
109
+ **always use explicit parentheses** to make the intended evaluation order unambiguous.
110
+
111
+ ```php
112
+ // ❌ Bad — ambiguous: is it ($a ?: 'index ') . $i or $a ?: ('index ' . $i)?
113
+ $label = $a ?: 'index ' . $i;
114
+
115
+ // ✅ Good — explicit and unambiguous
116
+ $label = $a ?: ('index ' . $i);
117
+
118
+ // ❌ Bad — nested ternary/elvis without grouping
119
+ $value = $a ?: $b ?: $c . $d;
120
+
121
+ // ✅ Good
122
+ $value = $a ?: ($b ?: ($c . $d));
123
+ ```
124
+
125
+ This applies to **any** combination of operators where precedence is not immediately obvious.
126
+ When in doubt, add parentheses — readability beats brevity.
127
+
128
+ ## Performance Tips
129
+
130
+ ### ❌ Avoid `array_merge()` in Loops
131
+
132
+ `array_merge()` inside a loop copies the entire array each iteration → **O(n²)**.
133
+
134
+ ```php
135
+ // ❌ Bad — O(n²)
136
+ $all = [];
137
+ foreach ($pages as $page) {
138
+ $all = array_merge($all, $page->items());
139
+ }
140
+
141
+ // ✅ Good — O(n)
142
+ $all = [];
143
+ foreach ($pages as $page) {
144
+ array_push($all, ...$page->items());
145
+ }
146
+ ```
147
+
148
+ ## Traits
149
+
150
+ - One `use` statement per line:
151
+
152
+ ```php
153
+ // ✅ Good
154
+ use TraitA;
155
+ use TraitB;
156
+ ```
157
+
158
+ ## Interfaces
159
+
160
+ - Namespace: `App\Contracts` (grouped in subfolders)
161
+ - No `Interface` suffix: `SmsProvider`, not `SmsProviderInterface`
162
+
163
+ ## Return Types — `static` vs `self`
164
+
165
+ - **Prefer `static`** for fluent methods (setters, builders, chainable methods) — it preserves the actual class type in subclasses.
166
+ - **Use `self`** when it is intentionally more precise — e.g., `final` classes, named constructors, or when you explicitly want to lock the return type to the declaring class.
167
+ - This is especially important for Eloquent models, DTOs, and any class that may be extended.
168
+
169
+ ```php
170
+ // ✅ Preferred — preserves subclass type
171
+ public function setName(string $name): static
172
+ {
173
+ $this->name = $name;
174
+ return $this;
175
+ }
176
+
177
+ // ✅ Also fine — class is final, self is more precise
178
+ final class Config
179
+ {
180
+ public function setName(string $name): self
181
+ {
182
+ $this->name = $name;
183
+ return $this;
184
+ }
185
+ }
186
+ ```
187
+
188
+ ## Constructor Property Promotion
189
+
190
+ - Each property on a separate line, trailing comma on last property
191
+ - Preferred over manual assignment in constructor body
192
+
193
+ ## JSON Handling
194
+
195
+ - **Always validate** — `json_decode()` with `JSON_THROW_ON_ERROR`, never silent failure.
196
+ - **Fix malformed JSON** — trailing commas, single quotes, unquoted keys. Clean before parsing.
197
+ - **Pretty-print** — `JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE` for readability.
198
+ - **Type safety** — decode to typed DTOs or interfaces, not untyped arrays/objects.
199
+
200
+ ```php
201
+ // ✅ Safe JSON decoding
202
+ $data = json_decode($jsonString, true, 512, JSON_THROW_ON_ERROR);
203
+
204
+ // ❌ Silent failure
205
+ $data = json_decode($jsonString);
206
+ ```
207
+
@@ -0,0 +1,164 @@
1
+ # Git & Version Control Guidelines
2
+
3
+ > Project-specific Git conventions. Branch naming, commit messages, PR workflow.
4
+
5
+ **Related Skills:** `git-workflow`, `conventional-commits-writing`
6
+ **Related Rules:** `commit-conventions.md`
7
+
8
+ ## Branch Naming
9
+
10
+ ```
11
+ {type}/{ticket-id}/{short-description}
12
+ ```
13
+
14
+ | Type | When |
15
+ |---|---|
16
+ | `feat/` | New feature |
17
+ | `fix/` | Bug fix |
18
+ | `hotfix/` | Urgent production fix |
19
+ | `chore/` | Maintenance, refactoring, tooling |
20
+ | `docs/` | Documentation changes |
21
+ | `test/` | Test additions/changes |
22
+
23
+ ### Examples
24
+
25
+ ```
26
+ feat/DEV-1234/user-notification-preferences
27
+ fix/DEV-5678/null-pointer-in-import
28
+ chore/refactor-agent-setup
29
+ hotfix/DEV-999/critical-payment-bug
30
+ ```
31
+
32
+ ### Rules
33
+
34
+ - Always include the Jira ticket ID when one exists
35
+ - Use kebab-case for the description part
36
+ - Keep branch names short but descriptive
37
+
38
+ ## Commit Messages
39
+
40
+ Follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
41
+ See `commit-conventions` rule for the base format and type table.
42
+
43
+ ### Type selection rules
44
+
45
+ **`feat`** — a new capability is added; user or system can do something new.
46
+
47
+ **`fix`** — existing behavior was wrong; bug, regression, or broken edge case corrected.
48
+
49
+ **`refactor`** — structure changes, readability/maintainability improves, behavior unchanged.
50
+ Do NOT use `refactor` if behavior changes — use `feat` or `fix` instead.
51
+
52
+ **`docs`** — only documentation changes, no runtime or behavior change.
53
+
54
+ **`test`** — only tests added/updated, no production behavior changes.
55
+
56
+ **`ci`** — GitHub Actions, pipelines, CI checks, automation workflows, release jobs.
57
+
58
+ **`chore`** — maintenance, repo housekeeping, dependency bumps, non-functional cleanup
59
+ that is not better classified as `build`, `ci`, or `docs`.
60
+
61
+ **`perf`** — measurable performance improvement.
62
+
63
+ **`build`** — build tooling, packaging, Docker changes.
64
+
65
+ **`style`** — formatting only, no logic change (e.g. ECS/Rector auto-fixes).
66
+
67
+ ### Scope guidance
68
+
69
+ Use a scope when it adds clarity. Good scopes:
70
+
71
+ - Jira ticket ID: `DEV-1234`
72
+ - Module/area: `api`, `auth`, `skills`, `rules`, `ci`, `frontend`, `linter`
73
+
74
+ Do not add a scope if it adds no value. `fix(core): fix typo` → just `fix: fix typo`.
75
+
76
+ ### Description rules
77
+
78
+ - Describe **intent**, not implementation detail
79
+ - Describe **what changed**, not every low-level step
80
+ - Avoid generic wording: `update stuff`, `fix issue`, `changes`
81
+
82
+ Good: `fix(routes): preserve middleware order for api endpoints`
83
+ Bad: `fix: fix things`
84
+
85
+ ### Breaking changes
86
+
87
+ Use `!` after type/scope or `BREAKING CHANGE:` in footer:
88
+
89
+ ```
90
+ feat(api)!: rename invoice status values
91
+ refactor(auth)!: remove legacy session flow
92
+ ```
93
+
94
+ ### Commit splitting
95
+
96
+ If a change contains multiple unrelated concerns, split into multiple commits.
97
+
98
+ Bad: `refactor: cleanup skills and fix ci and update docs`
99
+
100
+ Better:
101
+ ```
102
+ refactor(skills): remove duplicate routing helpers
103
+ ci(lint): add skill-lint workflow
104
+ docs(readme): document new lint tasks
105
+ ```
106
+
107
+ ### Squash merge titles
108
+
109
+ - Use Conventional Commit format
110
+ - Summarize the **net effect** of the PR
111
+ - Do not copy vague branch names
112
+ - Do not include issue noise if it hurts readability
113
+
114
+ ### Examples by area
115
+
116
+ ```bash
117
+ # Features
118
+ feat(DEV-2133): send email to customer when product is shipped
119
+
120
+ # Bug fixes
121
+ fix(import): handle null values in equipment JSON
122
+
123
+ # Refactoring
124
+ refactor: extract user sync logic into dedicated service
125
+
126
+ # Skills / Rules / Agent config
127
+ refactor(skills): merge duplicate analysis skills
128
+ feat(rules): add analysis routing quality gate
129
+ fix(skills): restore concrete validation in skill reviewer
130
+
131
+ # CI / Tooling
132
+ ci(lint): add skill linter workflow
133
+ feat(linter): detect pointer-only skills
134
+
135
+ # Docs
136
+ docs(roadmap): add phase 3 implementation plan
137
+ docs(readme): clarify source-of-truth workflow
138
+ ```
139
+
140
+ ### Decision checklist
141
+
142
+ Before writing the commit message:
143
+
144
+ 1. Did behavior change? → `feat` or `fix`
145
+ 2. Was it only structure/cleanup? → `refactor`
146
+ 3. Was it only docs, tests, or CI? → `docs`, `test`, `ci`
147
+ 4. Is the scope useful or just noise?
148
+ 5. Is this actually multiple commits hiding in one?
149
+
150
+ ### Anti-patterns
151
+
152
+ - `update stuff` / `fix bug` / `changes` / `refactor everything`
153
+ - Using `chore` for meaningful behavior changes
154
+ - Using `refactor` for bug fixes
155
+ - Using one commit for multiple unrelated concerns
156
+ - Vague squash merge titles that don't describe the net effect
157
+
158
+ ## Pull Requests
159
+
160
+ - PR title follows commit message format: `feat(DEV-1234): short description`
161
+ - Fill in the PR template (checklist, description, testing notes)
162
+ - Link the Jira ticket in the PR description
163
+ - Ensure all quality gates pass before requesting review
164
+