devrites 3.0.5 → 3.0.6
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 +15 -0
- package/README.md +280 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +2 -0
- package/engine/internal/install/install_test.go +3 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Design references
|
|
1
|
+
# Design references: discover, don't impose
|
|
2
2
|
|
|
3
3
|
What to read in the project before designing, and how register changes the rules.
|
|
4
4
|
|
|
@@ -8,20 +8,20 @@ What to read in the project before designing, and how register changes the rules
|
|
|
8
8
|
| Design docs | `PRODUCT.md`, `DESIGN.md`, `docs/design/*`, Storybook, READMEs |
|
|
9
9
|
| Tokens | `tailwind.config.*`, CSS custom properties, `theme.*`, token files |
|
|
10
10
|
| Shared components | components/ui dir, design-system package, what neighbors import |
|
|
11
|
-
| Type | families, weights, the size scale
|
|
11
|
+
| Type | families, weights, the size scale in use |
|
|
12
12
|
| Spacing | the spacing scale / tokens in use |
|
|
13
13
|
| Color roles | semantic names (primary/surface/muted/danger), not raw hex |
|
|
14
14
|
| Icons | the one icon library already imported |
|
|
15
15
|
| Patterns | how existing buttons/menus/dialogs/forms/toasts behave |
|
|
16
|
-
| Neighbors | the closest existing feature
|
|
16
|
+
| Neighbors | the closest existing feature: match its flow shape |
|
|
17
17
|
|
|
18
18
|
## Register-specific rules
|
|
19
19
|
**Product surface** (dashboard/admin/app):
|
|
20
20
|
- System fonts are legitimate (`-apple-system, BlinkMacSystemFont, "Segoe UI",
|
|
21
21
|
system-ui, sans-serif`); Inter is a fine default for a reason.
|
|
22
22
|
- One family usually carries headings, body, labels, data.
|
|
23
|
-
- Fixed rem scale (not fluid `clamp()` headings); tighter ratio (1.125
|
|
24
|
-
- Density is a feature; tables can run dense; prose still ~65
|
|
23
|
+
- Fixed rem scale (not fluid `clamp()` headings); tighter ratio (1.125-1.2).
|
|
24
|
+
- Density is a feature; tables can run dense; prose still ~65-75ch.
|
|
25
25
|
|
|
26
26
|
**Brand surface** (landing/marketing/campaign):
|
|
27
27
|
- More expressive type and larger scale contrast are appropriate.
|
|
@@ -29,18 +29,18 @@ What to read in the project before designing, and how register changes the rules
|
|
|
29
29
|
|
|
30
30
|
## The rule
|
|
31
31
|
Match what exists. A new token, font, or component library is a decision the user makes,
|
|
32
|
-
not a default you reach for. When the system is ambiguous, ask
|
|
32
|
+
not a default you reach for. When the system is ambiguous, ask: don't invent the
|
|
33
33
|
project's intent. When a project `DESIGN.md` is present it is the **rolled-up design
|
|
34
|
-
memory** earlier features sealed (`../../rite-ship/reference/design-memory.md`)
|
|
34
|
+
memory** earlier features sealed (`../../rite-ship/reference/design-memory.md`): the
|
|
35
35
|
inherited system to build *to*, ahead of re-deriving direction from scratch.
|
|
36
36
|
|
|
37
|
-
## Scene-sentence
|
|
37
|
+
## Scene-sentence: commit before choosing theme / direction
|
|
38
38
|
Dark vs light is not a default, and neither is "playful", "serious", or "editorial".
|
|
39
39
|
Before picking any of those, write **one sentence** that fixes the physical scene:
|
|
40
40
|
|
|
41
41
|
> *who* uses this, *where*, under *what ambient light / device*, in *what mood*.
|
|
42
42
|
|
|
43
|
-
If that sentence doesn't make the answer feel inevitable, it isn't concrete enough
|
|
43
|
+
If that sentence doesn't make the answer feel inevitable, it isn't concrete enough:
|
|
44
44
|
add detail until it does. Then design *for that scene*, not for the category.
|
|
45
45
|
|
|
46
46
|
Examples:
|
|
@@ -55,15 +55,15 @@ Examples:
|
|
|
55
55
|
Run the sentence, not the category. When the user supplies the brief, paraphrase the
|
|
56
56
|
sentence back to them as confirmation before designing.
|
|
57
57
|
|
|
58
|
-
## Named anchor references
|
|
59
|
-
After the scene sentence, name **2-3 specific anchors** the surface should feel like
|
|
58
|
+
## Named anchor references: steer with specifics, not adjectives
|
|
59
|
+
After the scene sentence, name **2-3 specific anchors** the surface should feel like:
|
|
60
60
|
real products, brands, or objects ("Linear's command bar", "a Teenage Engineering device",
|
|
61
61
|
"the Stripe dashboard"), **not adjectives** ("modern", "clean", "premium"). Adjectives are
|
|
62
|
-
unfalsifiable; a named anchor is checkable
|
|
62
|
+
unfalsifiable; a named anchor is checkable. You can hold the built UI next to it and ask
|
|
63
63
|
"does it read like that?" Anchors steer *direction*, not pixel-copying: take the relevant
|
|
64
64
|
trait (density, type voice, restraint), not the literal layout, and never the parts that
|
|
65
65
|
clash with this project's register or design system. The supplied `references/` files are
|
|
66
|
-
themselves anchors
|
|
66
|
+
themselves anchors: name what trait each contributes. Record the anchors in
|
|
67
67
|
`design-brief.md`'s **Design direction** so build, polish, and seal share the same target.
|
|
68
68
|
|
|
69
69
|
## Building to a supplied reference (Figma / screenshot / image)
|
|
@@ -73,27 +73,27 @@ is the implementation layer. This is the build-time counterpart to the shape-tim
|
|
|
73
73
|
visual-direction probe (`../../devrites-ux-shape/reference/visual-direction-probe.md`):
|
|
74
74
|
the probe *chose* a lane; here you *match* the chosen target.
|
|
75
75
|
|
|
76
|
-
**Extract before you write
|
|
77
|
-
- **Type
|
|
76
|
+
**Extract before you write**: read the reference deliberately, don't eyeball it:
|
|
77
|
+
- **Type:** family, the size steps used, weights, line-height, letter-spacing,
|
|
78
78
|
the heading→body ratio. Map each to the project's type scale (or flag a missing step).
|
|
79
|
-
- **Spacing & rhythm
|
|
79
|
+
- **Spacing & rhythm:** padding, gaps, section spacing; infer the underlying step and
|
|
80
80
|
round to the project's 4 pt scale rather than hard-coding the measured pixel.
|
|
81
|
-
- **Color
|
|
81
|
+
- **Color:** the roles in play (surface / text / accent / border), not raw hex; bind to
|
|
82
82
|
existing tokens, propose a token only where one is genuinely missing.
|
|
83
|
-
- **Layout & hierarchy
|
|
83
|
+
- **Layout & hierarchy:** grid, what's seen 1st / 2nd / 3rd, the density and motion the
|
|
84
84
|
reference implies (cross-check against the brief's Calibration).
|
|
85
|
-
- **Component behavior
|
|
86
|
-
focus, loading, empty, error
|
|
85
|
+
- **Component behavior:** the states the reference shows (and the ones it can't: hover,
|
|
86
|
+
focus, loading, empty, error: design those from the brief, the reference won't have them).
|
|
87
87
|
|
|
88
88
|
Then implement to match, in the project's system:
|
|
89
89
|
- **Match the target, fill the gaps from the brief.** A static reference shows one state;
|
|
90
|
-
ship the full state set (`quality-standards.md
|
|
90
|
+
ship the full state set (see `quality-standards.md`, "Focus & states").
|
|
91
91
|
- **A reference that conflicts with the design system is a question for the user**, not a
|
|
92
|
-
silent override
|
|
93
|
-
- **Don't crop a multi-section reference into pieces** to "extract" a section
|
|
92
|
+
silent override: name the conflict (token, font, spacing, a second system) and ask.
|
|
93
|
+
- **Don't crop a multi-section reference into pieces** to "extract" a section: work from
|
|
94
94
|
the cleanest whole frame; if a region is unreadable, ask for a clearer asset rather than
|
|
95
95
|
guessing.
|
|
96
|
-
- **Fidelity is faithfulness, not pixel-tracing
|
|
96
|
+
- **Fidelity is faithfulness, not pixel-tracing:** carry the reference's hierarchy, rhythm,
|
|
97
97
|
and voice; never copy a layout that clashes with this project's register or a11y floor.
|
|
98
98
|
- Record what the reference dictated (and any deviation + why) in the brief's
|
|
99
99
|
**Build-time refinements**, so polish and seal check the build against the same target.
|
|
@@ -105,7 +105,7 @@ Then implement to match, in the project's system:
|
|
|
105
105
|
- Never default to a **purple/blue gradient** when the project has a brand
|
|
106
106
|
palette.
|
|
107
107
|
- Never pick a tone (playful / serious / corporate / hand-drawn) that
|
|
108
|
-
contradicts the surface's **register
|
|
108
|
+
contradicts the surface's **register**: brand vs product
|
|
109
109
|
(`devrites-frontend-craft/SKILL.md` §2).
|
|
110
110
|
- Never add a second design system to "modernize" without explicit user
|
|
111
111
|
approval. One design system per project; consistency beats local taste.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Fullstack work (frontend + backend together)
|
|
2
2
|
|
|
3
3
|
Most UI features also need backend. Don't build the two sides blind to each other, and
|
|
4
|
-
don't build "all backend, then all frontend"
|
|
4
|
+
don't build "all backend, then all frontend", that hides integration risk until the end.
|
|
5
5
|
|
|
6
6
|
## Contract first
|
|
7
|
-
Define the **API / data contract** before either side codes against it
|
|
7
|
+
Define the **API / data contract** before either side codes against it: shape, field
|
|
8
8
|
types + units, status codes, **error bodies**, pagination, idempotency. Use
|
|
9
9
|
`devrites-api-interface`; doubt it with `devrites-doubt` before standing it. With the
|
|
10
10
|
contract fixed:
|
|
@@ -13,7 +13,7 @@ contract fixed:
|
|
|
13
13
|
Neither side blocks the other, and the seam stays stable.
|
|
14
14
|
|
|
15
15
|
## Slice vertically through the layers
|
|
16
|
-
Each slice cuts **one capability** end-to-end
|
|
16
|
+
Each slice cuts **one capability** end-to-end (data/model → service → API → UI) and
|
|
17
17
|
leaves a **working, demoable path**. "Create item" is a slice (persist + endpoint +
|
|
18
18
|
minimal form); "all the models" is not. Order by dependency; the first slice is the
|
|
19
19
|
thinnest end-to-end path so integration surprises surface early and cheap.
|
|
@@ -25,12 +25,12 @@ thinnest end-to-end path so integration surprises surface early and cheap.
|
|
|
25
25
|
measure-first performance (no N+1) (`performance.md`).
|
|
26
26
|
- **Frontend part** → frontend craft: shape (all states), the design system, and the
|
|
27
27
|
2026 [quality-standards](quality-standards.md) (CWV, WCAG 2.2, responsive, motion).
|
|
28
|
-
- Map the API's error/edge responses to **real UI states
|
|
28
|
+
- Map the API's error/edge responses to **real UI states**: every error the contract can
|
|
29
29
|
return needs a handled, helpful UI state, not a blank screen.
|
|
30
30
|
|
|
31
31
|
## Placement spans both sides
|
|
32
32
|
The investigation's placement analysis covers **where the backend logic lives** *and*
|
|
33
|
-
**where the UI component lives**, plus the contract that joins them
|
|
33
|
+
**where the UI component lives**, plus the contract that joins them, so each side is
|
|
34
34
|
correctly placed, not bolted on.
|
|
35
35
|
|
|
36
36
|
## Prove BOTH layers
|
|
@@ -41,5 +41,5 @@ A fullstack slice is proven only when both sides have evidence:
|
|
|
41
41
|
If only one side is proven, the slice is **not** done.
|
|
42
42
|
|
|
43
43
|
## Keep them in sync
|
|
44
|
-
A change to the contract after both sides exist is a **Spec Drift Guard** event
|
|
44
|
+
A change to the contract after both sides exist is a **Spec Drift Guard** event. It
|
|
45
45
|
affects FE and BE together. Stop, record it, re-plan the contract, then update both sides.
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
The measurable bar UI work is held to. Project conventions win where they're stricter;
|
|
4
4
|
these are the floor, not the ceiling.
|
|
5
5
|
|
|
6
|
-
## Performance
|
|
6
|
+
## Performance: Core Web Vitals (field/p75 targets)
|
|
7
7
|
- **LCP** (Largest Contentful Paint) ≤ **2.5 s**
|
|
8
|
-
- **INP** (Interaction to Next Paint
|
|
8
|
+
- **INP** (Interaction to Next Paint: the current responsiveness metric, replaced FID)
|
|
9
9
|
≤ **200 ms**
|
|
10
10
|
- **CLS** (Cumulative Layout Shift) ≤ **0.1**
|
|
11
11
|
- Keep an interactive page's shipped JS lean (a budget around **≤400 KB gzipped** is a
|
|
12
12
|
good default); lazy-load below-the-fold and heavy/optional code; minimize hydration;
|
|
13
13
|
size and reserve space for images/media to avoid layout shift.
|
|
14
14
|
|
|
15
|
-
## Accessibility
|
|
16
|
-
- **Semantic HTML first
|
|
15
|
+
## Accessibility: WCAG 2.2 AA
|
|
16
|
+
- **Semantic HTML first:** real `<button>`/`<nav>`/`<label>`/headings; ARIA only to fill
|
|
17
17
|
gaps semantics can't.
|
|
18
18
|
- **Keyboard**: every interactive element operable by keyboard; logical tab order; **focus
|
|
19
19
|
visible** with ≥ **3:1** contrast against its background (never remove the outline
|
|
@@ -21,9 +21,9 @@ these are the floor, not the ceiling.
|
|
|
21
21
|
- **Contrast**: text ≥ **4.5:1** (≥ 3:1 for large text and UI/graphics).
|
|
22
22
|
- **Target size**: ≥ **24×24** CSS px (WCAG 2.2 AA, SC 2.5.8); prefer **44×44** for primary
|
|
23
23
|
touch targets.
|
|
24
|
-
- **No drag-only** interactions
|
|
24
|
+
- **No drag-only** interactions: provide a single-pointer alternative (SC 2.5.7).
|
|
25
25
|
- Labels/names on all controls; errors announced; respects `prefers-reduced-motion`.
|
|
26
|
-
- **Test** with keyboard, a screen reader, and an automated checker (e.g. axe)
|
|
26
|
+
- **Test** with keyboard, a screen reader, and an automated checker (e.g. axe): early.
|
|
27
27
|
|
|
28
28
|
## Motion
|
|
29
29
|
- Purposeful only; UI feedback ~≤200 ms, transitions ~≤500 ms. Never animate to mask slow
|
|
@@ -33,15 +33,15 @@ these are the floor, not the ceiling.
|
|
|
33
33
|
- Fluid layouts; no fixed widths that break. Verify at **320 / 768 / 1024 / 1440** px; no
|
|
34
34
|
horizontal scroll; survives **200% text zoom**.
|
|
35
35
|
- **`dvh`, not `vh`**, for full-height surfaces (`min-height: 100dvh`, never `h-screen` /
|
|
36
|
-
`100vh
|
|
36
|
+
`100vh`: mobile address bars break them). A hero fits the *initial* viewport: headline
|
|
37
37
|
≤2 lines, primary CTA above the fold.
|
|
38
38
|
|
|
39
39
|
## Design system
|
|
40
|
-
- Use the project's **tokens** (spacing/type/color roles)
|
|
40
|
+
- Use the project's **tokens** (spacing/type/color roles): never hard-code a value a
|
|
41
41
|
token covers. Compose from existing components; one icon set.
|
|
42
42
|
|
|
43
43
|
### Consistency locks (one per surface)
|
|
44
|
-
Lock these in `design-brief.md` and hold them page-wide
|
|
44
|
+
Lock these in `design-brief.md` and hold them page-wide: mid-scroll drift ("a different
|
|
45
45
|
website by section 7") is a tell: **one accent** (no new accent appearing later on the
|
|
46
46
|
page), **one radius scale**, **one theme** (light or dark, not both).
|
|
47
47
|
|
|
@@ -51,101 +51,101 @@ These are the hard numbers that move "good UI" from opinion to checkable.
|
|
|
51
51
|
Project tokens win when stricter; these are the floor.
|
|
52
52
|
|
|
53
53
|
### Color
|
|
54
|
-
- **OKLCH-only** for new tokens
|
|
54
|
+
- **OKLCH-only** for new tokens: perceptually uniform, predictable lightness
|
|
55
55
|
steps across hues. Stop reaching for HSL; the lightness lies.
|
|
56
56
|
- Example: `oklch(0.62 0.18 264)` for a saturated primary.
|
|
57
57
|
- **Never `#000` / `#fff`** as raw values. Pure black/white are too harsh and
|
|
58
58
|
too clinical; use a near-black (`oklch(0.18 0 0)`) and near-white
|
|
59
59
|
(`oklch(0.98 0 0)`) or the project's surface tokens.
|
|
60
|
-
- Contrast follows WCAG 2.2
|
|
60
|
+
- Contrast follows WCAG 2.2: text ≥ 4.5:1, UI/graphics ≥ 3:1. Verify
|
|
61
61
|
against the *rendered* background, not the theoretical one.
|
|
62
|
-
- **Tint neutrals toward the brand hue
|
|
63
|
-
Nudge every grey 0.005
|
|
62
|
+
- **Tint neutrals toward the brand hue:** pure-grey neutrals look sterile.
|
|
63
|
+
Nudge every grey 0.005-0.01 chroma toward the brand colour: invisible at
|
|
64
64
|
a glance, but the surface stops feeling generic.
|
|
65
|
-
- **Alpha is a smell
|
|
65
|
+
- **Alpha is a smell:** heavy translucency usually means an incomplete palette.
|
|
66
66
|
Define explicit overlay/hover tokens; transparency is for focus rings and scrims.
|
|
67
67
|
- **Every colored surface token ships its `on-` pair** (`primary`/`on-primary`,
|
|
68
68
|
`destructive`/`on-destructive`, …) so contrast is designed in, not patched after.
|
|
69
69
|
|
|
70
|
-
#### Color commitment
|
|
70
|
+
#### Color commitment: pick the strategy before the palette
|
|
71
71
|
Decide *how committed* the surface is to colour before opening the picker.
|
|
72
72
|
Four positions on a single axis; pick one, then design within it:
|
|
73
73
|
|
|
74
74
|
| Strategy | Rough coverage | Use for |
|
|
75
75
|
|---|---|---|
|
|
76
76
|
| **Restrained** | tinted neutrals + 1 accent ≤ ~10% of the surface | Most product UI; brand surfaces that want to look quiet. |
|
|
77
|
-
| **Committed** | one saturated colour carries 30
|
|
78
|
-
| **Multi-role** | 3
|
|
79
|
-
| **Saturated** | the surface *is* the colour
|
|
77
|
+
| **Committed** | one saturated colour carries 30-60% of the surface | Brand pages with a strong identity; product feature surfaces that need a hero colour. |
|
|
78
|
+
| **Multi-role** | 3-4 named colour roles, each used deliberately | Brand campaigns; product data-viz with distinct meanings. |
|
|
79
|
+
| **Saturated** | the surface *is* the colour: full-bleed colour ground | Brand heroes, campaign pages, splash moments. |
|
|
80
80
|
|
|
81
81
|
Two corollaries:
|
|
82
82
|
- The "one accent ≤ ~10%" rule belongs to **Restrained only.** Committed /
|
|
83
83
|
Multi-role / Saturated exceed it deliberately. Don't collapse every
|
|
84
84
|
surface back to Restrained by reflex.
|
|
85
|
-
- *Register* (brand vs product) doesn't pick the strategy by itself
|
|
85
|
+
- *Register* (brand vs product) doesn't pick the strategy by itself: brand
|
|
86
86
|
surfaces aren't always Saturated, product surfaces aren't always
|
|
87
87
|
Restrained. Pick from the scene, not the category.
|
|
88
88
|
|
|
89
|
-
### Calibration
|
|
89
|
+
### Calibration: density & motion
|
|
90
90
|
Colour commitment fixes *how much colour*; two more axes fix *how much space* and
|
|
91
|
-
*how much movement*. Set one position on each
|
|
92
|
-
way colour is picked
|
|
91
|
+
*how much movement*. Set one position on each (from the **scene sentence**, the same
|
|
92
|
+
way colour is picked) and carry both in `design-brief.md` so the build targets a
|
|
93
93
|
calibration instead of re-deciding it per slice.
|
|
94
94
|
|
|
95
|
-
**Density
|
|
95
|
+
**Density**: information per viewport; drives which spacing steps dominate:
|
|
96
96
|
|
|
97
97
|
| Position | Feels like | Spacing steps that dominate | Use for |
|
|
98
98
|
|---|---|---|---|
|
|
99
99
|
| **Airy** | gallery / calm / room to breathe | `32 / 48 / 64 / 80 / 96` | brand pages, onboarding, focus moments, low-data surfaces |
|
|
100
|
-
| **Balanced** | most product UI | `16 / 20 / 24 / 32` | dashboards, forms, settings
|
|
100
|
+
| **Balanced** | most product UI | `16 / 20 / 24 / 32` | dashboards, forms, settings: the default |
|
|
101
101
|
| **Dense** | cockpit / data-rich / power tool | `4 / 8 / 12 / 16` | tables, monitors, terminals, pro tools lived in all day |
|
|
102
102
|
|
|
103
|
-
**Motion
|
|
103
|
+
**Motion**: how much the surface moves; drives which motion classes (table below) are in play:
|
|
104
104
|
|
|
105
105
|
| Position | Feels like | Motion classes in play | Use for |
|
|
106
106
|
|---|---|---|---|
|
|
107
107
|
| **Minimal** | crisp, almost still | Instant + State | dense tools, regulated/trust surfaces, reduced-motion-leaning |
|
|
108
|
-
| **Standard** | responsive, purposeful | Instant + State + Layout | most product + brand UI
|
|
108
|
+
| **Standard** | responsive, purposeful | Instant + State + Layout | most product + brand UI: the default |
|
|
109
109
|
| **Expressive** | choreographed, scroll-aware | + Entrance, deliberate sequencing | brand heroes, launch/campaign moments, story scroll |
|
|
110
110
|
|
|
111
111
|
Corollaries (same shape as colour commitment):
|
|
112
|
-
- Pick from the **scene sentence**, not the category
|
|
112
|
+
- Pick from the **scene sentence**, not the category: "an on-call SRE at 2am" → Dense +
|
|
113
113
|
Minimal; "a launch hero in afternoon light" → Airy + Expressive. Register doesn't decide
|
|
114
114
|
it by itself.
|
|
115
|
-
- `prefers-reduced-motion` overrides Motion **downward at runtime** regardless of position
|
|
115
|
+
- `prefers-reduced-motion` overrides Motion **downward at runtime** regardless of position:
|
|
116
116
|
an Expressive surface still ships a Minimal path.
|
|
117
117
|
- The position is a target, not a straitjacket: a surface may break density locally for
|
|
118
|
-
emphasis
|
|
118
|
+
emphasis: name the exception in the brief, don't let the whole page drift off it.
|
|
119
119
|
|
|
120
120
|
### Spacing
|
|
121
121
|
- **4pt base scale** (`4 / 8 / 12 / 16 / 20 / 24 / 32 / 40 / 48 / 64 / 80 /
|
|
122
122
|
96`). Project tokens may use a multiplier; never hardcode in-between
|
|
123
123
|
values.
|
|
124
124
|
- Inline spacing rhythms in multiples of 4 px. Optical alignments may need a
|
|
125
|
-
1
|
|
125
|
+
1 - 2 px nudge: record the *why* in a comment.
|
|
126
126
|
|
|
127
127
|
### Typography scale
|
|
128
128
|
- **Brand surfaces**: fluid `clamp()` headings (e.g.,
|
|
129
129
|
`clamp(2rem, 1rem + 3vw, 3.5rem)`). Display/body pairing OK.
|
|
130
|
-
- **Product surfaces**: **fixed rem scale** (1.125
|
|
130
|
+
- **Product surfaces**: **fixed rem scale** (1.125 - 1.2 ratio). One family
|
|
131
131
|
usually carries headings, body, labels, data.
|
|
132
|
-
- Body line-height ~1.5; headings ~1.1
|
|
133
|
-
- Display ceiling: `clamp()` max ≤ ~6rem
|
|
132
|
+
- Body line-height ~1.5; headings ~1.1 - 1.25. Prose width ~ 65-75 ch.
|
|
133
|
+
- Display ceiling: `clamp()` max ≤ ~6rem: larger is shouting. Display
|
|
134
134
|
letter-spacing floor **≥ −0.04em**; tighter and the letters touch.
|
|
135
|
-
- `text-wrap: balance` on h1
|
|
135
|
+
- `text-wrap: balance` on h1-h3; `text-wrap: pretty` on long prose.
|
|
136
136
|
|
|
137
137
|
### Motion
|
|
138
138
|
| Class | Duration | Use |
|
|
139
139
|
|---|---|---|
|
|
140
|
-
| Instant | 100
|
|
141
|
-
| State | 200
|
|
142
|
-
| Layout | 300
|
|
143
|
-
| Entrance | 500
|
|
140
|
+
| Instant | 100 - 150 ms | Hover/press, tooltip enter, color shifts |
|
|
141
|
+
| State | 200 - 300 ms | Toggle, focus ring, dropdown |
|
|
142
|
+
| Layout | 300 - 500 ms | Modal/drawer enter, route transitions |
|
|
143
|
+
| Entrance | 500 - 800 ms | Page entrance, hero animation |
|
|
144
144
|
|
|
145
145
|
- **Exit at ~75 % of enter.** A 300 ms enter pairs with a 225 ms exit.
|
|
146
146
|
- **Bounce / elastic easing banned** unless the project's design system
|
|
147
147
|
explicitly uses it.
|
|
148
|
-
- Honor `prefers-reduced-motion
|
|
148
|
+
- Honor `prefers-reduced-motion`: reduce or remove non-essential motion
|
|
149
149
|
entirely.
|
|
150
150
|
|
|
151
151
|
### Dark mode (three-axis compensation)
|
|
@@ -162,13 +162,13 @@ scope, propose the compensation rather than ship a flat invert.
|
|
|
162
162
|
Every interactive element ships **8 visual/interaction states**:
|
|
163
163
|
`default`, `hover`, `active`, `focus-visible`, `disabled`, `loading`,
|
|
164
164
|
`selected`, and an error/invalid surface when relevant.
|
|
165
|
-
- `:focus-visible` ring: **2
|
|
165
|
+
- `:focus-visible` ring: **2 - 3 px**, **≥ 3:1** contrast against the
|
|
166
166
|
background, **offset 2 px** so the focus is unambiguous on dense layouts.
|
|
167
167
|
|
|
168
168
|
### Container queries vs viewport queries
|
|
169
|
-
- **Component breakpoints
|
|
169
|
+
- **Component breakpoints:** use **container queries** (`@container`). The
|
|
170
170
|
same card adapts to its column whether the viewport is 320 or 1920.
|
|
171
|
-
- **Page-level layout
|
|
171
|
+
- **Page-level layout:** use viewport queries
|
|
172
172
|
(`@media (min-width: ...)`) for sidebar collapses, header reflows.
|
|
173
173
|
- Mixing the two is normal; using only one is usually a code smell.
|
|
174
174
|
|
|
@@ -194,10 +194,10 @@ rung that carries the structure.
|
|
|
194
194
|
want a hairline, not elevation.
|
|
195
195
|
- **Elevation is a token scale, not an ad-hoc value.** When a surface genuinely lifts
|
|
196
196
|
(menu, popover, dragged item), use a **small shadow set from the design system** with one
|
|
197
|
-
consistent light source
|
|
197
|
+
consistent light source: never a one-off `box-shadow`. The elevation step and the
|
|
198
198
|
semantic z-index role move together.
|
|
199
199
|
- **Texture needs contrast.** Grain / noise / pattern earns its place only when it reads
|
|
200
|
-
against the surface. Invisible texture is bytes with no signal
|
|
200
|
+
against the surface. Invisible texture is bytes with no signal: drop it.
|
|
201
201
|
- **Asset-led material.** Rich material (photographic grain, real product imagery,
|
|
202
202
|
generated art) comes from a **real raster / generated asset**, not an SVG/CSS
|
|
203
203
|
approximation of one. Don't fake a photo with gradients; ship the asset or use a flat
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Reuse first
|
|
1
|
+
# Reuse first: frontend application
|
|
2
2
|
|
|
3
3
|
Frontend-specific application of the canonical reuse rule in
|
|
4
4
|
[`.agents/skills/devrites-lib/reference/standards/coding-style.md`](../../devrites-lib/reference/standards/coding-style.md#reuse-before-you-write)
|
|
5
|
-
(and the slightly longer treatment in `standards/patterns.md`). Same principle
|
|
5
|
+
(and the slightly longer treatment in `standards/patterns.md`). Same principle:
|
|
6
6
|
**reuse → extend → build new**, with the AHA caveat. This file walks it through for
|
|
7
7
|
components, styles, tokens, icons, hooks, utils, and helpers in a UI feature.
|
|
8
8
|
|
|
@@ -11,12 +11,12 @@ token, icon, hook, util, or helper for the feature, **search the project** for a
|
|
|
11
11
|
existing one that fits. Reuse it. Don't duplicate.
|
|
12
12
|
|
|
13
13
|
This applies to UI **and** non-UI code: utilities, helpers, types, validators, schemas,
|
|
14
|
-
formatters, hooks, query helpers
|
|
14
|
+
formatters, hooks, query helpers: anything that might already exist.
|
|
15
15
|
|
|
16
16
|
## The decision (in order)
|
|
17
|
-
1. **Search first.** Use a code-intelligence index if available
|
|
17
|
+
1. **Search first.** Use a code-intelligence index if available (codebase-memory-mcp first,
|
|
18
18
|
cross-checked with codegraph + graphify, else standard methods (LSP / Read/Grep/Glob); see
|
|
19
|
-
`../../devrites-lib/reference/standards/tooling.md`
|
|
19
|
+
`../../devrites-lib/reference/standards/tooling.md`) to find
|
|
20
20
|
similar definitions; fall back to grep/glob over `components/`, design tokens, hooks/,
|
|
21
21
|
utils/, lib/. Look for things doing the *same job*, not just the same name.
|
|
22
22
|
2. **Exact fit → REUSE.** Compose / import the existing thing. No copy, no fork.
|
|
@@ -25,7 +25,7 @@ formatters, hooks, query helpers — anything that might already exist.
|
|
|
25
25
|
each branch the internals is not.
|
|
26
26
|
4. **No fit → BUILD NEW**, in the project's idiom. If a similar need is likely to recur,
|
|
27
27
|
propose adding it to the shared system (component library / utils module). If it's
|
|
28
|
-
truly one-off, build it locally
|
|
28
|
+
truly one-off, build it locally: don't pre-abstract.
|
|
29
29
|
|
|
30
30
|
## When to *avoid* reuse (the AHA caveat)
|
|
31
31
|
Reuse is good; **forcing** it isn't. **Avoid Hasty Abstractions**: if making the existing
|
|
@@ -34,7 +34,7 @@ Duplication is cheaper than the wrong abstraction. Build a sibling component/uti
|
|
|
34
34
|
a real pattern emerge from two or three callers before consolidating.
|
|
35
35
|
|
|
36
36
|
## Record the decision (per slice)
|
|
37
|
-
On each slice, note what was reused / extended / created new
|
|
37
|
+
On each slice, note what was reused / extended / created new, so the seal can see the
|
|
38
38
|
consistency story and reviewers can spot silent duplication.
|
|
39
39
|
|
|
40
40
|
```
|
|
@@ -48,8 +48,8 @@ Created new: <ExportProgress (no prior equivalent; propose for shared lib)>
|
|
|
48
48
|
finding it. Search first.
|
|
49
49
|
- Copy-pasting a component from `components/` into the feature folder. That's a fork.
|
|
50
50
|
- Adding a second icon set / second toast library / second date util because the existing
|
|
51
|
-
one didn't quite fit
|
|
52
|
-
- Forcing reuse via 8 boolean props that branch the internals
|
|
51
|
+
one didn't quite fit: almost always extend the existing or ask first.
|
|
52
|
+
- Forcing reuse via 8 boolean props that branch the internals. That's an abstraction
|
|
53
53
|
collapsing under its own weight. Split it.
|
|
54
54
|
|
|
55
55
|
## Search hints
|
|
@@ -5,35 +5,35 @@ follows the user's goal. Skipping this is how you get pretty UI that doesn't wor
|
|
|
5
5
|
|
|
6
6
|
**The feature-level shape already exists.** `$rite-spec` ran `devrites-ux-shape` and wrote
|
|
7
7
|
`design-brief.md` (design direction, key states, interaction model). In `$rite-build` this
|
|
8
|
-
is a **per-slice refinement of that brief for the surface you're about to code
|
|
8
|
+
is a **per-slice refinement of that brief for the surface you're about to code**: confirm
|
|
9
9
|
the answers below against the brief and fill any slice-specific gaps; don't re-derive the
|
|
10
10
|
design. **Only shape from scratch here** when a UI slice has no `design-brief.md` (a spec
|
|
11
|
-
written before shaping)
|
|
11
|
+
written before shaping), then run `devrites-ux-shape` first, or answer these and write the
|
|
12
12
|
brief inline.
|
|
13
13
|
|
|
14
14
|
## Answer these before writing markup
|
|
15
|
-
1. **User goal
|
|
16
|
-
2. **Primary action
|
|
15
|
+
1. **User goal:** what is the user here to accomplish? One sentence.
|
|
16
|
+
2. **Primary action:** the single most important thing on this surface. It must be
|
|
17
17
|
visually obvious. Everything else is secondary.
|
|
18
|
-
3. **Information hierarchy
|
|
18
|
+
3. **Information hierarchy:** what must be seen first, second, third. Rank content;
|
|
19
19
|
the layout expresses the ranking.
|
|
20
|
-
4. **States
|
|
20
|
+
4. **States:** design all of them, not just the happy path:
|
|
21
21
|
- default / populated
|
|
22
22
|
- loading (initial + subsequent)
|
|
23
|
-
- empty (with a clear next action
|
|
23
|
+
- empty (with a clear next action: welcoming, not a dead end)
|
|
24
24
|
- error (what happened + how to recover)
|
|
25
25
|
- success
|
|
26
26
|
- disabled / read-only / no-permission
|
|
27
27
|
- long content / overflow / many items
|
|
28
|
-
5. **Responsive
|
|
28
|
+
5. **Responsive:** how it reflows from small (320) to large (1440). What collapses,
|
|
29
29
|
stacks, hides, or scrolls.
|
|
30
|
-
6. **Accessibility
|
|
31
|
-
7. **Interaction model
|
|
30
|
+
6. **Accessibility:** focus order, labels, contrast, keyboard operability, semantics.
|
|
31
|
+
7. **Interaction model:** what's inline vs. navigated vs. (rarely) a modal; optimistic
|
|
32
32
|
vs. pending; how feedback is given.
|
|
33
33
|
|
|
34
34
|
## Ask when ambiguous
|
|
35
35
|
If the visual direction or the UX flow isn't determined by the existing system + the
|
|
36
|
-
spec, ask the user (show 2
|
|
36
|
+
spec, ask the user (show 2-3 concrete options) before building. Guessing a flow is
|
|
37
37
|
expensive to undo once coded.
|
|
38
38
|
|
|
39
39
|
## Output
|
|
@@ -51,10 +51,10 @@ checklist.
|
|
|
51
51
|
disabled / long-content are not optional.
|
|
52
52
|
- Never decide the visual direction by personal taste when the project has
|
|
53
53
|
an existing system. Discover first (`design-references.md`).
|
|
54
|
-
- Never invent a new flow when a neighboring feature already has one
|
|
54
|
+
- Never invent a new flow when a neighboring feature already has one: match
|
|
55
55
|
the neighbor, then deviate only with a recorded reason.
|
|
56
56
|
- Never paper over an ambiguous spec with a "reasonable guess". Ask the user
|
|
57
|
-
with 2
|
|
57
|
+
with 2 - 3 concrete options.
|
|
58
58
|
- Never name a state for the *technical* condition (`isLoadingTrue`) when
|
|
59
59
|
the *user-facing* name (`Loading your invoices…`) tells the user what's
|
|
60
60
|
happening.
|