devrites 5.5.0 → 5.7.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 (309) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -6
  3. package/engine/internal/devritespaths/paths.go +3 -0
  4. package/engine/internal/hostpack/hostpack.go +45 -6
  5. package/engine/internal/hostpack/hostpack_test.go +29 -13
  6. package/engine/internal/install/apply.go +14 -5
  7. package/engine/internal/install/install.go +8 -2
  8. package/engine/internal/install/install_test.go +12 -5
  9. package/engine/internal/install/merge.go +5 -0
  10. package/engine/internal/install/preflight.go +20 -2
  11. package/engine/internal/install/uninstall.go +5 -0
  12. package/engine/internal/install/update.go +1 -1
  13. package/install.sh +107 -38
  14. package/pack/.claude/skills/rite-define/SKILL.md +1 -1
  15. package/pack/.claude/skills/rite-handoff/SKILL.md +1 -1
  16. package/pack/.claude/skills/rite-plan/SKILL.md +1 -1
  17. package/pack/.claude/skills/rite-pressure-test/SKILL.md +1 -1
  18. package/pack/.claude/skills/rite-quick/SKILL.md +1 -1
  19. package/pack/.claude/skills/rite-status/SKILL.md +1 -1
  20. package/pack/.claude/skills/rite-zoom-out/SKILL.md +1 -1
  21. package/pack/generated/README.md +5 -1
  22. package/pack/generated/claude/skills/rite-define/SKILL.md +1 -1
  23. package/pack/generated/claude/skills/rite-handoff/SKILL.md +1 -1
  24. package/pack/generated/claude/skills/rite-plan/SKILL.md +1 -1
  25. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +1 -1
  26. package/pack/generated/claude/skills/rite-quick/SKILL.md +1 -1
  27. package/pack/generated/claude/skills/rite-status/SKILL.md +1 -1
  28. package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +1 -1
  29. package/pack/generated/codex/skills/rite-define/SKILL.md +1 -1
  30. package/pack/generated/codex/skills/rite-handoff/SKILL.md +1 -1
  31. package/pack/generated/codex/skills/rite-plan/SKILL.md +1 -1
  32. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +1 -1
  33. package/pack/generated/codex/skills/rite-quick/SKILL.md +1 -1
  34. package/pack/generated/codex/skills/rite-status/SKILL.md +1 -1
  35. package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +1 -1
  36. package/pack/generated/omp/skills/rite-define/SKILL.md +1 -1
  37. package/pack/generated/omp/skills/rite-handoff/SKILL.md +1 -1
  38. package/pack/generated/omp/skills/rite-plan/SKILL.md +1 -1
  39. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +1 -1
  40. package/pack/generated/omp/skills/rite-quick/SKILL.md +1 -1
  41. package/pack/generated/omp/skills/rite-status/SKILL.md +1 -1
  42. package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +1 -1
  43. package/pack/generated/pi/AGENTS.md +22 -0
  44. package/pack/generated/pi/agents/devrites-code-reviewer.md +142 -0
  45. package/pack/generated/pi/agents/devrites-devex-reviewer.md +124 -0
  46. package/pack/generated/pi/agents/devrites-doubt-reviewer.md +88 -0
  47. package/pack/generated/pi/agents/devrites-evidence-scout.md +72 -0
  48. package/pack/generated/pi/agents/devrites-frontend-reviewer.md +116 -0
  49. package/pack/generated/pi/agents/devrites-performance-reviewer.md +115 -0
  50. package/pack/generated/pi/agents/devrites-plan-drafter.md +99 -0
  51. package/pack/generated/pi/agents/devrites-plan-reviewer.md +142 -0
  52. package/pack/generated/pi/agents/devrites-proof-runner.md +74 -0
  53. package/pack/generated/pi/agents/devrites-retrospector.md +61 -0
  54. package/pack/generated/pi/agents/devrites-security-auditor.md +109 -0
  55. package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +94 -0
  56. package/pack/generated/pi/agents/devrites-slice-wright.md +204 -0
  57. package/pack/generated/pi/agents/devrites-spec-reviewer.md +96 -0
  58. package/pack/generated/pi/agents/devrites-strategy-reviewer.md +100 -0
  59. package/pack/generated/pi/agents/devrites-test-analyst.md +94 -0
  60. package/pack/generated/pi/agents/devrites-upgrade-planner.md +89 -0
  61. package/pack/generated/pi/prompts/rite-adopt.md +5 -0
  62. package/pack/generated/pi/prompts/rite-autocomplete.md +5 -0
  63. package/pack/generated/pi/prompts/rite-build.md +5 -0
  64. package/pack/generated/pi/prompts/rite-clarify.md +5 -0
  65. package/pack/generated/pi/prompts/rite-converge.md +5 -0
  66. package/pack/generated/pi/prompts/rite-customize.md +5 -0
  67. package/pack/generated/pi/prompts/rite-define.md +5 -0
  68. package/pack/generated/pi/prompts/rite-doctor.md +5 -0
  69. package/pack/generated/pi/prompts/rite-dogfood.md +5 -0
  70. package/pack/generated/pi/prompts/rite-explain.md +5 -0
  71. package/pack/generated/pi/prompts/rite-frame.md +5 -0
  72. package/pack/generated/pi/prompts/rite-handoff.md +5 -0
  73. package/pack/generated/pi/prompts/rite-learn.md +5 -0
  74. package/pack/generated/pi/prompts/rite-plan.md +5 -0
  75. package/pack/generated/pi/prompts/rite-polish.md +5 -0
  76. package/pack/generated/pi/prompts/rite-pov.md +5 -0
  77. package/pack/generated/pi/prompts/rite-pr-feedback.md +5 -0
  78. package/pack/generated/pi/prompts/rite-pressure-test.md +5 -0
  79. package/pack/generated/pi/prompts/rite-prototype.md +5 -0
  80. package/pack/generated/pi/prompts/rite-prove.md +5 -0
  81. package/pack/generated/pi/prompts/rite-quick.md +5 -0
  82. package/pack/generated/pi/prompts/rite-resolve.md +5 -0
  83. package/pack/generated/pi/prompts/rite-review.md +5 -0
  84. package/pack/generated/pi/prompts/rite-seal.md +5 -0
  85. package/pack/generated/pi/prompts/rite-ship.md +5 -0
  86. package/pack/generated/pi/prompts/rite-spec.md +5 -0
  87. package/pack/generated/pi/prompts/rite-status.md +5 -0
  88. package/pack/generated/pi/prompts/rite-temper.md +5 -0
  89. package/pack/generated/pi/prompts/rite-upgrade.md +5 -0
  90. package/pack/generated/pi/prompts/rite-vet.md +5 -0
  91. package/pack/generated/pi/prompts/rite-watch-pr.md +5 -0
  92. package/pack/generated/pi/prompts/rite-zoom-out.md +5 -0
  93. package/pack/generated/pi/prompts/rite.md +5 -0
  94. package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +63 -0
  95. package/pack/generated/pi/skills/devrites-audit/SKILL.md +50 -0
  96. package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +76 -0
  97. package/pack/generated/pi/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
  98. package/pack/generated/pi/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
  99. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +96 -0
  100. package/pack/generated/pi/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
  101. package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
  102. package/pack/generated/pi/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
  103. package/pack/generated/pi/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
  104. package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
  105. package/pack/generated/pi/skills/devrites-debug-recovery/reference/trace.md +25 -0
  106. package/pack/generated/pi/skills/devrites-doubt/SKILL.md +79 -0
  107. package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +86 -0
  108. package/pack/generated/pi/skills/devrites-frontend-craft/reference/craft.md +63 -0
  109. package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +116 -0
  110. package/pack/generated/pi/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
  111. package/pack/generated/pi/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
  112. package/pack/generated/pi/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
  113. package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +56 -0
  114. package/pack/generated/pi/skills/devrites-interview/SKILL.md +102 -0
  115. package/pack/generated/pi/skills/devrites-lib/SKILL.md +58 -0
  116. package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +42 -0
  117. package/pack/generated/pi/skills/devrites-lib/reference/intent-map.md +64 -0
  118. package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
  119. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
  120. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +88 -0
  121. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +60 -0
  122. package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
  123. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +398 -0
  124. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +99 -0
  125. package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
  126. package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
  127. package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
  128. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
  129. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +108 -0
  130. package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +48 -0
  131. package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
  132. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +167 -0
  133. package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
  134. package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
  135. package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
  136. package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +31 -0
  137. package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
  138. package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
  139. package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +43 -0
  140. package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
  141. package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +85 -0
  142. package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +47 -0
  143. package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
  144. package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +25 -0
  145. package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
  146. package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
  147. package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +88 -0
  148. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
  149. package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +68 -0
  150. package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +51 -0
  151. package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +42 -0
  152. package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +123 -0
  153. package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
  154. package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
  155. package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
  156. package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
  157. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +202 -0
  158. package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
  159. package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
  160. package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
  161. package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +212 -0
  162. package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +92 -0
  163. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
  164. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
  165. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
  166. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
  167. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
  168. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
  169. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
  170. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
  171. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
  172. package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
  173. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
  174. package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +73 -0
  175. package/pack/generated/pi/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
  176. package/pack/generated/pi/skills/devrites-prose-craft/reference/examples.md +131 -0
  177. package/pack/generated/pi/skills/devrites-prose-craft/reference/structures.md +196 -0
  178. package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +52 -0
  179. package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +134 -0
  180. package/pack/generated/pi/skills/devrites-ux-shape/reference/brief-template.md +108 -0
  181. package/pack/generated/pi/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
  182. package/pack/generated/pi/skills/rite/SKILL.md +148 -0
  183. package/pack/generated/pi/skills/rite/reference/menu.md +48 -0
  184. package/pack/generated/pi/skills/rite-adopt/SKILL.md +52 -0
  185. package/pack/generated/pi/skills/rite-adopt/reference/adoption.md +19 -0
  186. package/pack/generated/pi/skills/rite-adopt/reference/anti-patterns.md +19 -0
  187. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +132 -0
  188. package/pack/generated/pi/skills/rite-autocomplete/reference/decision-policy.md +41 -0
  189. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +148 -0
  190. package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +92 -0
  191. package/pack/generated/pi/skills/rite-build/SKILL.md +96 -0
  192. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +145 -0
  193. package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +23 -0
  194. package/pack/generated/pi/skills/rite-build/reference/checkpoint-protocol.md +120 -0
  195. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +44 -0
  196. package/pack/generated/pi/skills/rite-build/reference/frontend-trigger.md +39 -0
  197. package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +50 -0
  198. package/pack/generated/pi/skills/rite-build/reference/output.md +33 -0
  199. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +205 -0
  200. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +87 -0
  201. package/pack/generated/pi/skills/rite-build/reference/spec-drift-guard.md +84 -0
  202. package/pack/generated/pi/skills/rite-build/reference/tdd.md +27 -0
  203. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +89 -0
  204. package/pack/generated/pi/skills/rite-clarify/SKILL.md +99 -0
  205. package/pack/generated/pi/skills/rite-clarify/reference/anti-patterns.md +24 -0
  206. package/pack/generated/pi/skills/rite-clarify/reference/decision-coverage.md +55 -0
  207. package/pack/generated/pi/skills/rite-converge/SKILL.md +145 -0
  208. package/pack/generated/pi/skills/rite-converge/reference/anti-patterns.md +35 -0
  209. package/pack/generated/pi/skills/rite-converge/reference/convergence-assessment.md +65 -0
  210. package/pack/generated/pi/skills/rite-customize/SKILL.md +60 -0
  211. package/pack/generated/pi/skills/rite-define/SKILL.md +169 -0
  212. package/pack/generated/pi/skills/rite-define/reference/anti-patterns.md +26 -0
  213. package/pack/generated/pi/skills/rite-define/reference/gates.md +154 -0
  214. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +149 -0
  215. package/pack/generated/pi/skills/rite-doctor/SKILL.md +69 -0
  216. package/pack/generated/pi/skills/rite-dogfood/SKILL.md +55 -0
  217. package/pack/generated/pi/skills/rite-explain/SKILL.md +152 -0
  218. package/pack/generated/pi/skills/rite-explain/reference/intake.md +89 -0
  219. package/pack/generated/pi/skills/rite-frame/SKILL.md +115 -0
  220. package/pack/generated/pi/skills/rite-frame/reference/failure-modes.md +66 -0
  221. package/pack/generated/pi/skills/rite-handoff/SKILL.md +97 -0
  222. package/pack/generated/pi/skills/rite-handoff/reference/handoff-template.md +44 -0
  223. package/pack/generated/pi/skills/rite-learn/SKILL.md +72 -0
  224. package/pack/generated/pi/skills/rite-plan/SKILL.md +186 -0
  225. package/pack/generated/pi/skills/rite-plan/reference/anti-patterns.md +34 -0
  226. package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +48 -0
  227. package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +105 -0
  228. package/pack/generated/pi/skills/rite-plan/reference/slicing.md +167 -0
  229. package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +42 -0
  230. package/pack/generated/pi/skills/rite-polish/SKILL.md +104 -0
  231. package/pack/generated/pi/skills/rite-polish/reference/adr-promotion.md +11 -0
  232. package/pack/generated/pi/skills/rite-polish/reference/anti-ai-slop.md +187 -0
  233. package/pack/generated/pi/skills/rite-polish/reference/anti-patterns.md +30 -0
  234. package/pack/generated/pi/skills/rite-polish/reference/backend-polish.md +80 -0
  235. package/pack/generated/pi/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
  236. package/pack/generated/pi/skills/rite-polish/reference/code.md +82 -0
  237. package/pack/generated/pi/skills/rite-polish/reference/design-memory.md +117 -0
  238. package/pack/generated/pi/skills/rite-polish/reference/design-system-discovery.md +8 -0
  239. package/pack/generated/pi/skills/rite-polish/reference/harden-checklist.md +109 -0
  240. package/pack/generated/pi/skills/rite-polish/reference/ledger.md +65 -0
  241. package/pack/generated/pi/skills/rite-polish/reference/ui.md +137 -0
  242. package/pack/generated/pi/skills/rite-pov/SKILL.md +58 -0
  243. package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +54 -0
  244. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +67 -0
  245. package/pack/generated/pi/skills/rite-prototype/SKILL.md +104 -0
  246. package/pack/generated/pi/skills/rite-prove/SKILL.md +120 -0
  247. package/pack/generated/pi/skills/rite-prove/reference/acceptance-proof.md +88 -0
  248. package/pack/generated/pi/skills/rite-prove/reference/anti-patterns.md +25 -0
  249. package/pack/generated/pi/skills/rite-prove/reference/browser-proof.md +51 -0
  250. package/pack/generated/pi/skills/rite-prove/reference/failure-triage.md +43 -0
  251. package/pack/generated/pi/skills/rite-prove/reference/proof-ladder.md +28 -0
  252. package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +30 -0
  253. package/pack/generated/pi/skills/rite-quick/SKILL.md +82 -0
  254. package/pack/generated/pi/skills/rite-resolve/SKILL.md +95 -0
  255. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +118 -0
  256. package/pack/generated/pi/skills/rite-review/SKILL.md +170 -0
  257. package/pack/generated/pi/skills/rite-review/reference/anti-patterns.md +32 -0
  258. package/pack/generated/pi/skills/rite-review/reference/cognitive-load.md +90 -0
  259. package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +26 -0
  260. package/pack/generated/pi/skills/rite-review/reference/five-axis-review.md +66 -0
  261. package/pack/generated/pi/skills/rite-review/reference/nielsen-heuristics.md +126 -0
  262. package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +80 -0
  263. package/pack/generated/pi/skills/rite-review/reference/performance-review.md +14 -0
  264. package/pack/generated/pi/skills/rite-review/reference/security-review.md +42 -0
  265. package/pack/generated/pi/skills/rite-seal/SKILL.md +75 -0
  266. package/pack/generated/pi/skills/rite-seal/reference/anti-patterns.md +29 -0
  267. package/pack/generated/pi/skills/rite-seal/reference/final-evidence.md +41 -0
  268. package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +29 -0
  269. package/pack/generated/pi/skills/rite-seal/reference/output.md +5 -0
  270. package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +47 -0
  271. package/pack/generated/pi/skills/rite-seal/reference/risk-and-rollback.md +56 -0
  272. package/pack/generated/pi/skills/rite-seal/reference/seal-template.md +27 -0
  273. package/pack/generated/pi/skills/rite-ship/SKILL.md +88 -0
  274. package/pack/generated/pi/skills/rite-ship/reference/anti-patterns.md +28 -0
  275. package/pack/generated/pi/skills/rite-ship/reference/close-out.md +68 -0
  276. package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +120 -0
  277. package/pack/generated/pi/skills/rite-ship/reference/rollout.md +62 -0
  278. package/pack/generated/pi/skills/rite-ship/reference/ship-template.md +39 -0
  279. package/pack/generated/pi/skills/rite-spec/SKILL.md +150 -0
  280. package/pack/generated/pi/skills/rite-spec/reference/acceptance-criteria.md +31 -0
  281. package/pack/generated/pi/skills/rite-spec/reference/ai-spec-template.md +40 -0
  282. package/pack/generated/pi/skills/rite-spec/reference/anti-patterns.md +27 -0
  283. package/pack/generated/pi/skills/rite-spec/reference/interview-patterns.md +56 -0
  284. package/pack/generated/pi/skills/rite-spec/reference/investigation.md +83 -0
  285. package/pack/generated/pi/skills/rite-spec/reference/question-protocol.md +36 -0
  286. package/pack/generated/pi/skills/rite-spec/reference/references-intake.md +62 -0
  287. package/pack/generated/pi/skills/rite-spec/reference/spec-checklists.md +89 -0
  288. package/pack/generated/pi/skills/rite-spec/reference/spec-template.md +154 -0
  289. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +227 -0
  290. package/pack/generated/pi/skills/rite-status/SKILL.md +57 -0
  291. package/pack/generated/pi/skills/rite-temper/SKILL.md +130 -0
  292. package/pack/generated/pi/skills/rite-temper/reference/anti-patterns.md +30 -0
  293. package/pack/generated/pi/skills/rite-temper/reference/review-dimensions.md +66 -0
  294. package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +53 -0
  295. package/pack/generated/pi/skills/rite-temper/reference/significance.md +46 -0
  296. package/pack/generated/pi/skills/rite-temper/reference/strategy-template.md +90 -0
  297. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +121 -0
  298. package/pack/generated/pi/skills/rite-vet/SKILL.md +193 -0
  299. package/pack/generated/pi/skills/rite-vet/reference/anti-patterns.md +43 -0
  300. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +202 -0
  301. package/pack/generated/pi/skills/rite-vet/reference/cross-model.md +19 -0
  302. package/pack/generated/pi/skills/rite-vet/reference/depth.md +59 -0
  303. package/pack/generated/pi/skills/rite-vet/reference/eng-lenses.md +48 -0
  304. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +201 -0
  305. package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +85 -0
  306. package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +69 -0
  307. package/package.json +3 -2
  308. package/scripts/build-host-artifacts.sh +100 -37
  309. package/scripts/pi-generate.sh +198 -0
