devrites 5.10.1 → 5.11.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 +13 -0
- package/README.md +24 -10
- package/bin/devrites.mjs +2 -0
- package/docs/cli.md +4 -1
- package/docs/command-map.md +7 -5
- package/docs/engine/commands.md +7 -5
- package/docs/orchestration.md +5 -2
- package/docs/skills.md +10 -4
- package/docs/usage.md +3 -1
- package/engine/commands.go +3 -0
- package/engine/help.go +190 -0
- package/engine/help_test.go +98 -0
- package/engine/internal/devritespaths/paths.go +2 -0
- package/engine/internal/hostpack/hostpack.go +39 -5
- package/engine/internal/hostpack/hostpack_test.go +27 -13
- package/engine/internal/install/apply.go +17 -4
- package/engine/internal/install/install.go +9 -2
- package/engine/internal/install/install_test.go +15 -2
- package/engine/internal/install/preflight.go +8 -2
- package/engine/internal/install/update.go +1 -1
- package/engine/internal/parallel/cli.go +90 -32
- package/engine/internal/parallel/cli_test.go +32 -0
- package/engine/main.go +15 -8
- package/engine/root_routing_test.go +4 -0
- package/install.sh +4 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/.claude/skills/rite-build/SKILL.md +3 -1
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/README.md +4 -2
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/devin/AGENTS.md +23 -0
- package/pack/generated/devin/agents/devrites-code-reviewer.md +145 -0
- package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
- package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
- package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
- package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
- package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
- package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
- package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
- package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
- package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
- package/pack/generated/devin/agents/devrites-security-auditor.md +112 -0
- package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +97 -0
- package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
- package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
- package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
- package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
- package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
- package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +64 -0
- package/pack/generated/devin/skills/devrites-audit/SKILL.md +51 -0
- package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +77 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +97 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/devin/skills/devrites-doubt/SKILL.md +80 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +87 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +56 -0
- package/pack/generated/devin/skills/devrites-interview/SKILL.md +103 -0
- package/pack/generated/devin/skills/devrites-lib/SKILL.md +57 -0
- package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
- package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +88 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +60 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +415 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +99 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +108 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +167 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +31 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +43 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +85 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +47 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +25 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +88 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +68 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +123 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +202 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +212 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +92 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
- package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +74 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +53 -0
- package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +135 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/devin/skills/rite/SKILL.md +148 -0
- package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
- package/pack/generated/devin/skills/rite-adopt/SKILL.md +51 -0
- package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
- package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +142 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +151 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
- package/pack/generated/devin/skills/rite-build/SKILL.md +102 -0
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
- package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +56 -0
- package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
- package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +214 -0
- package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +89 -0
- package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
- package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +96 -0
- package/pack/generated/devin/skills/rite-clarify/SKILL.md +98 -0
- package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
- package/pack/generated/devin/skills/rite-converge/SKILL.md +144 -0
- package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
- package/pack/generated/devin/skills/rite-customize/SKILL.md +60 -0
- package/pack/generated/devin/skills/rite-define/SKILL.md +168 -0
- package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
- package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
- package/pack/generated/devin/skills/rite-doctor/SKILL.md +68 -0
- package/pack/generated/devin/skills/rite-dogfood/SKILL.md +55 -0
- package/pack/generated/devin/skills/rite-explain/SKILL.md +152 -0
- package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/devin/skills/rite-frame/SKILL.md +114 -0
- package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/devin/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/devin/skills/rite-learn/SKILL.md +72 -0
- package/pack/generated/devin/skills/rite-plan/SKILL.md +185 -0
- package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
- package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
- package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +42 -0
- package/pack/generated/devin/skills/rite-polish/SKILL.md +105 -0
- package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/devin/skills/rite-polish/reference/code.md +82 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/devin/skills/rite-polish/reference/ledger.md +65 -0
- package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
- package/pack/generated/devin/skills/rite-pov/SKILL.md +57 -0
- package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +54 -0
- package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +66 -0
- package/pack/generated/devin/skills/rite-prototype/SKILL.md +104 -0
- package/pack/generated/devin/skills/rite-prove/SKILL.md +122 -0
- package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
- package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/devin/skills/rite-quick/SKILL.md +81 -0
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +98 -0
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
- package/pack/generated/devin/skills/rite-review/SKILL.md +171 -0
- package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
- package/pack/generated/devin/skills/rite-seal/SKILL.md +74 -0
- package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +29 -0
- package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +47 -0
- package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
- package/pack/generated/devin/skills/rite-ship/SKILL.md +87 -0
- package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
- package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
- package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
- package/pack/generated/devin/skills/rite-spec/SKILL.md +149 -0
- package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
- package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +227 -0
- package/pack/generated/devin/skills/rite-status/SKILL.md +57 -0
- package/pack/generated/devin/skills/rite-temper/SKILL.md +129 -0
- package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/devin/skills/rite-upgrade/SKILL.md +121 -0
- package/pack/generated/devin/skills/rite-vet/SKILL.md +192 -0
- package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +202 -0
- package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +201 -0
- package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +84 -0
- package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +69 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/omp/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/omp/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/pi/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/pi/skills/rite-define/reference/plan-template.md +1 -1
- package/package.json +4 -2
- package/scripts/build-host-artifacts.sh +48 -5
- package/scripts/devin-generate.sh +222 -0
- package/update.sh +2 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Structures to avoid
|
|
2
|
+
|
|
3
|
+
The sentence- and paragraph-level shapes that mark machine-written prose. Each row is a
|
|
4
|
+
pattern and its fix. Calibrated: the slop is the *decorative* version; the genuine structural
|
|
5
|
+
version (a real enumeration, a real contrast that carries information) stays.
|
|
6
|
+
|
|
7
|
+
## Negative parallelism — the "not X, it's Y" family
|
|
8
|
+
|
|
9
|
+
The single most recognizable tell. It mimics insight by manufacturing a contrast.
|
|
10
|
+
|
|
11
|
+
| Pattern | Fix |
|
|
12
|
+
|---|---|
|
|
13
|
+
| "It's not X, it's Y." / "It isn't X. It's Y." | State Y. "Y is the cause." |
|
|
14
|
+
| "Not just X, but Y." / "Not only X but also Y." | State both plainly, or just Y if X is filler. |
|
|
15
|
+
| "The question isn't X. It's Y." | Ask the real question once, or state the answer. |
|
|
16
|
+
| "This isn't about X. It's about Y." | "This is about Y." |
|
|
17
|
+
| "X isn't the problem. Y is." | "Y is the problem." |
|
|
18
|
+
| "No X. No Y. Just Z." | "Z." or a normal sentence naming Z. |
|
|
19
|
+
| Negation chain: "No fluff, no filler, no jargon." / "It didn't ask. It didn't wait." | Say what the thing is. One negation earns its place when the reader would assume the opposite; a drumroll of them does not. Carve-out: factual inventories ("takes no arguments, no headers, and no body") stay. |
|
|
20
|
+
|
|
21
|
+
Drop the negation; lead with the thing you actually mean.
|
|
22
|
+
|
|
23
|
+
## Rule of three / decorative tricolon
|
|
24
|
+
|
|
25
|
+
AI defaults to three-item adjective or benefit triplets. The fix depends on whether the three
|
|
26
|
+
items are *real*.
|
|
27
|
+
|
|
28
|
+
- **Decorative triad** — "innovative, transformative, and groundbreaking", "fast, reliable, and
|
|
29
|
+
scalable" as a flourish → cut to the one that's true and provable, or delete.
|
|
30
|
+
- **Real enumeration** — three acceptance criteria, three slices, three status codes the
|
|
31
|
+
endpoint returns → **keep all three.** This is precision, not slop. The technical register
|
|
32
|
+
needs the complete list.
|
|
33
|
+
|
|
34
|
+
Test: if removing one item loses information a reader needs, it's a real list — keep it. If the
|
|
35
|
+
three are interchangeable adjectives, it's a triad — cut it.
|
|
36
|
+
|
|
37
|
+
## Importance inflation
|
|
38
|
+
|
|
39
|
+
Announcing significance instead of showing it. Let the reader judge weight.
|
|
40
|
+
|
|
41
|
+
| Pattern | Fix |
|
|
42
|
+
|---|---|
|
|
43
|
+
| "a pivotal moment", "a broader movement" | Describe what happened; drop the significance label. |
|
|
44
|
+
| "The implications are significant." | Name the specific implication. |
|
|
45
|
+
| "This is a critical step." | Show why it's required (the dependency, the gate, the risk). |
|
|
46
|
+
|
|
47
|
+
## Vague attribution — cite the source or drop it
|
|
48
|
+
|
|
49
|
+
The prose twin of DevRites's evidence discipline (`devrites-source-driven`, `evidence.md`). An
|
|
50
|
+
unnamed authority is not a source; it inflates one person's claim into consensus.
|
|
51
|
+
|
|
52
|
+
| Pattern | Fix |
|
|
53
|
+
|---|---|
|
|
54
|
+
| "Experts believe…", "Studies show…", "Research suggests…" | Name the study/doc/benchmark, or cut the appeal and state the claim on its own merits. |
|
|
55
|
+
| "Best practice says…", "The community recommends…", "It's widely agreed…" | Link the source (an RFC, the framework docs, a measured result), or make the call yourself and own it in `decisions.md`. |
|
|
56
|
+
|
|
57
|
+
If you can't name who holds the view, you don't have a source — you have a guess. State it as one.
|
|
58
|
+
|
|
59
|
+
## Abstract category nouns — name the specific items
|
|
60
|
+
|
|
61
|
+
"Various factors", "several considerations", "a number of issues" say nothing. Replace the
|
|
62
|
+
category word with the actual items.
|
|
63
|
+
|
|
64
|
+
| Pattern | Fix |
|
|
65
|
+
|---|---|
|
|
66
|
+
| "improvements across various metrics" | "cuts p95 latency 120ms→80ms and halves the query count" |
|
|
67
|
+
| "there are several considerations" | List the considerations, or name the one that matters. |
|
|
68
|
+
| "performance issues", "some edge cases" | Name the N+1 query; name the empty-input and the 10k-row cases. |
|
|
69
|
+
|
|
70
|
+
Offender words to catch: factors, aspects, considerations, issues, elements, things, areas,
|
|
71
|
+
metrics (unnamed). In a spec or `decisions.md`, the specific item is the whole point.
|
|
72
|
+
|
|
73
|
+
## False agency — name who acts
|
|
74
|
+
|
|
75
|
+
Giving inanimate things human verbs. Common in machine prose because it avoids naming the actor.
|
|
76
|
+
|
|
77
|
+
| Pattern | Fix |
|
|
78
|
+
|---|---|
|
|
79
|
+
| "the data tells us" | "the grader reads X and returns Y" |
|
|
80
|
+
| "the decision emerges" | "we chose X because…" |
|
|
81
|
+
| "the complaint becomes a fix" | "the team fixed it in slice 3" |
|
|
82
|
+
| "the test ensures correctness" | "the test asserts `total === 42`" |
|
|
83
|
+
|
|
84
|
+
Front the actor: the script, the gate, the function, the engineer, or "you".
|
|
85
|
+
|
|
86
|
+
## Dramatic fragmentation & rhetorical setups
|
|
87
|
+
|
|
88
|
+
| Pattern | Fix |
|
|
89
|
+
|---|---|
|
|
90
|
+
| "[Noun]. That's it. That's the [thing]." | One complete sentence. |
|
|
91
|
+
| "X. And Y. And Z." (staccato for drama) | Join into normal sentences; vary length. |
|
|
92
|
+
| "The result? Devastating." (self-posed Q&A) | Fold into a statement. |
|
|
93
|
+
| "What if [reframe]?" as a hook | Make the point directly. |
|
|
94
|
+
| "Think about it:" / "Here's what I mean:" | Delete; the next sentence already does the work. |
|
|
95
|
+
| Performed insight: "that's not nothing", "the punchline is", "sit with that", "that's the whole point", "Turns out…" | State the claim the phrase was gesturing at. One hit can be voice; several in one piece is a tell. |
|
|
96
|
+
|
|
97
|
+
## Inflated constructions
|
|
98
|
+
|
|
99
|
+
Three small tells that pad a plain sentence into something that sounds weightier than it is.
|
|
100
|
+
|
|
101
|
+
| Pattern | Fix |
|
|
102
|
+
|---|---|
|
|
103
|
+
| **Copula-dodge** — "X serves as / functions as / stands as / boasts / features…" | Use the plain verb. "The gateway **is** the entry point", "the module **has** three handlers". |
|
|
104
|
+
| **Participle tail** — "…, highlighting its importance", "…, reflecting broader trends", "…, underscoring its role as a dynamic hub" | Cut the trailing `-ing` clause; it adds fake depth, not information. |
|
|
105
|
+
| **Aphorism formula** — "X is the Y of Z" ("caching is the heartbeat of the system"), "X is not a tool but a Y" | State the actual property. "The cache holds the hot rows so the DB isn't hit on every request." |
|
|
106
|
+
| **Invented concept label** — coining a pseudo-term as if it's established: "the N+1 tax", "the supervision paradox", "the abstraction trap" | Name the concrete thing and skip the coined label, or define it once if it genuinely recurs. |
|
|
107
|
+
|
|
108
|
+
## Passive voice (prose register)
|
|
109
|
+
|
|
110
|
+
Every prose sentence wants a subject doing something. Passive hides the actor and drains energy.
|
|
111
|
+
|
|
112
|
+
| Pattern | Fix |
|
|
113
|
+
|---|---|
|
|
114
|
+
| "It was decided that…" | "We decided…" |
|
|
115
|
+
| "Mistakes were made." | Name who, and what. |
|
|
116
|
+
| "The endpoint is called by the client." | "The client calls the endpoint." |
|
|
117
|
+
|
|
118
|
+
Calibration: passive is fine when the actor is genuinely unknown or irrelevant ("the row is
|
|
119
|
+
deleted on cascade"). Don't contort a sentence to name an actor that doesn't matter.
|
|
120
|
+
|
|
121
|
+
## Rhythm
|
|
122
|
+
|
|
123
|
+
- Don't run three same-length sentences in a row; don't stack three short fragments for effect.
|
|
124
|
+
- Don't end every paragraph on a punchy one-liner. Vary where the weight lands.
|
|
125
|
+
- **Em-dashes:** at most one per paragraph, used where a comma or period won't do. Multiple per
|
|
126
|
+
paragraph is the tell. (Catch both the em-dash `—` and the `--` substitute.)
|
|
127
|
+
- Don't open consecutive sentences with the same Wh- word ("What makes this… What this means…")
|
|
128
|
+
as a crutch; lead with the subject.
|
|
129
|
+
|
|
130
|
+
## Formatting tells
|
|
131
|
+
|
|
132
|
+
- **No "Bold term: explanation" bullet lists** as the default structure for prose — the most
|
|
133
|
+
recognizable AI formatting pattern. Use real prose, or a plain bullet, unless the document's
|
|
134
|
+
existing style genuinely uses definition lists (a glossary, an API reference).
|
|
135
|
+
- No emoji in headings or section titles (artifacts and code both).
|
|
136
|
+
- Don't over-bold. Bold the one load-bearing term, not every noun.
|
|
137
|
+
|
|
138
|
+
## Reasoning-chain scaffolding
|
|
139
|
+
|
|
140
|
+
Internal monologue leaking into published prose. The reader needs the conclusion and the
|
|
141
|
+
evidence, not the tour of how the model thought.
|
|
142
|
+
|
|
143
|
+
| Pattern | Fix |
|
|
144
|
+
|---|---|
|
|
145
|
+
| "Let me think step by step", "Breaking this down", "To approach this systematically" | State the conclusion, then the evidence. |
|
|
146
|
+
| "Here's my thought process", "Working through this logically", "Step 1:" as inner narration | Numbered *argument* stays; numbered *self-talk* goes. |
|
|
147
|
+
|
|
148
|
+
A `review.md` finding that walks error paths in order is an argument. A chat reply that
|
|
149
|
+
announces "First, let's consider…" is scaffolding.
|
|
150
|
+
|
|
151
|
+
## Narrated candor
|
|
152
|
+
|
|
153
|
+
Announcing that you are about to be honest, instead of being honest.
|
|
154
|
+
|
|
155
|
+
| Pattern | Fix |
|
|
156
|
+
|---|---|
|
|
157
|
+
| "I want to be upfront:", "To be fully transparent:", "Two caveats I would rather flag than let you discover later:" | "Two caveats:" plus the caveats. |
|
|
158
|
+
| "Rather than bury this, I'll say it plainly:" | Say it. |
|
|
159
|
+
|
|
160
|
+
**Deletion test.** Cut the frame. If nothing is lost, it was never content.
|
|
161
|
+
|
|
162
|
+
**Keep:** the disclosure itself ("I haven't tested this on Windows"), and a real
|
|
163
|
+
conflict-of-interest label ("I own shares in the company discussed here").
|
|
164
|
+
|
|
165
|
+
## Prompt restatement and recap-flattery
|
|
166
|
+
|
|
167
|
+
| Pattern | Fix |
|
|
168
|
+
|---|---|
|
|
169
|
+
| "You're asking about…", "To answer your question…", "That's a great question. The…" | Answer. The reader knows what they asked. |
|
|
170
|
+
| Recap-flattery: restating the other person's own work back at them as praise before the point | Substance first. If thanks is warranted: one plain clause, no recap. |
|
|
171
|
+
|
|
172
|
+
Distinct from sycophancy ("Great question!"), which validates the reader without recapping
|
|
173
|
+
their work.
|
|
174
|
+
|
|
175
|
+
## Self-labeling significance
|
|
176
|
+
|
|
177
|
+
After listing items, pointing back and labeling one as contrarian / clever / the real story.
|
|
178
|
+
|
|
179
|
+
| Pattern | Fix |
|
|
180
|
+
|---|---|
|
|
181
|
+
| "That last move is the contrarian one." / "This is the interesting part." / "The third bullet is the real story." | Put the load-bearing item first, or expand it with specifics, and cut the label. |
|
|
182
|
+
|
|
183
|
+
If the move is actually contrarian, the description already shows it. The label is unearned
|
|
184
|
+
when the reader cannot see the contrast without it.
|
|
185
|
+
|
|
186
|
+
## Diff-anchored writing
|
|
187
|
+
|
|
188
|
+
Docs or comments narrating the edit instead of describing the thing as it is.
|
|
189
|
+
|
|
190
|
+
| Pattern | Fix |
|
|
191
|
+
|---|---|
|
|
192
|
+
| "This function was added to replace the previous approach of iterating through all items." | "This function uses a hash map for O(1) lookups." |
|
|
193
|
+
|
|
194
|
+
**Carve-out:** changelogs, release notes, migration guides, and `decisions.md` narrate
|
|
195
|
+
change on purpose. Leave them. The tell is a README, comment, or spec overview written as
|
|
196
|
+
archaeology of the last diff.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-source-driven
|
|
3
|
+
description: Verify uncertain framework or library behavior in installed source or official docs. Use for unfamiliar APIs; not internal code.
|
|
4
|
+
triggers:
|
|
5
|
+
- model
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# devrites-source-driven: verify, don't guess
|
|
9
|
+
|
|
10
|
+
When library behavior matters and is uncertain, verify it against installed source or
|
|
11
|
+
authoritative documentation before relying on it.
|
|
12
|
+
|
|
13
|
+
## When to trigger
|
|
14
|
+
- You're about to rely on an API signature, default, config key, or behavior you're not
|
|
15
|
+
sure of.
|
|
16
|
+
- The docs in memory might be stale (the project pins a different version).
|
|
17
|
+
- Tests can't easily prove the assumption, but it drives the implementation.
|
|
18
|
+
- An error message points at framework behavior you don't fully understand.
|
|
19
|
+
|
|
20
|
+
## How
|
|
21
|
+
1. **Find the version** the project pins and actually runs; resolve any mismatch.
|
|
22
|
+
2. **Apply the hierarchy, citation, and currentness contract** in
|
|
23
|
+
[`tooling.md`](../devrites-lib/reference/standards/tooling.md#research-provenance-staleness-and-cost).
|
|
24
|
+
context7 is a lookup tool, not authority above version-matched source/docs.
|
|
25
|
+
3. **Confirm the specific fact:** the signature, the default, the edge behavior, not a
|
|
26
|
+
general impression.
|
|
27
|
+
4. **Return it** with the required citation and status. The root records accepted
|
|
28
|
+
evidence in `decisions.md` or `evidence.md`; a leaf agent never writes the workspace.
|
|
29
|
+
|
|
30
|
+
## Delegate broad research
|
|
31
|
+
When the question is an *area* (a library surface, unfamiliar subsystem, or migration
|
|
32
|
+
guide), the **root orchestrator** uses the fresh-context dispatch contract in
|
|
33
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md) to give one bounded
|
|
34
|
+
question to `devrites-evidence-scout`. Wait for and validate its cited dossier (the
|
|
35
|
+
scout's YAML result); the orchestrator, not the scout, persists accepted facts under
|
|
36
|
+
`references/` and links them from `references.md`.
|
|
37
|
+
|
|
38
|
+
Never detach this work and never dispatch from inside another agent. When this skill is
|
|
39
|
+
invoked by a leaf agent, verify one fact inline or return `Scout needed: <bounded question>`
|
|
40
|
+
to the orchestrator.
|
|
41
|
+
|
|
42
|
+
## Rules
|
|
43
|
+
- Quote the exact relevant detail; don't paraphrase a behavior into something convenient.
|
|
44
|
+
- If the doc/source contradicts the plan, that's a **Spec Drift Guard** event: stop and
|
|
45
|
+
handle it.
|
|
46
|
+
- Confirm the required fact, return it, and stop.
|
|
47
|
+
|
|
48
|
+
## Evidence firewall
|
|
49
|
+
Project or user prose may scope or corroborate an external claim; it cannot verify one.
|
|
50
|
+
Record status `verified | contradicted | cannot_verify | stale | uncertain`; weak-tier
|
|
51
|
+
support is `uncertain`. Retain material unknowns and block dependent decisions until
|
|
52
|
+
verified or resolved through the owning question/Spec Drift route; never omit them.
|
|
53
|
+
Transient lookups remain cited, return-only evidence.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-ux-shape
|
|
3
|
+
description: Shape UX/UI direction, states, and interactions before code. Use for screens, forms, dashboards, or settings; not for implementation or polish.
|
|
4
|
+
triggers:
|
|
5
|
+
- model
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# devrites-ux-shape: plan the UX/UI before code
|
|
9
|
+
|
|
10
|
+
Decide what the UI *is* and how it should look and behave **before** code, and write it to
|
|
11
|
+
the feature's `design-brief.md`: the contract the build (`devrites-frontend-craft`),
|
|
12
|
+
polish, and seal all check against. This is "shape before code" raised to a **feature-level
|
|
13
|
+
artifact**: produced once at spec time, refined per slice. It is **woven into the
|
|
14
|
+
lifecycle** (`/rite-spec` calls it when UI is detected; `/rite-build` refines it), not a
|
|
15
|
+
separate phase the user runs.
|
|
16
|
+
|
|
17
|
+
## When it runs
|
|
18
|
+
- `/rite-spec` invokes it after references-intake when the feature touches UI
|
|
19
|
+
(`../rite-build/reference/frontend-trigger.md`). Output: `design-brief.md` + a
|
|
20
|
+
confirmation pause.
|
|
21
|
+
- `/rite-build` / `devrites-frontend-craft` read the brief as the **build target** and
|
|
22
|
+
refine it for the slice's surface. They don't re-derive it.
|
|
23
|
+
- Skip entirely for backend / data / CLI / infra-only features.
|
|
24
|
+
|
|
25
|
+
## 1. Foundation: discover, don't impose
|
|
26
|
+
Reuse what's there first. Read the design system + register and any references the spec
|
|
27
|
+
gathered:
|
|
28
|
+
- Design system + register (tokens, components, type, spacing, neighbors; brand-vs-product)
|
|
29
|
+
→ `../devrites-frontend-craft/reference/design-references.md`.
|
|
30
|
+
- `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present: anchors that reduce questions.
|
|
31
|
+
`DESIGN.md` is the rolled-up design memory (`../rite-polish/reference/design-memory.md`;
|
|
32
|
+
see `../devrites-frontend-craft/reference/design-references.md`) — read it before
|
|
33
|
+
re-discovering, depart only on signal.
|
|
34
|
+
- `references.md` + `references/`: the screenshots / Figma / video / links the human
|
|
35
|
+
supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
|
|
36
|
+
required rule, **inspiration** = extract only the cited principle.
|
|
37
|
+
|
|
38
|
+
## 2. Discovery: one round, assert-then-confirm
|
|
39
|
+
Understand the feature deeply enough to make excellent design calls: **no code, no
|
|
40
|
+
markup**. Use the `devrites-interview` cadence: one question per turn (≤3 per pass),
|
|
41
|
+
best-guess attached, stop when answers converge. One round is the default; add a second only for
|
|
42
|
+
material gaps. When `PRODUCT.md` + the spec already pin an answer, **assert it and ask to
|
|
43
|
+
confirm** ("reads as Restrained: confirm?"), don't offer a four-option menu. Cover:
|
|
44
|
+
- **Purpose & user:** who, in what state of mind (rushed / exploring / anxious / focused).
|
|
45
|
+
- **Content & data:** realistic ranges (0 / typical / many), dynamic content, real
|
|
46
|
+
media/assets the surface needs.
|
|
47
|
+
- **Preserve + anti-goals:** identity, IA, behavior, content voice, SEO/analytics hooks,
|
|
48
|
+
existing accessibility wins, or assets that must survive; what this must NOT become;
|
|
49
|
+
the biggest risk of getting it wrong.
|
|
50
|
+
|
|
51
|
+
## 3. Design direction: the direction set (commit, don't hedge)
|
|
52
|
+
One deliberate visual decision on five fronts, each anchored in an existing reference so
|
|
53
|
+
the call is checkable, not taste:
|
|
54
|
+
- **Scene sentence:** who / where / ambient light / mood, per
|
|
55
|
+
`../devrites-frontend-craft/reference/design-references.md`. Forces dark-vs-light and
|
|
56
|
+
tone from the scene, not the category.
|
|
57
|
+
- **Color strategy:** Restrained / Committed / Multi-role / Saturated, per the
|
|
58
|
+
color-commitment table in `../devrites-frontend-craft/reference/quality-standards.md`.
|
|
59
|
+
Pick from the scene; register doesn't decide it.
|
|
60
|
+
- **Calibration:** density (Airy / Balanced / Dense) and motion (Minimal / Standard /
|
|
61
|
+
Expressive), per the calibration table in the same quality-standards file. Set both from
|
|
62
|
+
the scene so the build targets a calibration, not a guess (a 2am SRE → Dense + Minimal; a
|
|
63
|
+
launch hero → Airy + Expressive).
|
|
64
|
+
- **Named anchor references:** 2-3 *specific* products / brands / objects to steer toward
|
|
65
|
+
(not adjectives like "modern" or "clean"), plus the saved `references/` files.
|
|
66
|
+
- **Visual thesis:** the focal point and hierarchy in one sentence, plus one memorable
|
|
67
|
+
move (or `none — system continuity`) and the obvious-but-wrong direction rejected. This
|
|
68
|
+
creates intentional distinction without forcing novelty into product UI.
|
|
69
|
+
|
|
70
|
+
Respect the existing identity (default, ~90%); depart only on an explicit signal.
|
|
71
|
+
|
|
72
|
+
## 4. Scope: task-scoped, never persisted
|
|
73
|
+
Name the output target so sketch-vs-ship isn't guessed: **fidelity** (sketch / mid-fi /
|
|
74
|
+
high-fi / production. DevRites default is production), **breadth** (one screen / a flow /
|
|
75
|
+
a surface), **interactivity**, **time intent**. These ride in the brief only; they do not
|
|
76
|
+
change the project's design system, and never get written to `PRODUCT.md` / `DESIGN.md`.
|
|
77
|
+
|
|
78
|
+
## 5. Key states + interaction model
|
|
79
|
+
List every state the feature needs and what the user must see/feel in each (default,
|
|
80
|
+
loading initial+subsequent, empty→next-action, error→recovery, success, disabled/
|
|
81
|
+
no-permission, long-content/overflow), the information hierarchy (what's seen 1st / 2nd /
|
|
82
|
+
3rd; primary action unmistakable), responsive reflow, a11y must-haves, and the interaction
|
|
83
|
+
model (inline vs navigated vs (rarely) modal; optimistic vs pending; feedback). Name the
|
|
84
|
+
representative states, viewports, input modes, and target R-ids that will prove the result;
|
|
85
|
+
"looks polished" is not a proof target. Canonical state list:
|
|
86
|
+
`../devrites-frontend-craft/reference/shape.md`.
|
|
87
|
+
|
|
88
|
+
## 6. Visual-direction probe: capability-gated
|
|
89
|
+
When the work is net-new or directionally ambiguous and fidelity ≥ mid-fi, pressure-test
|
|
90
|
+
the lane with something concrete instead of words: pull Figma context, generate image
|
|
91
|
+
probes, screenshot reference sites, or route a code-fidelity question to `/rite-prototype`.
|
|
92
|
+
**Capability-gated**: announce the skip in one line if no tool is available. Flow:
|
|
93
|
+
[reference/visual-direction-probe.md](reference/visual-direction-probe.md).
|
|
94
|
+
|
|
95
|
+
## 7. AI-slop pre-check
|
|
96
|
+
Run the two-altitude category-reflex check (`../rite-polish/reference/anti-ai-slop.md`) on
|
|
97
|
+
the chosen direction *before* writing the brief, if the palette/theme is guessable from
|
|
98
|
+
the category, rework the scene sentence and color strategy. Cheaper to catch the slop in
|
|
99
|
+
the brief than in the build.
|
|
100
|
+
|
|
101
|
+
## 8. Write the brief + gate
|
|
102
|
+
Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md)):
|
|
103
|
+
**compact** (3-5 bullets) when discovery was crisp, **full** when the surface is ambiguous
|
|
104
|
+
or multi-screen. Don't pad a clear brief to look thorough; don't skip the pause to look
|
|
105
|
+
fast. Then honor the run mode (`../devrites-lib/reference/standards/afk-hitl.md`):
|
|
106
|
+
- **HITL:** present the brief and **STOP for explicit confirmation**. The pause is the
|
|
107
|
+
point: shape ends at the user's "go", not at your own certainty. Disagreement → revisit
|
|
108
|
+
the relevant discovery question.
|
|
109
|
+
- **AFK:** assert the best-guess direction, record it in `decisions.md` + an advisory
|
|
110
|
+
`questions.md` entry, and proceed. A direction touching the irreversible-risk list still
|
|
111
|
+
pauses.
|
|
112
|
+
|
|
113
|
+
Completion: the smallest useful brief exists; primary action, states, interaction, proof
|
|
114
|
+
targets, and reference role/usage are explicit; the run-mode gate is resolved. Only then may
|
|
115
|
+
UI code start.
|
|
116
|
+
|
|
117
|
+
## Output
|
|
118
|
+
```
|
|
119
|
+
UX/UI shaped: <slug>
|
|
120
|
+
Direction: <color strategy> · density <airy|balanced|dense>/motion <minimal|standard|expressive> · "<scene sentence>" · anchors: <ref A, ref B>
|
|
121
|
+
States: <n listed> Probe: <figma | images | prototype | skipped — no tool>
|
|
122
|
+
Brief: design-brief.md (<compact | full>)
|
|
123
|
+
Gate: <confirmed | awaiting confirmation | AFK-asserted>
|
|
124
|
+
Next: /rite-define (UI slices map to the brief's states) — or /rite-build refines it per slice
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## NEVER (ux-shape)
|
|
128
|
+
- Never write code, markup, or a component here: produce the thinking, not the UI.
|
|
129
|
+
- Never finalize the brief without naming the **primary action** and the **full state set**
|
|
130
|
+
(not just the happy path).
|
|
131
|
+
- Never decide visual direction by taste when the project has a system: discover first.
|
|
132
|
+
- Never treat an **inspiration** reference as a fidelity target: honor its recorded role.
|
|
133
|
+
- Never skip the HITL confirmation pause "because the brief is obviously right": ask once,
|
|
134
|
+
wait.
|
|
135
|
+
- Never re-derive the brief from scratch in `/rite-build`: refine the existing one.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# `design-brief.md` template: the UX/UI contract
|
|
2
|
+
|
|
3
|
+
The feature-level design decision, produced **before** code by `devrites-ux-shape` (at
|
|
4
|
+
`/rite-spec` when UI is detected) and the **target** the build, polish, and seal check
|
|
5
|
+
against. `devrites-frontend-craft` refines it per slice and appends build-time decisions;
|
|
6
|
+
it is never re-derived from scratch.
|
|
7
|
+
|
|
8
|
+
Pick the shape by how clear the answers are. **Compact** is the default for a crisp prompt;
|
|
9
|
+
**full** when the surface is ambiguous, multi-screen, or the user asked to shape it as a
|
|
10
|
+
step. Don't pad a clear brief into a long one to look thorough.
|
|
11
|
+
|
|
12
|
+
## Compact form (default)
|
|
13
|
+
```markdown
|
|
14
|
+
# Design brief: <feature>
|
|
15
|
+
Slug: <kebab> Shaped: <iso> Register: brand | product Fidelity: <sketch|mid-fi|high-fi|production>
|
|
16
|
+
|
|
17
|
+
- **Building**: <one line — what + who it's for + the primary action>
|
|
18
|
+
- **Thesis**: <focal point + hierarchy> · memorable move: <one move | none — system continuity> · preserve/avoid: <identity + anti-goal>
|
|
19
|
+
- **Direction**: <color strategy> · density <airy|balanced|dense>/motion <minimal|standard|expressive> · "<scene sentence>" · targets: <R-ids> · constraints: <R-ids> · inspiration: <R-ids>
|
|
20
|
+
- **Locks**: accent <token> · radius <scale> · theme <light|dark>
|
|
21
|
+
- **States**: <the states this surface needs, comma-listed>
|
|
22
|
+
- **Interaction**: <inline / navigated / modal · feedback · entry→completion in a phrase>
|
|
23
|
+
- **Proof**: <states × viewports × input modes; target R-ids; zero material visual mismatches>
|
|
24
|
+
- **Confirm or override?** <the one or two things you still want the user to confirm>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Full form
|
|
28
|
+
```markdown
|
|
29
|
+
# Design brief: <feature>
|
|
30
|
+
Slug: <kebab> Shaped: <iso> Register: brand | product
|
|
31
|
+
|
|
32
|
+
## 1. Summary
|
|
33
|
+
What this is, who it's for, what it must accomplish, what existing identity/behavior must
|
|
34
|
+
survive — including IA, content voice, SEO/analytics hooks, and accessibility wins — and
|
|
35
|
+
the anti-goal (2-3 sentences).
|
|
36
|
+
|
|
37
|
+
## 2. Primary action
|
|
38
|
+
The single most important thing the user does or understands here. Everything else is secondary.
|
|
39
|
+
|
|
40
|
+
## 3. Design direction
|
|
41
|
+
- Color strategy: Restrained | Committed | Multi-role | Saturated — why (from the scene, not the category).
|
|
42
|
+
- Calibration: density Airy | Balanced | Dense · motion Minimal | Standard | Expressive — from the scene (`../../devrites-frontend-craft/reference/quality-standards.md` — Calibration).
|
|
43
|
+
- Scene sentence: "<who uses it, where, under what light, in what mood>".
|
|
44
|
+
- Visual thesis: <focal point + 1st/2nd/3rd hierarchy> · memorable move: <one | none — system continuity>.
|
|
45
|
+
- References by role: targets <R-ids> · constraints <R-ids> · inspiration <R-ids>.
|
|
46
|
+
- Locks: one accent <token> · one radius scale · one theme — held page-wide
|
|
47
|
+
(`../../devrites-frontend-craft/reference/quality-standards.md` — Consistency locks).
|
|
48
|
+
- Rejected direction: <the obvious-but-wrong direction + why>.
|
|
49
|
+
- Departure: default (preserve identity) | departing because <explicit signal>.
|
|
50
|
+
|
|
51
|
+
## 4. Scope *(task-scoped — not persisted to PRODUCT.md / DESIGN.md)*
|
|
52
|
+
Fidelity · breadth · interactivity · time intent.
|
|
53
|
+
|
|
54
|
+
## 5. Layout & hierarchy
|
|
55
|
+
What gets emphasis; what's seen 1st / 2nd / 3rd; how information flows. Hierarchy, not CSS.
|
|
56
|
+
|
|
57
|
+
## 6. Key states
|
|
58
|
+
Every state + what the user needs to see and feel:
|
|
59
|
+
| State | User sees / feels | Notes |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| default / populated | | |
|
|
62
|
+
| loading | | initial + subsequent |
|
|
63
|
+
| empty | | welcoming + the next action |
|
|
64
|
+
| error | | what happened + how to recover |
|
|
65
|
+
| success | | |
|
|
66
|
+
| disabled / no-permission | | |
|
|
67
|
+
| long-content / overflow / many items | | |
|
|
68
|
+
|
|
69
|
+
## 7. Interaction model
|
|
70
|
+
Inline vs navigated vs (rarely) modal; optimistic vs pending; focus & keyboard; feedback on
|
|
71
|
+
every action; the flow from entry to completion.
|
|
72
|
+
|
|
73
|
+
## 8. Content & copy
|
|
74
|
+
Labels, empty/error messages, microcopy in the product's voice. Realistic dynamic ranges.
|
|
75
|
+
For image-led surfaces: required media roles + likely source (project asset / generated /
|
|
76
|
+
SVG-CSS / icon library / accepted omission) and the shippable provenance/usage recorded in
|
|
77
|
+
`references.md`.
|
|
78
|
+
|
|
79
|
+
## 9. Responsive & a11y
|
|
80
|
+
Reflow 320→1440 (what stacks / collapses / scrolls); focus order, labels, contrast,
|
|
81
|
+
keyboard, target size. Floor: `../../devrites-frontend-craft/reference/quality-standards.md`.
|
|
82
|
+
|
|
83
|
+
## 10. Visual-direction probe
|
|
84
|
+
Which probe ran (figma / images / prototype / skipped — no tool), which direction won, what
|
|
85
|
+
changed in the brief because of it. Artifacts saved under `references/`.
|
|
86
|
+
|
|
87
|
+
## 11. Proof targets
|
|
88
|
+
Representative states × viewports × input modes, the target R-ids or brief rules each
|
|
89
|
+
render is compared with, and the exact interaction/accessibility checks. A visual pass
|
|
90
|
+
requires zero unresolved **material** mismatch; accepted departures are recorded below.
|
|
91
|
+
|
|
92
|
+
## 12. Open questions
|
|
93
|
+
Genuinely unresolved only. If you'd write "Recommend: X", decide X instead.
|
|
94
|
+
|
|
95
|
+
## Build-time refinements *(appended by devrites-frontend-craft per slice)*
|
|
96
|
+
- SLICE-001: <decision made while building this surface + why>.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## How downstream phases use it
|
|
100
|
+
- `/rite-define`: UI slices map to the **Key states**, **Interaction model**, and **Proof
|
|
101
|
+
targets**; each UI slice names the visual acceptance it proves.
|
|
102
|
+
- `/rite-build` + `devrites-frontend-craft`: build **to** the brief; refine per slice;
|
|
103
|
+
append refinements above instead of re-deriving.
|
|
104
|
+
- `/rite-prove` + `browser-evidence.md`: render the proof targets, compare against the
|
|
105
|
+
brief + target references, and close material deltas.
|
|
106
|
+
- `/rite-polish`: Phase 4 reads the brief so polish honors the agreed direction.
|
|
107
|
+
- `/rite-seal` + `devrites-frontend-reviewer`: check the UI matches the brief (states
|
|
108
|
+
covered, direction held, references matched).
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Visual-direction probe: test the lane before the brief locks
|
|
2
|
+
|
|
3
|
+
Before finalizing `design-brief.md`, pressure-test the visual direction with something
|
|
4
|
+
concrete instead of words, *when it will clarify the brief*. This is the
|
|
5
|
+
DevRites-native answer to "build it according to the design (Figma, images)": show a
|
|
6
|
+
direction, get a reaction, then write the brief.
|
|
7
|
+
|
|
8
|
+
## When to run (all true)
|
|
9
|
+
- The work is **net-new** or directionally **ambiguous**. An existing surface or an
|
|
10
|
+
approved reference classified **target** already fixes the direction → skip.
|
|
11
|
+
- Fidelity is **mid-fi or higher**. Sketch-only planning → skip.
|
|
12
|
+
- A probe tool is available (below). **Capability-gated**: never ask the user to
|
|
13
|
+
install APIs or tooling. If none is available, **announce the skip in one line** and
|
|
14
|
+
proceed to the brief. The one-line announcement is required; it forces a conscious choice
|
|
15
|
+
instead of letting the step quietly evaporate.
|
|
16
|
+
|
|
17
|
+
## Pick the probe by what's available (first match)
|
|
18
|
+
1. **Figma reference supplied** → pull design context with the Figma integration (frames,
|
|
19
|
+
tokens, components, a screenshot of the target). Record what it dictates. A Figma frame
|
|
20
|
+
that conflicts with the project's design system is a **question for the user**, not a
|
|
21
|
+
silent choice.
|
|
22
|
+
2. **Native image generation available** (Figma Make, an image-gen MCP, computer-use, or
|
|
23
|
+
similar) → generate **2-4 distinct direction probes** from the discovery answers (color
|
|
24
|
+
strategy, scene sentence, anchors). They must differ in **primary direction**:
|
|
25
|
+
hierarchy, density, typographic voice, topology, not just palette tweaks. Treat them as
|
|
26
|
+
*direction tests*, not final UI.
|
|
27
|
+
3. **A code-fidelity question** ("which of these layouts works in our stack") →
|
|
28
|
+
route to **`/rite-prototype`** (2-4 real UI variations on one throwaway route). Prototype
|
|
29
|
+
is DevRites' existing tool for this; don't rebuild it here.
|
|
30
|
+
4. **Reference sites / links only** → screenshot them (`devrites-browser-proof` tooling)
|
|
31
|
+
and read the relevant intent (tone, density, interaction).
|
|
32
|
+
5. **Nothing available** → one-line skip, proceed.
|
|
33
|
+
|
|
34
|
+
## How to use the result
|
|
35
|
+
- Ask which direction feels closest, what's off, what carries forward. Don't treat
|
|
36
|
+
generated imagery as final UX, copy, or accessibility behavior.
|
|
37
|
+
- If the probe reveals a mismatch, revise the **discovery inputs** (scene sentence, color
|
|
38
|
+
strategy, anchors) *before* writing the brief. That's the whole point of probing.
|
|
39
|
+
- Save probe artifacts (generated images, Figma exports, screenshots) into
|
|
40
|
+
`.devrites/work/<slug>/references/`, index them in `references.md` with what each shows,
|
|
41
|
+
and note the winning direction in the brief's **Visual-direction probe** section.
|
|
42
|
+
|
|
43
|
+
## Limits
|
|
44
|
+
- Don't skip discovery because image generation is available.
|
|
45
|
+
- Don't run a probe for a minor refinement of existing work. It's for shaping a new
|
|
46
|
+
surface or a big directional choice.
|
|
47
|
+
- Don't block the brief on a slow or failing tool: try once, then skip with the one-line
|
|
48
|
+
note.
|