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.
- package/CHANGELOG.md +12 -0
- package/README.md +8 -6
- package/engine/internal/devritespaths/paths.go +3 -0
- package/engine/internal/hostpack/hostpack.go +45 -6
- package/engine/internal/hostpack/hostpack_test.go +29 -13
- package/engine/internal/install/apply.go +14 -5
- package/engine/internal/install/install.go +8 -2
- package/engine/internal/install/install_test.go +12 -5
- package/engine/internal/install/merge.go +5 -0
- package/engine/internal/install/preflight.go +20 -2
- package/engine/internal/install/uninstall.go +5 -0
- package/engine/internal/install/update.go +1 -1
- package/install.sh +107 -38
- package/pack/.claude/skills/rite-define/SKILL.md +1 -1
- package/pack/.claude/skills/rite-handoff/SKILL.md +1 -1
- package/pack/.claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +1 -1
- package/pack/.claude/skills/rite-status/SKILL.md +1 -1
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/README.md +5 -1
- package/pack/generated/claude/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/pi/AGENTS.md +22 -0
- package/pack/generated/pi/agents/devrites-code-reviewer.md +142 -0
- package/pack/generated/pi/agents/devrites-devex-reviewer.md +124 -0
- package/pack/generated/pi/agents/devrites-doubt-reviewer.md +88 -0
- package/pack/generated/pi/agents/devrites-evidence-scout.md +72 -0
- package/pack/generated/pi/agents/devrites-frontend-reviewer.md +116 -0
- package/pack/generated/pi/agents/devrites-performance-reviewer.md +115 -0
- package/pack/generated/pi/agents/devrites-plan-drafter.md +99 -0
- package/pack/generated/pi/agents/devrites-plan-reviewer.md +142 -0
- package/pack/generated/pi/agents/devrites-proof-runner.md +74 -0
- package/pack/generated/pi/agents/devrites-retrospector.md +61 -0
- package/pack/generated/pi/agents/devrites-security-auditor.md +109 -0
- package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +94 -0
- package/pack/generated/pi/agents/devrites-slice-wright.md +204 -0
- package/pack/generated/pi/agents/devrites-spec-reviewer.md +96 -0
- package/pack/generated/pi/agents/devrites-strategy-reviewer.md +100 -0
- package/pack/generated/pi/agents/devrites-test-analyst.md +94 -0
- package/pack/generated/pi/agents/devrites-upgrade-planner.md +89 -0
- package/pack/generated/pi/prompts/rite-adopt.md +5 -0
- package/pack/generated/pi/prompts/rite-autocomplete.md +5 -0
- package/pack/generated/pi/prompts/rite-build.md +5 -0
- package/pack/generated/pi/prompts/rite-clarify.md +5 -0
- package/pack/generated/pi/prompts/rite-converge.md +5 -0
- package/pack/generated/pi/prompts/rite-customize.md +5 -0
- package/pack/generated/pi/prompts/rite-define.md +5 -0
- package/pack/generated/pi/prompts/rite-doctor.md +5 -0
- package/pack/generated/pi/prompts/rite-dogfood.md +5 -0
- package/pack/generated/pi/prompts/rite-explain.md +5 -0
- package/pack/generated/pi/prompts/rite-frame.md +5 -0
- package/pack/generated/pi/prompts/rite-handoff.md +5 -0
- package/pack/generated/pi/prompts/rite-learn.md +5 -0
- package/pack/generated/pi/prompts/rite-plan.md +5 -0
- package/pack/generated/pi/prompts/rite-polish.md +5 -0
- package/pack/generated/pi/prompts/rite-pov.md +5 -0
- package/pack/generated/pi/prompts/rite-pr-feedback.md +5 -0
- package/pack/generated/pi/prompts/rite-pressure-test.md +5 -0
- package/pack/generated/pi/prompts/rite-prototype.md +5 -0
- package/pack/generated/pi/prompts/rite-prove.md +5 -0
- package/pack/generated/pi/prompts/rite-quick.md +5 -0
- package/pack/generated/pi/prompts/rite-resolve.md +5 -0
- package/pack/generated/pi/prompts/rite-review.md +5 -0
- package/pack/generated/pi/prompts/rite-seal.md +5 -0
- package/pack/generated/pi/prompts/rite-ship.md +5 -0
- package/pack/generated/pi/prompts/rite-spec.md +5 -0
- package/pack/generated/pi/prompts/rite-status.md +5 -0
- package/pack/generated/pi/prompts/rite-temper.md +5 -0
- package/pack/generated/pi/prompts/rite-upgrade.md +5 -0
- package/pack/generated/pi/prompts/rite-vet.md +5 -0
- package/pack/generated/pi/prompts/rite-watch-pr.md +5 -0
- package/pack/generated/pi/prompts/rite-zoom-out.md +5 -0
- package/pack/generated/pi/prompts/rite.md +5 -0
- package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +63 -0
- package/pack/generated/pi/skills/devrites-audit/SKILL.md +50 -0
- package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +76 -0
- package/pack/generated/pi/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/pi/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +96 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/pi/skills/devrites-doubt/SKILL.md +79 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +86 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +56 -0
- package/pack/generated/pi/skills/devrites-interview/SKILL.md +102 -0
- package/pack/generated/pi/skills/devrites-lib/SKILL.md +58 -0
- package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/intent-map.md +64 -0
- package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +88 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +60 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +398 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +99 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +108 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +167 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +31 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +43 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +85 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +47 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +25 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +88 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +68 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +51 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +123 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +202 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +212 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +92 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
- package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +73 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/examples.md +131 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +52 -0
- package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +134 -0
- package/pack/generated/pi/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/pi/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/pi/skills/rite/SKILL.md +148 -0
- package/pack/generated/pi/skills/rite/reference/menu.md +48 -0
- package/pack/generated/pi/skills/rite-adopt/SKILL.md +52 -0
- package/pack/generated/pi/skills/rite-adopt/reference/adoption.md +19 -0
- package/pack/generated/pi/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +132 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/decision-policy.md +41 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +148 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +92 -0
- package/pack/generated/pi/skills/rite-build/SKILL.md +96 -0
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +23 -0
- package/pack/generated/pi/skills/rite-build/reference/checkpoint-protocol.md +120 -0
- package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/pi/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +50 -0
- package/pack/generated/pi/skills/rite-build/reference/output.md +33 -0
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +205 -0
- package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +87 -0
- package/pack/generated/pi/skills/rite-build/reference/spec-drift-guard.md +84 -0
- package/pack/generated/pi/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +89 -0
- package/pack/generated/pi/skills/rite-clarify/SKILL.md +99 -0
- package/pack/generated/pi/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/pi/skills/rite-clarify/reference/decision-coverage.md +55 -0
- package/pack/generated/pi/skills/rite-converge/SKILL.md +145 -0
- package/pack/generated/pi/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/pi/skills/rite-converge/reference/convergence-assessment.md +65 -0
- package/pack/generated/pi/skills/rite-customize/SKILL.md +60 -0
- package/pack/generated/pi/skills/rite-define/SKILL.md +169 -0
- package/pack/generated/pi/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/pi/skills/rite-define/reference/gates.md +154 -0
- package/pack/generated/pi/skills/rite-define/reference/plan-template.md +149 -0
- package/pack/generated/pi/skills/rite-doctor/SKILL.md +69 -0
- package/pack/generated/pi/skills/rite-dogfood/SKILL.md +55 -0
- package/pack/generated/pi/skills/rite-explain/SKILL.md +152 -0
- package/pack/generated/pi/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/pi/skills/rite-frame/SKILL.md +115 -0
- package/pack/generated/pi/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/pi/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/pi/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/pi/skills/rite-learn/SKILL.md +72 -0
- package/pack/generated/pi/skills/rite-plan/SKILL.md +186 -0
- package/pack/generated/pi/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +105 -0
- package/pack/generated/pi/skills/rite-plan/reference/slicing.md +167 -0
- package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +42 -0
- package/pack/generated/pi/skills/rite-polish/SKILL.md +104 -0
- package/pack/generated/pi/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/pi/skills/rite-polish/reference/anti-ai-slop.md +187 -0
- package/pack/generated/pi/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/pi/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/pi/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/pi/skills/rite-polish/reference/code.md +82 -0
- package/pack/generated/pi/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/pi/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/pi/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/pi/skills/rite-polish/reference/ledger.md +65 -0
- package/pack/generated/pi/skills/rite-polish/reference/ui.md +137 -0
- package/pack/generated/pi/skills/rite-pov/SKILL.md +58 -0
- package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +54 -0
- package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +67 -0
- package/pack/generated/pi/skills/rite-prototype/SKILL.md +104 -0
- package/pack/generated/pi/skills/rite-prove/SKILL.md +120 -0
- package/pack/generated/pi/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/pi/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/pi/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/pi/skills/rite-prove/reference/failure-triage.md +43 -0
- package/pack/generated/pi/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/pi/skills/rite-quick/SKILL.md +82 -0
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +95 -0
- package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +118 -0
- package/pack/generated/pi/skills/rite-review/SKILL.md +170 -0
- package/pack/generated/pi/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/pi/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/pi/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/pi/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/pi/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/pi/skills/rite-review/reference/security-review.md +42 -0
- package/pack/generated/pi/skills/rite-seal/SKILL.md +75 -0
- package/pack/generated/pi/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/pi/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +29 -0
- package/pack/generated/pi/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +47 -0
- package/pack/generated/pi/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/pi/skills/rite-seal/reference/seal-template.md +27 -0
- package/pack/generated/pi/skills/rite-ship/SKILL.md +88 -0
- package/pack/generated/pi/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/pi/skills/rite-ship/reference/close-out.md +68 -0
- package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +120 -0
- package/pack/generated/pi/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/pi/skills/rite-ship/reference/ship-template.md +39 -0
- package/pack/generated/pi/skills/rite-spec/SKILL.md +150 -0
- package/pack/generated/pi/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/pi/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/pi/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/pi/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/pi/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/pi/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/pi/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/pi/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/pi/skills/rite-spec/reference/spec-template.md +154 -0
- package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +227 -0
- package/pack/generated/pi/skills/rite-status/SKILL.md +57 -0
- package/pack/generated/pi/skills/rite-temper/SKILL.md +130 -0
- package/pack/generated/pi/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/pi/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/pi/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/pi/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/pi/skills/rite-upgrade/SKILL.md +121 -0
- package/pack/generated/pi/skills/rite-vet/SKILL.md +193 -0
- package/pack/generated/pi/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +202 -0
- package/pack/generated/pi/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/pi/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/pi/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +201 -0
- package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +85 -0
- package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +69 -0
- package/package.json +3 -2
- package/scripts/build-host-artifacts.sh +100 -37
- 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
|
-
|
|
32
|
-
|
|
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))" >
|
|
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 <
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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" || {
|
|
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))" >
|
|
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 <
|
|
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" || {
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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 || {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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")" || {
|
|
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")" || {
|
|
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 || {
|
|
215
|
-
|
|
216
|
-
|
|
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" || {
|
|
219
|
-
|
|
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" || {
|
|
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" ] || {
|
|
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" ] || {
|
|
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=""
|
|
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" || {
|
|
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
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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" ] || {
|
|
253
|
-
|
|
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
|
package/pack/generated/README.md
CHANGED
|
@@ -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`,
|
|
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 -->
|