package/install.sh CHANGED
@@ -28,8 +28,8 @@ normalize_release_tag() {
28
28
  printf '%s\n' "$version" | LC_ALL=C grep -Eq '^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$' || return 1
29
29
  prerelease="${version%%+*}"
30
30
  case "$prerelease" in
31
- *-*) prerelease="${prerelease#*-}" ;;
32
- *) prerelease="" ;;
31
+ *-*) prerelease="${prerelease#*-}" ;;
32
+ *) prerelease="" ;;
33
33
  esac
34
34
  if [ -n "$prerelease" ]; then
35
35
  printf '%s\n' "$prerelease" | awk -F. '{ for (i = 1; i <= NF; i++) if ($i ~ /^[0-9]+$/ && length($i) > 1 && substr($i, 1, 1) == "0") exit 1 }' || return 1
@@ -45,11 +45,11 @@ bounded_curl() {
45
45
  DOWNLOAD_FAILURE=""
46
46
  rm -f "$out" "$out.part"
47
47
  curl -fL --proto '=https' --proto-redir '=https' --tlsv1.2 --connect-timeout 10 --max-time "$seconds" \
48
- "$url" 2>/dev/null | head -c "$((limit + 1))" > "$out.part"
48
+ "$url" 2>/dev/null | head -c "$((limit + 1))" >"$out.part"
49
49
  pipeline_status=("${PIPESTATUS[@]}")
50
50
  curl_status="${pipeline_status[0]}"
51
51
  head_status="${pipeline_status[1]}"
52
- bytes="$(wc -c < "$out.part" 2>/dev/null)" || {
52
+ bytes="$(wc -c <"$out.part" 2>/dev/null)" || {
53
53
  DOWNLOAD_FAILURE="local write"
54
54
  rm -f "$out.part"
55
55
  return 1
@@ -66,15 +66,19 @@ bounded_curl() {
66
66
  fi
67
67
  if [ "$curl_status" -ne 0 ]; then
68
68
  case "$curl_status" in
69
- 22) DOWNLOAD_FAILURE="HTTP status" ;;
70
- 28) DOWNLOAD_FAILURE="timeout" ;;
71
- 47) DOWNLOAD_FAILURE="redirect" ;;
72
- *) DOWNLOAD_FAILURE="download" ;;
69
+ 22) DOWNLOAD_FAILURE="HTTP status" ;;
70
+ 28) DOWNLOAD_FAILURE="timeout" ;;
71
+ 47) DOWNLOAD_FAILURE="redirect" ;;
72
+ *) DOWNLOAD_FAILURE="download" ;;
73
73
  esac
74
74
  rm -f "$out.part"
75
75
  return 1
76
76
  fi
77
- mv "$out.part" "$out" || { DOWNLOAD_FAILURE="local write"; rm -f "$out.part"; return 1; }
77
+ mv "$out.part" "$out" || {
78
+ DOWNLOAD_FAILURE="local write"
79
+ rm -f "$out.part"
80
+ return 1
81
+ }
78
82
  }
79
83
 
80
84
  bounded_decompress() {
@@ -83,11 +87,11 @@ bounded_decompress() {
83
87
  limit="$3"
84
88
  DECOMPRESS_FAILURE=""
85
89
  rm -f "$out" "$out.part"
86
- gzip -dc "$archive" 2>/dev/null | head -c "$((limit + 1))" > "$out.part"
90
+ gzip -dc "$archive" 2>/dev/null | head -c "$((limit + 1))" >"$out.part"
87
91
  pipeline_status=("${PIPESTATUS[@]}")
88
92
  gzip_status="${pipeline_status[0]}"
89
93
  head_status="${pipeline_status[1]}"
90
- bytes="$(wc -c < "$out.part" 2>/dev/null)" || {
94
+ bytes="$(wc -c <"$out.part" 2>/dev/null)" || {
91
95
  DECOMPRESS_FAILURE="could not write bounded archive"
92
96
  rm -f "$out.part"
93
97
  return 1
@@ -107,7 +111,11 @@ bounded_decompress() {
107
111
  rm -f "$out.part"
108
112
  return 1
109
113
  fi
110
- mv "$out.part" "$out" || { DECOMPRESS_FAILURE="could not write bounded archive"; rm -f "$out.part"; return 1; }
114
+ mv "$out.part" "$out" || {
115
+ DECOMPRESS_FAILURE="could not write bounded archive"
116
+ rm -f "$out.part"
117
+ return 1
118
+ }
111
119
  }
112
120
 
113
121
  verify_sha256() {
@@ -173,19 +181,31 @@ preflight_archive() {
173
181
  bootstrap_bundle() {
174
182
  script="install"
175
183
  case "${1:-}" in
176
- install|update|uninstall)
177
- script="$1"
178
- shift
179
- ;;
184
+ install | update | uninstall)
185
+ script="$1"
186
+ shift
187
+ ;;
180
188
  esac
181
189
  if [ "${DEVRITES_BOOTSTRAPPED:-0}" = "1" ]; then
182
190
  echo "error: bootstrap re-exec did not find pack/ - aborting to avoid a loop." >&2
183
191
  exit 1
184
192
  fi
185
- command -v curl >/dev/null 2>&1 || { echo "error: curl is required for the network installer." >&2; exit 1; }
186
- command -v gzip >/dev/null 2>&1 || { echo "error: gzip is required for the network installer." >&2; exit 1; }
187
- command -v tar >/dev/null 2>&1 || { echo "error: tar is required for the network installer." >&2; exit 1; }
188
- valid_repo "$DEVRITES_REPO" || { echo "error: DEVRITES_REPO must be an owner/repository name." >&2; exit 1; }
193
+ command -v curl >/dev/null 2>&1 || {
194
+ echo "error: curl is required for the network installer." >&2
195
+ exit 1
196
+ }
197
+ command -v gzip >/dev/null 2>&1 || {
198
+ echo "error: gzip is required for the network installer." >&2
199
+ exit 1
200
+ }
201
+ command -v tar >/dev/null 2>&1 || {
202
+ echo "error: tar is required for the network installer." >&2
203
+ exit 1
204
+ }
205
+ valid_repo "$DEVRITES_REPO" || {
206
+ echo "error: DEVRITES_REPO must be an owner/repository name." >&2
207
+ exit 1
208
+ }
189
209
  old_umask="$(umask)"
190
210
  umask 077
191
211
  BOOTSTRAP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/devrites-bootstrap.XXXXXX" 2>/dev/null)" || {
@@ -197,7 +217,10 @@ bootstrap_bundle() {
197
217
  trap 'exit 1' HUP INT TERM
198
218
  trap 'rm -rf "$BOOTSTRAP_DIR"' EXIT
199
219
  if [ -n "$DEVRITES_REF" ]; then
200
- tag="$(normalize_release_tag "$DEVRITES_REF")" || { echo "error: DEVRITES_REF must be an exact semantic version." >&2; exit 1; }
220
+ tag="$(normalize_release_tag "$DEVRITES_REF")" || {
221
+ echo "error: DEVRITES_REF must be an exact semantic version." >&2
222
+ exit 1
223
+ }
201
224
  else
202
225
  metadata="$BOOTSTRAP_DIR/latest.json"
203
226
  bounded_curl "https://api.github.com/repos/$DEVRITES_REPO/releases/latest" "$metadata" "$BOOTSTRAP_MAX_METADATA" 30 || {
@@ -205,23 +228,53 @@ bootstrap_bundle() {
205
228
  exit 1
206
229
  }
207
230
  metadata_tag="$(sed -n 's/.*"tag_name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$metadata" | head -n1)"
208
- tag="$(normalize_release_tag "$metadata_tag")" || { echo "error: latest release did not provide an exact semantic version." >&2; exit 1; }
231
+ tag="$(normalize_release_tag "$metadata_tag")" || {
232
+ echo "error: latest release did not provide an exact semantic version." >&2
233
+ exit 1
234
+ }
209
235
  fi
210
236
  asset="devrites-$tag.tar.gz"
211
237
  archive="$BOOTSTRAP_DIR/$asset"
212
238
  sidecar="$archive.sha256"
213
239
  url="https://github.com/$DEVRITES_REPO/releases/download/$tag/$asset"
214
- bounded_curl "$url" "$archive" "$BOOTSTRAP_MAX_ARCHIVE" 120 || { echo "error: release $tag asset $asset: ${DOWNLOAD_FAILURE:-download} failed." >&2; exit 1; }
215
- bounded_curl "$url.sha256" "$sidecar" "$BOOTSTRAP_MAX_SIDECAR" 30 || { rm -f "$archive"; echo "error: release $tag asset $asset.sha256: ${DOWNLOAD_FAILURE:-download} failed." >&2; exit 1; }
216
- verify_sha256 "$archive" "$sidecar" "$asset" || { rm -f "$archive" "$sidecar"; echo "error: release $tag asset $asset: checksum failed." >&2; exit 1; }
240
+ bounded_curl "$url" "$archive" "$BOOTSTRAP_MAX_ARCHIVE" 120 || {
241
+ echo "error: release $tag asset $asset: ${DOWNLOAD_FAILURE:-download} failed." >&2
242
+ exit 1
243
+ }
244
+ bounded_curl "$url.sha256" "$sidecar" "$BOOTSTRAP_MAX_SIDECAR" 30 || {
245
+ rm -f "$archive"
246
+ echo "error: release $tag asset $asset.sha256: ${DOWNLOAD_FAILURE:-download} failed." >&2
247
+ exit 1
248
+ }
249
+ verify_sha256 "$archive" "$sidecar" "$asset" || {
250
+ rm -f "$archive" "$sidecar"
251
+ echo "error: release $tag asset $asset: checksum failed." >&2
252
+ exit 1
253
+ }
217
254
  uncompressed="$BOOTSTRAP_DIR/devrites-$tag.tar"
218
- bounded_decompress "$archive" "$uncompressed" "$BOOTSTRAP_MAX_UNCOMPRESSED" || { rm -f "$archive" "$sidecar"; echo "error: release $tag asset $asset: ${DECOMPRESS_FAILURE:-decompression failed}." >&2; exit 1; }
219
- preflight_archive "$uncompressed" "$tag" || { rm -f "$archive" "$sidecar" "$uncompressed"; echo "error: release $tag asset $asset: archive preflight failed." >&2; exit 1; }
255
+ bounded_decompress "$archive" "$uncompressed" "$BOOTSTRAP_MAX_UNCOMPRESSED" || {
256
+ rm -f "$archive" "$sidecar"
257
+ echo "error: release $tag asset $asset: ${DECOMPRESS_FAILURE:-decompression failed}." >&2
258
+ exit 1
259
+ }
260
+ preflight_archive "$uncompressed" "$tag" || {
261
+ rm -f "$archive" "$sidecar" "$uncompressed"
262
+ echo "error: release $tag asset $asset: archive preflight failed." >&2
263
+ exit 1
264
+ }
220
265
  extract="$BOOTSTRAP_DIR/extract"
221
266
  mkdir "$extract" || exit 1
222
- tar -C "$extract" -xf "$uncompressed" || { rm -rf "$extract"; echo "error: could not extract bounded DevRites tarball" >&2; exit 1; }
267
+ tar -C "$extract" -xf "$uncompressed" || {
268
+ rm -rf "$extract"
269
+ echo "error: could not extract bounded DevRites tarball" >&2
270
+ exit 1
271
+ }
223
272
  bundle="$extract/devrites-$tag"
224
- [ -f "$bundle/$script.sh" ] || { rm -rf "$extract"; echo "error: extracted bundle is missing $script.sh" >&2; exit 1; }
273
+ [ -f "$bundle/$script.sh" ] || {
274
+ rm -rf "$extract"
275
+ echo "error: extracted bundle is missing $script.sh" >&2
276
+ exit 1
277
+ }
225
278
  chmod +x "$bundle/install.sh" "$bundle/uninstall.sh" "$bundle/update.sh" 2>/dev/null || true
226
279
  echo "DevRites: bootstrapped from $tag"
227
280
  export DEVRITES_BOOTSTRAPPED=1
@@ -235,22 +288,38 @@ if [ -z "$SELF_DIR" ] || [ ! -d "$SELF_DIR/pack" ]; then
235
288
  fi
236
289
 
237
290
  INSTALL_LIB="$SELF_DIR/scripts/install-lib.sh"
238
- [ -f "$INSTALL_LIB" ] || { echo "error: extracted bundle is missing scripts/install-lib.sh" >&2; exit 1; }
291
+ [ -f "$INSTALL_LIB" ] || {
292
+ echo "error: extracted bundle is missing scripts/install-lib.sh" >&2
293
+ exit 1
294
+ }
239
295
  . "$INSTALL_LIB"
240
296
 
241
- DR_ENGINE_PATH=""; DR_ENGINE_TMP=""
297
+ DR_ENGINE_PATH=""
298
+ DR_ENGINE_TMP=""
242
299
  trap dr_cleanup_engine EXIT
243
300
  trap 'exit 1' HUP INT TERM
244
- dr_acquire_engine "$SELF_DIR" install "$DEVRITES_REPO" || { echo "error: could not acquire devrites-engine (no usable installed binary and no matching verified release binary${DR_ACQUIRE_FAILURE:+; $DR_ACQUIRE_FAILURE})." >&2; exit 1; }
301
+ dr_acquire_engine "$SELF_DIR" install "$DEVRITES_REPO" || {
302
+ echo "error: could not acquire devrites-engine (no usable installed binary and no matching verified release binary${DR_ACQUIRE_FAILURE:+; $DR_ACQUIRE_FAILURE})." >&2
303
+ exit 1
304
+ }
245
305
  ENGINE="$DR_ENGINE_PATH"
246
306
  PAYLOAD="${DEVRITES_HOST_ARTIFACT_DIR:-$SELF_DIR/pack/generated}"
247
- if [ ! -d "$PAYLOAD/claude/skills" ] || [ ! -d "$PAYLOAD/codex/skills" ] \
248
- || [ ! -f "$PAYLOAD/claude/skills/devrites-lib/reference/standards/agents.md" ] \
249
- || [ ! -f "$PAYLOAD/codex/skills/devrites-lib/reference/standards/agents.md" ] \
250
- || [ ! -f "$PAYLOAD/codex/config.toml" ]; then
307
+ if [ ! -d "$PAYLOAD/claude/skills" ] || [ ! -d "$PAYLOAD/codex/skills" ] ||
308
+ [ ! -d "$PAYLOAD/pi/skills" ] || [ ! -d "$PAYLOAD/pi/agents" ] ||
309
+ [ ! -d "$PAYLOAD/pi/prompts" ] ||
310
+ [ ! -f "$PAYLOAD/claude/skills/devrites-lib/reference/standards/agents.md" ] ||
311
+ [ ! -f "$PAYLOAD/codex/skills/devrites-lib/reference/standards/agents.md" ] ||
312
+ [ ! -f "$PAYLOAD/pi/skills/devrites-lib/reference/standards/agents.md" ] ||
313
+ [ ! -f "$PAYLOAD/codex/config.toml" ] || [ ! -f "$PAYLOAD/pi/AGENTS.md" ]; then
251
314
  BUILDER="$SELF_DIR/scripts/build-host-artifacts.sh"
252
- [ -f "$BUILDER" ] || { echo "error: generated install payload missing at $PAYLOAD and builder missing at $BUILDER" >&2; exit 1; }
253
- DEVRITES_HOST_ARTIFACT_DIR="$PAYLOAD" bash "$BUILDER" >/dev/null || { echo "error: could not generate install payload at $PAYLOAD" >&2; exit 1; }
315
+ [ -f "$BUILDER" ] || {
316
+ echo "error: generated install payload missing at $PAYLOAD and builder missing at $BUILDER" >&2
317
+ exit 1
318
+ }
319
+ DEVRITES_HOST_ARTIFACT_DIR="$PAYLOAD" bash "$BUILDER" >/dev/null || {
320
+ echo "error: could not generate install payload at $PAYLOAD" >&2
321
+ exit 1
322
+ }
254
323
  fi
255
324
  export DEVRITES_ENGINE_CLI="$ENGINE"
256
325
  "$ENGINE" install --source-dir "$SELF_DIR" --payload-dir "$PAYLOAD" "$@"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-define
3
- description: Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan.
3
+ description: "Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-handoff
3
- description: User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff.
3
+ description: "User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff."
4
4
  user-invocable: true
5
5
  disable-model-invocation: true
6
6
  argument-hint: "[what the next session will focus on]"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-plan
3
- description: Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition.
3
+ description: "Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition."
4
4
  argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-pressure-test
3
- description: Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec.
3
+ description: "Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec."
4
4
  argument-hint: "[rough idea or plan to stress-test]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-quick
3
- description: Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix.
3
+ description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
4
4
  argument-hint: "<what to change>"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-status
3
- description: User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness.
3
+ description: "User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-zoom-out
3
- description: User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions.
3
+ description: "User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions."
4
4
  argument-hint: "[symbol | file | area to map]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -7,6 +7,10 @@ This directory is generated by `scripts/build-host-artifacts.sh`.
7
7
  read-only-root permission profile, and AGENTS bridge content.
8
8
  - `omp/` contains omp-native skill mirrors, Markdown agents, and
9
9
  `.omp-plugin/plugin.json`.
10
+ - `pi/` contains pi-native skill mirrors, pi-subagents Markdown agents,
11
+ prompt templates preserving the `/rite*` commands, and an `AGENTS.md`
12
+ bridge block.
10
13
 
11
14
  Do not edit these files by hand. Edit `pack/.claude/`,
12
- `scripts/codex-generate.sh`, or `scripts/omp-generate.sh`, then rebuild.
15
+ `scripts/codex-generate.sh`, `scripts/omp-generate.sh`, or
16
+ `scripts/pi-generate.sh`, then rebuild.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-define
3
- description: Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan.
3
+ description: "Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-handoff
3
- description: User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff.
3
+ description: "User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff."
4
4
  user-invocable: true
5
5
  disable-model-invocation: true
6
6
  argument-hint: "[what the next session will focus on]"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-plan
3
- description: Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition.
3
+ description: "Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition."
4
4
  argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-pressure-test
3
- description: Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec.
3
+ description: "Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec."
4
4
  argument-hint: "[rough idea or plan to stress-test]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-quick
3
- description: Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix.
3
+ description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
4
4
  argument-hint: "<what to change>"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-status
3
- description: User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness.
3
+ description: "User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-zoom-out
3
- description: User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions.
3
+ description: "User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions."
4
4
  argument-hint: "[symbol | file | area to map]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-define
3
- description: Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan.
3
+ description: "Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-handoff
3
- description: User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff.
3
+ description: "User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff."
4
4
  user-invocable: true
5
5
  disable-model-invocation: true
6
6
  argument-hint: "[what the next session will focus on]"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-plan
3
- description: Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition.
3
+ description: "Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition."
4
4
  argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-pressure-test
3
- description: Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec.
3
+ description: "Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec."
4
4
  argument-hint: "[rough idea or plan to stress-test]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-quick
3
- description: Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix.
3
+ description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
4
4
  argument-hint: "<what to change>"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-status
3
- description: User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness.
3
+ description: "User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-zoom-out
3
- description: User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions.
3
+ description: "User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions."
4
4
  argument-hint: "[symbol | file | area to map]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-define
3
- description: Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan.
3
+ description: "Define the first build plan from an approved spec: architecture, task slices, traceability, and state. Use when turning approved intent into its initial plan."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-handoff
3
- description: User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff.
3
+ description: "User-invoked handoff writer: sync chat-only context into `.devrites/` and write a fresh-agent handoff."
4
4
  user-invocable: true
5
5
  disable-model-invocation: true
6
6
  argument-hint: "[what the next session will focus on]"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-plan
3
- description: Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition.
3
+ description: "Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition."
4
4
  argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-pressure-test
3
- description: Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec.
3
+ description: "Pressure-test a rough/vague idea: ideate, explore 3-5 approaches, radically different shapes, diverge then converge on direction before spec. Not for writing spec."
4
4
  argument-hint: "[rough idea or plan to stress-test]"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-quick
3
- description: Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix.
3
+ description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
4
4
  argument-hint: "<what to change>"
5
5
  user-invocable: true
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-status
3
- description: User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness.
3
+ description: "User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness."
4
4
  argument-hint: "[feature-slug]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rite-zoom-out
3
- description: User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions.
3
+ description: "User-invoked read-only structural map of unfamiliar code: modules, callers, callees, and relevant decisions."
4
4
  argument-hint: "[symbol | file | area to map]"
5
5
  user-invocable: true
6
6
  disable-model-invocation: true
@@ -0,0 +1,22 @@
1
+ <!-- BEGIN DEVRITES PI -->
2
+ ## DevRites For pi
3
+
4
+ This project has DevRites installed for pi.
5
+
6
+ ## pi usage
7
+
8
+ - DevRites workflow skills live in `.pi/skills`. Public commands run as `/rite`, `/rite-spec`, ... (prompt templates under `.pi/prompts`) or `/skill:rite`, `/skill:rite-spec`, ...; the forms are equivalent.
9
+ - Before using any DevRites workflow skill, read `.pi/skills/devrites-lib/reference/standards/core.md`. Load other `.pi/skills/devrites-lib/reference/standards/*.md` files when the skill or rule index asks for them.
10
+ - DevRites specialist agents live in `.pi/agents` and are provided by the `pi-subagents` extension. Before dispatch, run `subagent({ action: "list" })`; if a required `devrites-<role>` is absent or not executable, stop for HITL — never skip it, substitute a generic child, or run the specialist role in the root context.
11
+ - In DevRites guidance, **invoke** means run a skill inline in the current context; **dispatch** means start a fresh agent with `subagent({ agent, task })` (or `runs.run`/`runs.all` in a `workflowScript`), wait for it, and reconcile its result.
12
+ - Only `devrites-slice-wright` may edit source or tests; every other specialist is read-only by tool allowlist. Exact paths are instruction-enforced: put the project-relative paths in the task, wait for the wright, compare its file list and `git diff --name-only` with that contract, and reject any extra path.
13
+ - DevRites runtime helpers run through the installed `devrites-engine` binary.
14
+ - Installed `.pi/` content loads only after the project is trusted. If pi has not trusted this project, the skills, agents, and prompts above are not active.
15
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval.
16
+
17
+ ## Workflow contract
18
+
19
+ - Keep all feature state in `.devrites/work/<slug>/` and preserve `.devrites/ACTIVE`.
20
+ - Follow the DevRites lifecycle: frame -> spec -> clarify -> temper -> define -> plan -> vet -> build -> converge -> prove -> polish -> review -> seal -> ship -> done.
21
+ - Claims of completion need recorded evidence in the feature workspace, not confidence alone.
22
+ <!-- END DEVRITES PI -->