devrites 2.6.1 → 3.0.1
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 +77 -0
- package/README.md +85 -50
- package/SECURITY.md +65 -39
- package/bin/devrites.mjs +135 -51
- package/docs/agents/domain.md +58 -0
- package/docs/agents/issue-driven-rites.md +11 -0
- package/docs/agents/issue-tracker.md +29 -0
- package/docs/agents/triage-labels.md +15 -0
- package/docs/architecture.md +60 -35
- package/docs/capability-surface-selection.md +18 -0
- package/docs/cli.md +53 -0
- package/docs/command-map.md +59 -22
- package/docs/engine/agent-contract.md +92 -0
- package/docs/engine/commands.md +323 -0
- package/docs/engine/state-schema.md +134 -0
- package/docs/engine/workspace-schema.md +150 -0
- package/docs/extensions.md +178 -0
- package/docs/flow.md +19 -16
- package/docs/harness-compliance.md +45 -0
- package/docs/orchestration.md +6 -4
- package/docs/porting-to-a-new-harness.md +27 -0
- package/docs/quick-reference.md +22 -0
- package/docs/release.md +3 -3
- package/docs/skills.md +42 -48
- package/docs/usage.md +21 -8
- package/engine/.gosec.json +5 -0
- package/engine/Makefile +64 -0
- package/engine/commands.go +195 -0
- package/engine/go.mod +5 -0
- package/engine/harnessmatrix.go +60 -0
- package/engine/harnessmatrix_test.go +59 -0
- package/engine/hookpolicy.go +114 -0
- package/engine/hookpolicy_test.go +64 -0
- package/engine/hooks.go +336 -0
- package/engine/hooks_events_test.go +106 -0
- package/engine/hooks_workspace.go +603 -0
- package/engine/internal/devritespaths/paths.go +76 -0
- package/engine/internal/doctor/doctor.go +178 -0
- package/engine/internal/doctor/doctor_test.go +150 -0
- package/engine/internal/fsutil/copy.go +101 -0
- package/engine/internal/fsutil/replace_other.go +7 -0
- package/engine/internal/fsutil/replace_windows.go +31 -0
- package/engine/internal/gate/gate.go +243 -0
- package/engine/internal/gate/gate_test.go +145 -0
- package/engine/internal/harness/compliance.go +102 -0
- package/engine/internal/harness/harness.go +304 -0
- package/engine/internal/harness/harness_test.go +104 -0
- package/engine/internal/hostpack/hostpack.go +259 -0
- package/engine/internal/hostpack/hostpack_test.go +111 -0
- package/engine/internal/hostpack/templates/alias_skill.md.tmpl +11 -0
- package/engine/internal/hostpack/templates/devrites_readme.md.tmpl +14 -0
- package/engine/internal/install/install.go +1560 -0
- package/engine/internal/install/install_test.go +564 -0
- package/engine/internal/iohooks/detach_other.go +11 -0
- package/engine/internal/iohooks/detach_unix.go +11 -0
- package/engine/internal/iohooks/iohooks.go +546 -0
- package/engine/internal/iohooks/iohooks_test.go +130 -0
- package/engine/internal/lib/adoption.go +634 -0
- package/engine/internal/lib/adoption_test.go +91 -0
- package/engine/internal/lib/analyze.go +224 -0
- package/engine/internal/lib/archivesearch.go +93 -0
- package/engine/internal/lib/archivesearch_test.go +110 -0
- package/engine/internal/lib/budget.go +172 -0
- package/engine/internal/lib/buildreadiness.go +88 -0
- package/engine/internal/lib/checkacceptance.go +176 -0
- package/engine/internal/lib/closeout.go +69 -0
- package/engine/internal/lib/command_other.go +7 -0
- package/engine/internal/lib/command_unix.go +24 -0
- package/engine/internal/lib/context.go +236 -0
- package/engine/internal/lib/conventions.go +449 -0
- package/engine/internal/lib/coverage.go +145 -0
- package/engine/internal/lib/doubtcoverage.go +88 -0
- package/engine/internal/lib/evidencefresh.go +85 -0
- package/engine/internal/lib/extensions.go +619 -0
- package/engine/internal/lib/extensions_test.go +305 -0
- package/engine/internal/lib/footprint.go +239 -0
- package/engine/internal/lib/jsonout.go +115 -0
- package/engine/internal/lib/jsonout_test.go +57 -0
- package/engine/internal/lib/lanes.go +106 -0
- package/engine/internal/lib/learnings.go +391 -0
- package/engine/internal/lib/learnings_inject_test.go +77 -0
- package/engine/internal/lib/learnings_remediation_test.go +24 -0
- package/engine/internal/lib/ledger.go +298 -0
- package/engine/internal/lib/ledger_test.go +162 -0
- package/engine/internal/lib/mutationgate.go +85 -0
- package/engine/internal/lib/overrides.go +164 -0
- package/engine/internal/lib/overrides_test.go +112 -0
- package/engine/internal/lib/packageexistence.go +175 -0
- package/engine/internal/lib/preamble.go +159 -0
- package/engine/internal/lib/progress.go +168 -0
- package/engine/internal/lib/reconcile.go +173 -0
- package/engine/internal/lib/reconcile_test.go +197 -0
- package/engine/internal/lib/resolve.go +376 -0
- package/engine/internal/lib/resolve_remediation_test.go +49 -0
- package/engine/internal/lib/reviewers.go +143 -0
- package/engine/internal/lib/reviewers_test.go +45 -0
- package/engine/internal/lib/reviewerstats.go +199 -0
- package/engine/internal/lib/reviewerstats_test.go +104 -0
- package/engine/internal/lib/reviewintegrity.go +143 -0
- package/engine/internal/lib/reviewintegrity_test.go +103 -0
- package/engine/internal/lib/runbook.go +292 -0
- package/engine/internal/lib/runbook_context_test.go +119 -0
- package/engine/internal/lib/session.go +328 -0
- package/engine/internal/lib/session_test.go +110 -0
- package/engine/internal/lib/specparse.go +125 -0
- package/engine/internal/lib/specskeleton.go +79 -0
- package/engine/internal/lib/specvalidate.go +391 -0
- package/engine/internal/lib/specvalidate_test.go +185 -0
- package/engine/internal/lib/stuck.go +206 -0
- package/engine/internal/lib/templates/conventions_drift.tmpl +6 -0
- package/engine/internal/lib/templates/conventions_ledger_header.md +6 -0
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -0
- package/engine/internal/lib/testintegrity.go +203 -0
- package/engine/internal/lib/testintegrity_test.go +72 -0
- package/engine/internal/lib/tickafk.go +99 -0
- package/engine/internal/lib/util.go +68 -0
- package/engine/internal/migrate/migrate.go +213 -0
- package/engine/internal/migrate/migrate_test.go +105 -0
- package/engine/internal/orient/firstrun.go +50 -0
- package/engine/internal/orient/firstrun_test.go +72 -0
- package/engine/internal/orient/orient.go +69 -0
- package/engine/internal/orient/orient_test.go +25 -0
- package/engine/internal/profile/profile.go +270 -0
- package/engine/internal/state/concurrency_test.go +184 -0
- package/engine/internal/state/feature.go +309 -0
- package/engine/internal/state/lock_other.go +24 -0
- package/engine/internal/state/lock_unix.go +35 -0
- package/engine/internal/state/lock_windows.go +56 -0
- package/engine/internal/state/schema.go +102 -0
- package/engine/internal/state/snapshot.go +384 -0
- package/engine/internal/state/state_test.go +260 -0
- package/engine/internal/state/status.go +90 -0
- package/engine/internal/state/write.go +59 -0
- package/engine/internal/testutil/testutil.go +66 -0
- package/engine/internal/version/version.go +57 -0
- package/engine/internal/workflow/commands.go +64 -0
- package/engine/main.go +530 -0
- package/engine/profile_test.go +76 -0
- package/engine/subagent_orient_context.txt +6 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/decisions.md +4 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/feature.md +8 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/plan.md +5 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/spec.md +6 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/status.md +4 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/tasks.md +1 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/feature.md +8 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/spec.md +6 -0
- package/engine/testdata/golden/TestParityA1Guard/devrites-edit-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/inline-fallback-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/no-window-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/non-edit-tool.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/observe-mode-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +2 -0
- package/engine/testdata/golden/TestParityA1Guard/subagent-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/noactive.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +15 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +16 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +15 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +17 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +16 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +16 -0
- package/engine/testdata/golden/TestParityBudget/default-active.golden +4 -0
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +5 -0
- package/engine/testdata/golden/TestParityBudget/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityBudget/no-feature.golden +1 -0
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +6 -0
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +6 -0
- package/engine/testdata/golden/TestParityBudget/within.golden +6 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approvenone.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=await.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=blocked.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=noapprove.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=blank-section.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=empty.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-dropped.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-unchecked.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-gap.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-seal.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-section.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +2 -0
- package/engine/testdata/golden/TestParityCloseOut/active_slug_cleared.golden +2 -0
- package/engine/testdata/golden/TestParityCloseOut/archive_clobber.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/missing_slug.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/missing_workspace.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=flat.golden +7 -0
- package/engine/testdata/golden/TestParityCoverage/arg=full.golden +10 -0
- package/engine/testdata/golden/TestParityCoverage/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=nospec.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +9 -0
- package/engine/testdata/golden/TestParityCoverage.golden +1 -0
- package/engine/testdata/golden/TestParityCursor/bare.golden +3 -0
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +6 -0
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +5 -0
- package/engine/testdata/golden/TestParityCursor/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityCursor/red.golden +5 -0
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +5 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=doubted.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +4 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nowright.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage.golden +1 -0
- package/engine/testdata/golden/TestParityLearnings/add.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/list.golden +5 -0
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/mine.golden +5 -0
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/unknown.golden +1 -0
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +3 -0
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +3 -0
- package/engine/testdata/golden/TestParityMutationGate/ghost.golden +1 -0
- package/engine/testdata/golden/TestParityOrientSilentPath.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +2 -0
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +2 -0
- package/engine/testdata/golden/TestParityPackageExistence/ghost-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/no-manifest.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/undeclared.golden +1 -0
- package/engine/testdata/golden/TestParityPreamble/afk/a.golden +14 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/active.golden +18 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/bare.golden +10 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/full.golden +18 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/ghost.golden +2 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/nonl.golden +11 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/openend.golden +13 -0
- package/engine/testdata/golden/TestParityProgress/arg=allbuilt.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=done.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityProgress/arg=mid.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=nophase.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=noslice.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=plan.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=seal.golden +3 -0
- package/engine/testdata/golden/TestParityReconcile/bad-mode.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-clean/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-base.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-claimed/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-claimed.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-violation/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-violation.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/inline-fallback/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/inline-fallback.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/snapshot/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +2 -0
- package/engine/testdata/golden/TestParityRedwatch/non-bash-tool.golden +1 -0
- package/engine/testdata/golden/TestParityRedwatch/non-test-command.golden +1 -0
- package/engine/testdata/golden/TestParityRedwatch/pass-clears-red.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/answer/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +6 -0
- package/engine/testdata/golden/TestParityResolve/answer.golden +4 -0
- package/engine/testdata/golden/TestParityResolve/batch/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/batch-unterminated/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/batch-unterminated.golden +2 -0
- package/engine/testdata/golden/TestParityResolve/batch.golden +3 -0
- package/engine/testdata/golden/TestParityResolve/drop/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +8 -0
- package/engine/testdata/golden/TestParityResolve/drop.golden +4 -0
- package/engine/testdata/golden/TestParityResolve/missing-answer.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/next-qid.golden +2 -0
- package/engine/testdata/golden/TestParityResolve/no-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/not-found.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/not-open.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-non-devrites-allows.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-subagent-type-only-allows.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/non-bash-tool.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/non-tool-input.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/observe-mutating-silent.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/safe-bash-command.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=dup.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=empty.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=noscenario.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=noshall.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=nothen.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate.golden +1 -0
- package/engine/testdata/golden/TestParityStatusline/full-afk.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/full-hitl.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityStatusline/nophase.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/red.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/bad-cmd.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/no-cmd.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/no-slug.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/garbage-input.golden +1 -0
- package/engine/testdata/golden/TestParitySubagentOrient/non-devrites-agent.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/assertion-dropped.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +2 -0
- package/engine/testdata/golden/TestParityTestIntegrity/deleted.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/ghost-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/skip-added.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/budget1/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/budget1.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/budget3/state.md.golden +5 -0
- package/engine/testdata/golden/TestParityTickAfk/budget3.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/missingField/state.md.golden +3 -0
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/missingFile.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/none/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/none.golden +2 -0
- package/engine/testdata/golden/TestParityWrightScope/agent-required-non-wright.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/devrites-edit-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/in-scope-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/non-edit-tool.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +2 -0
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-observe-silent.golden +1 -0
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +2 -0
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +2 -0
- package/engine/testdata/golden/TestStatusLiveWorkspace.golden +10 -0
- package/engine/testdata/golden/TestStuckLogHashParity.golden +1 -0
- package/engine/testdata/golden/status/auth-tokens.txt +9 -0
- package/engine/testdata/golden/status/search-ranking.txt +9 -0
- package/engine/tests/adr_0003_gate_exit_code_test.go +32 -0
- package/engine/tests/adr_0004_required_by_phase_test.go +62 -0
- package/engine/tests/adr_0006_clock_seam_test.go +36 -0
- package/engine/tests/budget_test.go +77 -0
- package/engine/tests/canonical_ac_ids_test.go +44 -0
- package/engine/tests/cli_test.go +209 -0
- package/engine/tests/concurrency_cli_test.go +125 -0
- package/engine/tests/conventions_test.go +106 -0
- package/engine/tests/doctor_cli_test.go +62 -0
- package/engine/tests/gate_test.go +235 -0
- package/engine/tests/hook_test.go +390 -0
- package/engine/tests/hooks_io_test.go +218 -0
- package/engine/tests/json_contract_test.go +99 -0
- package/engine/tests/lib_parity_test.go +942 -0
- package/engine/tests/meta_test.go +67 -0
- package/engine/tests/migrate_cli_test.go +193 -0
- package/engine/tests/parity_analyze_test.go +55 -0
- package/engine/tests/parity_buildreadiness_test.go +42 -0
- package/engine/tests/parity_closeout_test.go +102 -0
- package/engine/tests/parity_githelpers_test.go +41 -0
- package/engine/tests/parity_learnings_test.go +90 -0
- package/engine/tests/parity_mutationgate_test.go +36 -0
- package/engine/tests/parity_packageexistence_test.go +64 -0
- package/engine/tests/parity_reconcile_test.go +88 -0
- package/engine/tests/parity_resolve_test.go +144 -0
- package/engine/tests/parity_test.go +380 -0
- package/engine/tests/parity_testintegrity_test.go +65 -0
- package/engine/tests/parity_tickafk_test.go +83 -0
- package/engine/validatepack.go +192 -0
- package/engine/validatepack_test.go +79 -0
- package/engine/validatepackskills.go +181 -0
- package/engine/validatepackskills_test.go +171 -0
- package/install.sh +67 -912
- package/pack/.claude/agents/devrites-code-reviewer.md +20 -3
- package/pack/.claude/agents/devrites-devex-reviewer.md +13 -3
- package/pack/.claude/agents/devrites-doubt-reviewer.md +16 -3
- package/pack/.claude/agents/devrites-forge-judge.md +14 -4
- package/pack/.claude/agents/devrites-frontend-reviewer.md +27 -3
- package/pack/.claude/agents/devrites-performance-reviewer.md +18 -2
- package/pack/.claude/agents/devrites-plan-reviewer.md +13 -3
- package/pack/.claude/agents/devrites-retrospector.md +12 -7
- package/pack/.claude/agents/devrites-security-auditor.md +20 -4
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +17 -2
- package/pack/.claude/agents/devrites-slice-wright.md +32 -16
- package/pack/.claude/agents/devrites-spec-reviewer.md +17 -2
- package/pack/.claude/agents/devrites-strategy-reviewer.md +12 -2
- package/pack/.claude/agents/devrites-test-analyst.md +20 -3
- package/pack/.claude/settings.json +58 -8
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +22 -5
- package/pack/.claude/skills/devrites-audit/SKILL.md +1 -1
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +26 -53
- package/pack/.claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/.claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -6
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -0
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +2 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/.claude/skills/devrites-doubt/SKILL.md +10 -3
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +16 -13
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +15 -3
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +19 -0
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
- package/pack/.claude/skills/devrites-interview/SKILL.md +30 -7
- package/pack/.claude/skills/devrites-lib/SKILL.md +35 -36
- package/pack/.claude/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +104 -20
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/README.md +14 -6
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/afk-hitl.md +10 -18
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/agents.md +81 -16
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/anti-patterns.md +3 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/context-hygiene.md +17 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/core.md +9 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/deprecation.md +21 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/developer-experience.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/documentation.md +9 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/observability.md +13 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/performance.md +1 -1
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/principles.md +3 -3
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/prose-style.md +18 -2
- package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/security.md +45 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/tooling.md +29 -2
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +40 -76
- package/pack/.claude/skills/devrites-prose-craft/reference/examples.md +19 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +3 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +17 -1
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +20 -7
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +25 -10
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +2 -2
- package/pack/.claude/skills/rite/SKILL.md +67 -42
- package/pack/.claude/skills/rite/reference/menu.md +4 -1
- package/pack/.claude/skills/rite-adopt/SKILL.md +31 -22
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +6 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +25 -25
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +2 -2
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -1
- package/pack/.claude/skills/rite-build/SKILL.md +24 -256
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -3
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +1 -1
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +10 -7
- package/pack/.claude/skills/rite-build/reference/forge.md +17 -7
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +2 -0
- package/pack/.claude/skills/rite-build/reference/output.md +41 -0
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +11 -10
- package/pack/.claude/skills/rite-converge/SKILL.md +131 -0
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/.claude/skills/rite-customize/SKILL.md +67 -0
- package/pack/.claude/skills/rite-define/SKILL.md +82 -93
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +2 -1
- package/pack/.claude/skills/rite-define/reference/gates.md +3 -3
- package/pack/.claude/skills/rite-define/reference/plan-template.md +35 -6
- package/pack/.claude/skills/rite-doctor/SKILL.md +41 -16
- package/pack/.claude/skills/rite-dogfood/SKILL.md +49 -0
- package/pack/.claude/skills/rite-explain/SKILL.md +148 -0
- package/pack/.claude/skills/rite-explain/reference/intake.md +79 -0
- package/pack/.claude/skills/rite-frame/SKILL.md +14 -15
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +1 -1
- package/pack/.claude/skills/rite-handoff/SKILL.md +19 -17
- package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +16 -6
- package/pack/.claude/skills/rite-learn/SKILL.md +46 -24
- package/pack/.claude/skills/rite-plan/SKILL.md +35 -26
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +20 -7
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +15 -16
- package/pack/.claude/skills/rite-polish/SKILL.md +18 -23
- package/pack/.claude/skills/rite-polish/reference/anti-ai-slop.md +31 -2
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +4 -1
- package/pack/.claude/skills/rite-polish/reference/code.md +16 -5
- package/pack/.claude/skills/rite-polish/reference/design-system-discovery.md +5 -32
- package/pack/.claude/skills/rite-pov/SKILL.md +46 -0
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +49 -0
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +40 -10
- package/pack/.claude/skills/rite-prototype/SKILL.md +23 -2
- package/pack/.claude/skills/rite-prove/SKILL.md +41 -96
- package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +36 -13
- package/pack/.claude/skills/rite-quick/SKILL.md +19 -12
- package/pack/.claude/skills/rite-resolve/SKILL.md +21 -25
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
- package/pack/.claude/skills/rite-review/SKILL.md +43 -45
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +1 -1
- package/pack/.claude/skills/rite-review/reference/performance-review.md +4 -22
- package/pack/.claude/skills/rite-review/reference/security-review.md +2 -2
- package/pack/.claude/skills/rite-seal/SKILL.md +40 -174
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +6 -9
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +6 -14
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +3 -3
- package/pack/.claude/skills/rite-seal/reference/output.md +7 -0
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/.claude/skills/rite-seal/reference/seal-template.md +1 -1
- package/pack/.claude/skills/rite-ship/SKILL.md +45 -75
- package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-ship/reference/close-out.md +12 -1
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +32 -1
- package/pack/.claude/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/.claude/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/.claude/skills/rite-spec/SKILL.md +110 -60
- package/pack/.claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +4 -1
- package/pack/.claude/skills/rite-spec/reference/investigation.md +34 -14
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +7 -37
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +23 -18
- package/pack/.claude/skills/rite-spec/reference/spec-template.md +94 -118
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +128 -139
- package/pack/.claude/skills/rite-status/SKILL.md +26 -22
- package/pack/.claude/skills/rite-temper/SKILL.md +34 -27
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +1 -1
- package/pack/.claude/skills/rite-temper/reference/significance.md +1 -1
- package/pack/.claude/skills/rite-vet/SKILL.md +64 -71
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +7 -5
- package/pack/.claude/skills/rite-vet/reference/depth.md +1 -1
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +3 -3
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +16 -17
- package/pack/generated/README.md +10 -0
- package/pack/generated/claude/agents/devrites-code-reviewer.md +103 -0
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +104 -0
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +68 -0
- package/pack/generated/claude/agents/devrites-forge-judge.md +102 -0
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +84 -0
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +111 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +89 -0
- package/pack/generated/claude/agents/devrites-retrospector.md +96 -0
- package/pack/generated/claude/agents/devrites-security-auditor.md +85 -0
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +90 -0
- package/pack/generated/claude/agents/devrites-slice-wright.md +210 -0
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +87 -0
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +72 -0
- package/pack/generated/claude/agents/devrites-test-analyst.md +64 -0
- package/pack/generated/claude/settings.json +103 -0
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +61 -0
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +73 -0
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +76 -0
- package/pack/generated/claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +65 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +82 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +99 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +71 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +60 -0
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +104 -0
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +82 -0
- package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +61 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +192 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +55 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +119 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +71 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +35 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +33 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +38 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +73 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +48 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +36 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +158 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +117 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +135 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +99 -0
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +69 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/examples.md +102 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/structures.md +134 -0
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +51 -0
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +52 -0
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +134 -0
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/claude/skills/rite/SKILL.md +142 -0
- package/pack/generated/claude/skills/rite/reference/menu.md +42 -0
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +104 -0
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +55 -0
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +35 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +54 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
- package/pack/generated/claude/skills/rite-build/SKILL.md +84 -0
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +37 -0
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +149 -0
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +35 -0
- package/pack/generated/claude/skills/rite-build/reference/forge.md +181 -0
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +42 -0
- package/pack/generated/claude/skills/rite-build/reference/output.md +41 -0
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +43 -0
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +26 -0
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +140 -0
- package/pack/generated/claude/skills/rite-converge/SKILL.md +131 -0
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/generated/claude/skills/rite-customize/SKILL.md +67 -0
- package/pack/generated/claude/skills/rite-define/SKILL.md +159 -0
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/claude/skills/rite-define/reference/gates.md +152 -0
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +94 -0
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +76 -0
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +49 -0
- package/pack/generated/claude/skills/rite-explain/SKILL.md +148 -0
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +79 -0
- package/pack/generated/claude/skills/rite-frame/SKILL.md +120 -0
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +68 -0
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/claude/skills/rite-learn/SKILL.md +117 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +95 -0
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +24 -0
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +33 -0
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +42 -0
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +65 -0
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +33 -0
- package/pack/generated/claude/skills/rite-polish/SKILL.md +87 -0
- package/pack/generated/claude/skills/rite-polish/reference/anti-ai-slop.md +206 -0
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
- package/pack/generated/claude/skills/rite-polish/reference/code.md +100 -0
- package/pack/generated/claude/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +136 -0
- package/pack/generated/claude/skills/rite-pov/SKILL.md +46 -0
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +49 -0
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +74 -0
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +110 -0
- package/pack/generated/claude/skills/rite-prove/SKILL.md +104 -0
- package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +49 -0
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +25 -0
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/claude/skills/rite-quick/SKILL.md +93 -0
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +109 -0
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +115 -0
- package/pack/generated/claude/skills/rite-review/SKILL.md +171 -0
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +92 -0
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +60 -0
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +130 -0
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/claude/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +37 -0
- package/pack/generated/claude/skills/rite-seal/SKILL.md +101 -0
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +60 -0
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +64 -0
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +53 -0
- package/pack/generated/claude/skills/rite-seal/reference/output.md +7 -0
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +30 -0
- package/pack/generated/claude/skills/rite-seal/reference/seal-template.md +36 -0
- package/pack/generated/claude/skills/rite-ship/SKILL.md +111 -0
- package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +25 -0
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +42 -0
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +120 -0
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +73 -0
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +33 -0
- package/pack/generated/claude/skills/rite-spec/SKILL.md +219 -0
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +28 -0
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +84 -0
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +31 -0
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +73 -0
- package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +110 -0
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +156 -0
- package/pack/generated/claude/skills/rite-status/SKILL.md +107 -0
- package/pack/generated/claude/skills/rite-temper/SKILL.md +126 -0
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +65 -0
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/claude/skills/rite-vet/SKILL.md +180 -0
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +135 -0
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +43 -0
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +53 -0
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +167 -0
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +75 -0
- package/pack/generated/codex/AGENTS.md +23 -0
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +101 -0
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +102 -0
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +66 -0
- package/pack/generated/codex/agents/devrites-forge-judge.toml +100 -0
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +80 -0
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +109 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +93 -0
- package/pack/generated/codex/agents/devrites-retrospector.toml +94 -0
- package/pack/generated/codex/agents/devrites-security-auditor.toml +83 -0
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +88 -0
- package/pack/generated/codex/agents/devrites-slice-wright.toml +207 -0
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +85 -0
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +76 -0
- package/pack/generated/codex/agents/devrites-test-analyst.toml +62 -0
- package/pack/generated/codex/hooks.json +151 -0
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +73 -0
- package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +85 -0
- package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +88 -0
- package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/codex/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +77 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +94 -0
- package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +111 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +71 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +60 -0
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +116 -0
- package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +94 -0
- package/pack/generated/codex/skills/devrites-lib/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +61 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +192 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +55 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +119 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +71 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +35 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +33 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +38 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +73 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +48 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +36 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +158 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +117 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +135 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +99 -0
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +81 -0
- package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/examples.md +102 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/structures.md +134 -0
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +63 -0
- package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +64 -0
- package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +146 -0
- package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/codex/skills/rite/SKILL.md +154 -0
- package/pack/generated/codex/skills/rite/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite/reference/menu.md +42 -0
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +116 -0
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +55 -0
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +110 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +35 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +54 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
- package/pack/generated/codex/skills/rite-build/SKILL.md +96 -0
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +37 -0
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +149 -0
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +35 -0
- package/pack/generated/codex/skills/rite-build/reference/forge.md +181 -0
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +42 -0
- package/pack/generated/codex/skills/rite-build/reference/output.md +41 -0
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +43 -0
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +26 -0
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +140 -0
- package/pack/generated/codex/skills/rite-converge/SKILL.md +143 -0
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/generated/codex/skills/rite-customize/SKILL.md +79 -0
- package/pack/generated/codex/skills/rite-customize/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-define/SKILL.md +171 -0
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/codex/skills/rite-define/reference/gates.md +152 -0
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +94 -0
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +88 -0
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +61 -0
- package/pack/generated/codex/skills/rite-dogfood/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-explain/SKILL.md +160 -0
- package/pack/generated/codex/skills/rite-explain/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +79 -0
- package/pack/generated/codex/skills/rite-frame/SKILL.md +132 -0
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +68 -0
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +109 -0
- package/pack/generated/codex/skills/rite-handoff/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/codex/skills/rite-learn/SKILL.md +129 -0
- package/pack/generated/codex/skills/rite-learn/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +107 -0
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +24 -0
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +33 -0
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +42 -0
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +65 -0
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +33 -0
- package/pack/generated/codex/skills/rite-polish/SKILL.md +99 -0
- package/pack/generated/codex/skills/rite-polish/reference/anti-ai-slop.md +206 -0
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
- package/pack/generated/codex/skills/rite-polish/reference/code.md +100 -0
- package/pack/generated/codex/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +136 -0
- package/pack/generated/codex/skills/rite-pov/SKILL.md +58 -0
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +61 -0
- package/pack/generated/codex/skills/rite-pr-feedback/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +86 -0
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +122 -0
- package/pack/generated/codex/skills/rite-prototype/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-prove/SKILL.md +116 -0
- package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +49 -0
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +25 -0
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/codex/skills/rite-quick/SKILL.md +105 -0
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +121 -0
- package/pack/generated/codex/skills/rite-resolve/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +115 -0
- package/pack/generated/codex/skills/rite-review/SKILL.md +183 -0
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +92 -0
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +60 -0
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +130 -0
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/codex/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +37 -0
- package/pack/generated/codex/skills/rite-seal/SKILL.md +113 -0
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +60 -0
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +64 -0
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +53 -0
- package/pack/generated/codex/skills/rite-seal/reference/output.md +7 -0
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +30 -0
- package/pack/generated/codex/skills/rite-seal/reference/seal-template.md +36 -0
- package/pack/generated/codex/skills/rite-ship/SKILL.md +123 -0
- package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +25 -0
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +42 -0
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +120 -0
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +73 -0
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +33 -0
- package/pack/generated/codex/skills/rite-spec/SKILL.md +231 -0
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/codex/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +28 -0
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +84 -0
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +31 -0
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +73 -0
- package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +110 -0
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +156 -0
- package/pack/generated/codex/skills/rite-status/SKILL.md +119 -0
- package/pack/generated/codex/skills/rite-status/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-temper/SKILL.md +138 -0
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +65 -0
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/codex/skills/rite-vet/SKILL.md +192 -0
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +135 -0
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +43 -0
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +53 -0
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +167 -0
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +87 -0
- package/pack/generated/codex/skills/rite-zoom-out/agents/openai.yaml +2 -0
- package/package.json +8 -4
- package/scripts/build-binaries.sh +75 -0
- package/scripts/build-host-artifacts.sh +100 -0
- package/scripts/build-release-tarball.sh +16 -2
- package/scripts/check-cross-refs.py +17 -3
- package/scripts/check-generated-skill-budget.mjs +41 -0
- package/scripts/check-instruction-size-baseline.mjs +79 -0
- package/scripts/check-invocation-integrity.py +113 -0
- package/scripts/check-no-global-writes.sh +22 -0
- package/scripts/check-no-personal-paths.py +50 -0
- package/scripts/check-reference-governance.mjs +82 -0
- package/scripts/check-reply-contract.sh +64 -0
- package/scripts/check-rule-uniqueness.sh +4 -32
- package/scripts/codex-generate.sh +300 -0
- package/scripts/devrites-detect.sh +2 -1
- package/scripts/eval-runner.py +4 -2
- package/scripts/eval-scorer.mjs +46 -0
- package/scripts/grade-feature.sh +24 -7
- package/scripts/install-lib.sh +112 -19
- package/scripts/pin.sh +4 -4
- package/scripts/release-check.sh +71 -0
- package/scripts/run-behavioral-evals.sh +34 -2
- package/scripts/run-evals.sh +45 -30
- package/scripts/run-live-behavioral-evals.py +180 -0
- package/scripts/run-outcome-evals.sh +27 -0
- package/scripts/run-routing-evals.py +342 -0
- package/scripts/run-tests.mjs +203 -0
- package/scripts/skill-pruning-audit.mjs +120 -0
- package/scripts/skills-inventory.mjs +107 -0
- package/scripts/validate-agent-composition.py +57 -0
- package/scripts/validate-command-parity.py +70 -0
- package/scripts/validate-frontmatter.py +43 -7
- package/scripts/validate-skill-anatomy.py +139 -0
- package/scripts/validate-workflow-security.py +22 -3
- package/scripts/validate-workspace-schema.py +512 -0
- package/scripts/validate.sh +174 -34
- package/uninstall.sh +22 -183
- package/update.sh +29 -185
- package/docs/cli-mcp.md +0 -62
- package/mcp/devrites-mcp.mjs +0 -105
- package/pack/.claude/hooks/devrites-a1-guard.sh +0 -99
- package/pack/.claude/hooks/devrites-allow.sh +0 -44
- package/pack/.claude/hooks/devrites-cursor.sh +0 -28
- package/pack/.claude/hooks/devrites-orient.sh +0 -53
- package/pack/.claude/hooks/devrites-redwatch.sh +0 -39
- package/pack/.claude/hooks/devrites-refresh-indexes.sh +0 -127
- package/pack/.claude/hooks/devrites-reviewer-readonly.sh +0 -37
- package/pack/.claude/hooks/devrites-statusline.sh +0 -18
- package/pack/.claude/hooks/devrites-stop-gate.sh +0 -45
- package/pack/.claude/hooks/devrites-wright-scope.sh +0 -64
- package/pack/.claude/hooks/hooks.json +0 -52
- package/pack/.claude/rules/code-review.md +0 -48
- package/pack/.claude/rules/development-workflow.md +0 -40
- package/pack/.claude/rules/git-workflow.md +0 -35
- package/pack/.claude/rules/spec-grammar.md +0 -106
- package/pack/.claude/rules/testing.md +0 -88
- package/pack/.claude/skills/devrites-lib/scripts/analyze.sh +0 -78
- package/pack/.claude/skills/devrites-lib/scripts/check-acceptance.sh +0 -75
- package/pack/.claude/skills/devrites-lib/scripts/close-out.sh +0 -47
- package/pack/.claude/skills/devrites-lib/scripts/conventions.py +0 -273
- package/pack/.claude/skills/devrites-lib/scripts/coverage.sh +0 -51
- package/pack/.claude/skills/devrites-lib/scripts/devrites.sh +0 -77
- package/pack/.claude/skills/devrites-lib/scripts/doctor.sh +0 -156
- package/pack/.claude/skills/devrites-lib/scripts/doubt-coverage.sh +0 -59
- package/pack/.claude/skills/devrites-lib/scripts/evidence-fresh.sh +0 -63
- package/pack/.claude/skills/devrites-lib/scripts/footprint.sh +0 -45
- package/pack/.claude/skills/devrites-lib/scripts/learnings.sh +0 -74
- package/pack/.claude/skills/devrites-lib/scripts/mutation-gate.sh +0 -52
- package/pack/.claude/skills/devrites-lib/scripts/package-existence.sh +0 -68
- package/pack/.claude/skills/devrites-lib/scripts/preamble.sh +0 -76
- package/pack/.claude/skills/devrites-lib/scripts/progress.sh +0 -103
- package/pack/.claude/skills/devrites-lib/scripts/readiness.sh +0 -62
- package/pack/.claude/skills/devrites-lib/scripts/reconcile.sh +0 -123
- package/pack/.claude/skills/devrites-lib/scripts/resolve.sh +0 -279
- package/pack/.claude/skills/devrites-lib/scripts/rites.sh +0 -41
- package/pack/.claude/skills/devrites-lib/scripts/spec-validate.sh +0 -130
- package/pack/.claude/skills/devrites-lib/scripts/stuck.sh +0 -67
- package/pack/.claude/skills/devrites-lib/scripts/test-integrity.sh +0 -87
- package/pack/.claude/skills/devrites-lib/scripts/tick-afk.sh +0 -52
- package/scripts/merge-codex-hooks.mjs +0 -78
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/coding-style.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/error-handling.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/hooks.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/patterns.md +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-ux-shape
|
|
3
|
+
description: Plan UX/UI before code: design direction, design brief, visual direction, key states, interaction model for screens/forms/dashboards/settings pages. Use when shaping UI. Not for building/polish.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# devrites-ux-shape — plan the UX/UI before code
|
|
8
|
+
|
|
9
|
+
Decide what the UI *is* and how it should look and behave **before** code, and write it to
|
|
10
|
+
the feature's `design-brief.md` — the contract the build (`devrites-frontend-craft`),
|
|
11
|
+
polish, and seal all check against. This is "shape before code" raised to a **feature-level
|
|
12
|
+
artifact**: produced once at spec time, refined per slice. It is **woven into the
|
|
13
|
+
lifecycle** (`/rite-spec` calls it when UI is detected; `/rite-build` refines it), not a
|
|
14
|
+
separate phase the user runs.
|
|
15
|
+
|
|
16
|
+
## When it runs
|
|
17
|
+
- `/rite-spec` invokes it after references-intake when the feature touches UI
|
|
18
|
+
(`../rite-build/reference/frontend-trigger.md`). Output: `design-brief.md` + a
|
|
19
|
+
confirmation pause.
|
|
20
|
+
- `/rite-build` / `devrites-frontend-craft` read the brief as the **build target** and
|
|
21
|
+
refine it for the slice's surface — they don't re-derive it.
|
|
22
|
+
- Skip entirely for backend / data / CLI / infra-only features.
|
|
23
|
+
|
|
24
|
+
## 1. Foundation — discover, don't impose
|
|
25
|
+
Reuse what's there first. Read the design system + register and any references the spec
|
|
26
|
+
gathered:
|
|
27
|
+
- Design system + register (tokens, components, type, spacing, neighbors; brand-vs-product)
|
|
28
|
+
→ `../devrites-frontend-craft/reference/design-references.md`.
|
|
29
|
+
- `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present — anchors that reduce questions.
|
|
30
|
+
`DESIGN.md` is the project's **rolled-up design memory** (tokens, calibration baseline,
|
|
31
|
+
proven component behaviors) earlier features sealed via `../rite-ship/reference/design-memory.md`;
|
|
32
|
+
treat it as the inherited system — read it before re-discovering, depart only on signal.
|
|
33
|
+
- `references.md` + `references/` — the screenshots / Figma / video / links the human
|
|
34
|
+
supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
|
|
35
|
+
required rule, **inspiration** = extract only the cited principle.
|
|
36
|
+
|
|
37
|
+
## 2. Discovery — one round, assert-then-confirm
|
|
38
|
+
Understand the feature deeply enough to make excellent design calls — **no code, no
|
|
39
|
+
markup**. Use the `devrites-interview` cadence: 2-3 questions per round, best-guess
|
|
40
|
+
attached, stop when answers converge. One round is the default; add a second only for
|
|
41
|
+
material gaps. When `PRODUCT.md` + the spec already pin an answer, **assert it and ask to
|
|
42
|
+
confirm** ("reads as Restrained — confirm?"), don't offer a four-option menu. Cover:
|
|
43
|
+
- **Purpose & user** — who, in what state of mind (rushed / exploring / anxious / focused).
|
|
44
|
+
- **Content & data** — realistic ranges (0 / typical / many), dynamic content, real
|
|
45
|
+
media/assets the surface needs.
|
|
46
|
+
- **Preserve + anti-goals** — identity, IA, behavior, content voice, SEO/analytics hooks,
|
|
47
|
+
existing accessibility wins, or assets that must survive; what this must NOT become;
|
|
48
|
+
the biggest risk of getting it wrong.
|
|
49
|
+
|
|
50
|
+
## 3. Design direction — the direction set (commit, don't hedge)
|
|
51
|
+
One deliberate visual decision on five fronts, each anchored in an existing reference so
|
|
52
|
+
the call is checkable, not taste:
|
|
53
|
+
- **Scene sentence** — who / where / ambient light / mood, per
|
|
54
|
+
`../devrites-frontend-craft/reference/design-references.md`. Forces dark-vs-light and
|
|
55
|
+
tone from the scene, not the category.
|
|
56
|
+
- **Color strategy** — Restrained / Committed / Multi-role / Saturated, per the
|
|
57
|
+
color-commitment table in `../devrites-frontend-craft/reference/quality-standards.md`.
|
|
58
|
+
Pick from the scene; register doesn't decide it.
|
|
59
|
+
- **Calibration** — density (Airy / Balanced / Dense) and motion (Minimal / Standard /
|
|
60
|
+
Expressive), per the calibration table in the same quality-standards file. Set both from
|
|
61
|
+
the scene so the build targets a calibration, not a guess (a 2am SRE → Dense + Minimal; a
|
|
62
|
+
launch hero → Airy + Expressive).
|
|
63
|
+
- **Named anchor references** — 2-3 *specific* products / brands / objects to steer toward
|
|
64
|
+
(not adjectives like "modern" or "clean"), plus the saved `references/` files.
|
|
65
|
+
- **Visual thesis** — the focal point and hierarchy in one sentence, plus one memorable
|
|
66
|
+
move (or `none — system continuity`) and the obvious-but-wrong direction rejected. This
|
|
67
|
+
creates intentional distinction without forcing novelty into product UI.
|
|
68
|
+
|
|
69
|
+
Respect the existing identity (default, ~90%); depart only on an explicit signal.
|
|
70
|
+
|
|
71
|
+
## 4. Scope — task-scoped, never persisted
|
|
72
|
+
Name the output target so sketch-vs-ship isn't guessed: **fidelity** (sketch / mid-fi /
|
|
73
|
+
high-fi / production — DevRites default is production), **breadth** (one screen / a flow /
|
|
74
|
+
a surface), **interactivity**, **time intent**. These ride in the brief only; they do not
|
|
75
|
+
change the project's design system, and never get written to `PRODUCT.md` / `DESIGN.md`.
|
|
76
|
+
|
|
77
|
+
## 5. Key states + interaction model
|
|
78
|
+
List every state the feature needs and what the user must see/feel in each (default,
|
|
79
|
+
loading initial+subsequent, empty→next-action, error→recovery, success, disabled/
|
|
80
|
+
no-permission, long-content/overflow), the information hierarchy (what's seen 1st / 2nd /
|
|
81
|
+
3rd; primary action unmistakable), responsive reflow, a11y must-haves, and the interaction
|
|
82
|
+
model (inline vs navigated vs — rarely — modal; optimistic vs pending; feedback). Name the
|
|
83
|
+
representative states, viewports, input modes, and target R-ids that will prove the result;
|
|
84
|
+
"looks polished" is not a proof target. Canonical state list:
|
|
85
|
+
`../devrites-frontend-craft/reference/shape.md`.
|
|
86
|
+
|
|
87
|
+
## 6. Visual-direction probe — capability-gated
|
|
88
|
+
When the work is net-new or directionally ambiguous and fidelity ≥ mid-fi, pressure-test
|
|
89
|
+
the lane with something concrete instead of words — pull Figma context, generate image
|
|
90
|
+
probes, screenshot reference sites, or route a code-fidelity question to `/rite-prototype`.
|
|
91
|
+
**Capability-gated**: announce the skip in one line if no tool is available. Flow:
|
|
92
|
+
[reference/visual-direction-probe.md](reference/visual-direction-probe.md).
|
|
93
|
+
|
|
94
|
+
## 7. AI-slop pre-check
|
|
95
|
+
Run the two-altitude category-reflex check (`../rite-polish/reference/anti-ai-slop.md`) on
|
|
96
|
+
the chosen direction *before* writing the brief — if the palette/theme is guessable from
|
|
97
|
+
the category, rework the scene sentence and color strategy. Cheaper to catch the slop in
|
|
98
|
+
the brief than in the build.
|
|
99
|
+
|
|
100
|
+
## 8. Write the brief + gate
|
|
101
|
+
Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md)) —
|
|
102
|
+
**compact** (3-5 bullets) when discovery was crisp, **full** when the surface is ambiguous
|
|
103
|
+
or multi-screen. Don't pad a clear brief to look thorough; don't skip the pause to look
|
|
104
|
+
fast. Then honor the run mode (`../devrites-lib/reference/standards/afk-hitl.md`):
|
|
105
|
+
- **HITL** — present the brief and **STOP for explicit confirmation**. The pause is the
|
|
106
|
+
point: shape ends at the user's "go", not at your own certainty. Disagreement → revisit
|
|
107
|
+
the relevant discovery question.
|
|
108
|
+
- **AFK** — assert the best-guess direction, record it in `decisions.md` + an advisory
|
|
109
|
+
`questions.md` entry, and proceed. A direction touching the irreversible-risk list still
|
|
110
|
+
pauses.
|
|
111
|
+
|
|
112
|
+
Completion: the smallest useful brief exists; primary action, states, interaction, proof
|
|
113
|
+
targets, and reference role/usage are explicit; the run-mode gate is resolved. Only then may
|
|
114
|
+
UI code start.
|
|
115
|
+
|
|
116
|
+
## Output
|
|
117
|
+
```
|
|
118
|
+
UX/UI shaped: <slug>
|
|
119
|
+
Direction: <color strategy> · density <airy|balanced|dense>/motion <minimal|standard|expressive> · "<scene sentence>" · anchors: <ref A, ref B>
|
|
120
|
+
States: <n listed> Probe: <figma | images | prototype | skipped — no tool>
|
|
121
|
+
Brief: design-brief.md (<compact | full>)
|
|
122
|
+
Gate: <confirmed | awaiting confirmation | AFK-asserted>
|
|
123
|
+
Next: /rite-define (UI slices map to the brief's states) — or /rite-build refines it per slice
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## NEVER (ux-shape)
|
|
127
|
+
- Never write code, markup, or a component here — produce the thinking, not the UI.
|
|
128
|
+
- Never finalize the brief without naming the **primary action** and the **full state set**
|
|
129
|
+
(not just the happy path).
|
|
130
|
+
- Never decide visual direction by taste when the project has a system — discover first.
|
|
131
|
+
- Never treat an **inspiration** reference as a fidelity target — honor its recorded role.
|
|
132
|
+
- Never skip the HITL confirmation pause "because the brief is obviously right" — ask once,
|
|
133
|
+
wait.
|
|
134
|
+
- 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 actually 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 actually 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 actually 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.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite
|
|
3
|
+
description: User-invoked DevRites menu and router; no args renders the menu, a verb dispatches to the matching `rite-<verb>` skill.
|
|
4
|
+
argument-hint: "[verb [args...]]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /rite — DevRites menu + router
|
|
10
|
+
|
|
11
|
+
You are the DevRites entry point. Two modes:
|
|
12
|
+
|
|
13
|
+
- **No args** → run `devrites-engine first-task`, render one recommended-start line above the menu, then stop. Do not execute a phase or read `state.md` — status is `/rite-status`.
|
|
14
|
+
- **Verb arg** → pass-through dispatch to the matching `rite-<verb>` skill (`/rite spec foo` ≡ `/rite-spec foo`); the called skill owns the output.
|
|
15
|
+
|
|
16
|
+
When the user asks which rite fits, load [`devrites-lib/reference/intent-map.md`](../devrites-lib/reference/intent-map.md).
|
|
17
|
+
When they ask how phases connect, load [`reference/menu.md`](reference/menu.md).
|
|
18
|
+
|
|
19
|
+
## Dispatch
|
|
20
|
+
|
|
21
|
+
If `$ARGUMENTS` starts with a verb in this table, **load the matching skill and execute its workflow** with the remainder of `$ARGUMENTS` as that skill's argument. Try post-install path first, fall back to pre-install:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
V=<verb>; ARGS="<remaining args>"
|
|
25
|
+
F=.claude/skills/rite-$V/SKILL.md
|
|
26
|
+
[ -f "$F" ] || F=pack/.claude/skills/rite-$V/SKILL.md
|
|
27
|
+
# Then Read "$F" and follow its workflow with $ARGS as that skill's $ARGUMENTS.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
What each verb does lives once, in the Menu below; this table is the dispatch map only.
|
|
31
|
+
|
|
32
|
+
| Verb | Skill |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `spec [feature]` | `/rite-spec` |
|
|
35
|
+
| `adopt [area]` | `/rite-adopt` |
|
|
36
|
+
| `temper [--mode]` | `/rite-temper` |
|
|
37
|
+
| `define` | `/rite-define` |
|
|
38
|
+
| `vet [--cross-model]` | `/rite-vet` |
|
|
39
|
+
| `plan [mode]` | `/rite-plan` |
|
|
40
|
+
| `build [slice]` | `/rite-build` |
|
|
41
|
+
| `converge [slug]` | `/rite-converge` |
|
|
42
|
+
| `prove` | `/rite-prove` |
|
|
43
|
+
| `polish [mode]` | `/rite-polish` |
|
|
44
|
+
| `review [scope]` | `/rite-review` |
|
|
45
|
+
| `seal` | `/rite-seal` |
|
|
46
|
+
| `ship` | `/rite-ship` |
|
|
47
|
+
| `status [slug]` | `/rite-status` |
|
|
48
|
+
| `doctor [--code | --reindex]` | `/rite-doctor` |
|
|
49
|
+
| `learn [--mine \| "<lesson>"]` | `/rite-learn` |
|
|
50
|
+
| `explain [concept \| diff \| idea \| recap]` | `/rite-explain` |
|
|
51
|
+
| `pov [candidate]` | `/rite-pov` |
|
|
52
|
+
| `dogfood [--port N]` | `/rite-dogfood` |
|
|
53
|
+
| `pr-feedback [PR\|thread]` | `/rite-pr-feedback` |
|
|
54
|
+
| `customize [override <agent> \| extension <name>]` | `/rite-customize` |
|
|
55
|
+
| `use <slug>` | (inline) |
|
|
56
|
+
| `guide` | (inline) |
|
|
57
|
+
| `resolve <qid> "<answer>"` | `/rite-resolve` |
|
|
58
|
+
| `prototype [question]` | `/rite-prototype` |
|
|
59
|
+
| `handoff [focus]` | `/rite-handoff` |
|
|
60
|
+
| `zoom-out` | `/rite-zoom-out` |
|
|
61
|
+
| `pressure-test` | `/rite-pressure-test` |
|
|
62
|
+
| `autocomplete [idea] [--ship]` | `/rite-autocomplete` |
|
|
63
|
+
| `quick [change]` | `/rite-quick` |
|
|
64
|
+
| `frame [task]` | `/rite-frame` |
|
|
65
|
+
|
|
66
|
+
Both forms hit the same skill — the menu form for discovery, the `/rite-<verb>` shortcut for muscle memory.
|
|
67
|
+
|
|
68
|
+
`use <slug>` is handled **inline** — there is no `rite-use` skill. Confirm
|
|
69
|
+
`.devrites/work/<slug>/` exists, then re-point `.devrites/ACTIVE` to `<slug>` and report
|
|
70
|
+
the now-active feature. It is cheap context-switching only — no re-spec, no phase run. If
|
|
71
|
+
the workspace is missing, list the slugs under `.devrites/work/` and stop.
|
|
72
|
+
|
|
73
|
+
`guide` is also inline — a first-feature walkthrough that teaches the lifecycle by running
|
|
74
|
+
it. Agree on one **real, genuinely small** change, then dispatch the normal phases in order
|
|
75
|
+
(spec → define → build → prove → seal → ship). Per phase, exactly two narration beats:
|
|
76
|
+
before, what it will decide; after, what it wrote in `.devrites/work/<slug>/` and why. Walk
|
|
77
|
+
every phase — the small change is what makes the full ceremony affordable to watch. Pause
|
|
78
|
+
at each boundary for the user's go-ahead. Teach without lecturing.
|
|
79
|
+
|
|
80
|
+
Specialist triggers (model-invoked inside the above):
|
|
81
|
+
`devrites-frontend-craft` (UI) · `devrites-browser-proof` (UI verify) ·
|
|
82
|
+
`devrites-source-driven` (uncertain library) · `devrites-doubt` (non-trivial
|
|
83
|
+
decision) · `devrites-api-interface` (cross-boundary) ·
|
|
84
|
+
`devrites-audit <security|perf|simplify>` (single-axis review/polish pass) ·
|
|
85
|
+
`devrites-debug-recovery` (failures). Parallel reviewer fan-out at seal is a shared
|
|
86
|
+
reference (see [`devrites-lib/reference/parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md)).
|
|
87
|
+
|
|
88
|
+
## What to output
|
|
89
|
+
|
|
90
|
+
Reply-contract exception: `/rite` is the menu/router, not a workspace completion step.
|
|
91
|
+
Called phase skills own the shared completion reply contract
|
|
92
|
+
([`reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
93
|
+
|
|
94
|
+
1. **Verb in `$ARGUMENTS`** → dispatch per the table above.
|
|
95
|
+
2. **No args** → menu mode, as above.
|
|
96
|
+
3. **Unrecognized first token** → tell the user the known verbs and stop. Don't guess.
|
|
97
|
+
4. **No active feature** and the user asked "where am I" or named no verb → point at `/rite spec <feature>` (or `/rite-spec`). Don't summarize state yourself — `/rite status` (or `/rite-status`) owns that.
|
|
98
|
+
|
|
99
|
+
## Menu
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
DevRites — disciplined senior-engineer workflow
|
|
103
|
+
Recommended start: <greenfield: /rite spec <feature> | brownfield-unadopted: /rite adopt | active-feature: /rite status | dirty-worktree: /rite frame or /rite quick | branch-ahead: /rite ship/status | clean-default: /rite spec <feature>>
|
|
104
|
+
menu form direct shortcut
|
|
105
|
+
SPEC /rite spec ≡ /rite-spec investigate deeply → write spec.md
|
|
106
|
+
ADOPT /rite adopt ≡ /rite-adopt onboard existing code → reverse-derive spec.md + seed conventions
|
|
107
|
+
TEMPER /rite temper ≡ /rite-temper optional — strategic review: scope mode + pre-mortem, harden the spec
|
|
108
|
+
PLAN /rite define ≡ /rite-define turn the spec into plan + task slices + state
|
|
109
|
+
VET /rite vet ≡ /rite-vet optional — engineering plan review: scope · architecture · tests · perf, harden the plan
|
|
110
|
+
REPLAN /rite plan ≡ /rite-plan decompose / reslice / repair an active plan
|
|
111
|
+
BUILD /rite build ≡ /rite-build implement exactly one verified vertical slice, then stop
|
|
112
|
+
PROVE /rite prove ≡ /rite-prove tests + build + runtime + browser evidence
|
|
113
|
+
POLISH /rite polish ≡ /rite-polish code polish always; UI normalize + polish if UI
|
|
114
|
+
REVIEW /rite review ≡ /rite-review feature-scoped multi-axis review
|
|
115
|
+
SEAL /rite seal ≡ /rite-seal final GO / NO-GO decision (no git)
|
|
116
|
+
SHIP /rite ship ≡ /rite-ship type-GO + commit/push/tag, then archive + clear ACTIVE
|
|
117
|
+
STATUS /rite status ≡ /rite-status active feature, next action, evidence, risks
|
|
118
|
+
DOCTOR /rite doctor ... ≡ /rite-doctor health check; --reindex refreshes structural indexes
|
|
119
|
+
LEARN /rite learn ... ≡ /rite-learn review captured lessons → promote to project rules / principles
|
|
120
|
+
EXPLAIN /rite explain ... ≡ /rite-explain grounded concept/diff/idea/recap explainer
|
|
121
|
+
POV /rite pov ... ≡ /rite-pov decide adopt / trial / hold / reject for an external option
|
|
122
|
+
DOGFOOD /rite dogfood ... ≡ /rite-dogfood browser QA by changed user journey
|
|
123
|
+
PR FEEDBACK /rite pr-feedback ... ≡ /rite-pr-feedback fix and resolve PR review threads
|
|
124
|
+
CUSTOMIZE /rite customize ... ≡ /rite-customize author overrides/extensions without forking the pack
|
|
125
|
+
SWITCH /rite use <slug> re-point .devrites/ACTIVE to another feature (inline)
|
|
126
|
+
GUIDE /rite guide first feature, guided — full lifecycle on one small real change (inline)
|
|
127
|
+
RESUME /rite resolve ... ≡ /rite-resolve answer a HITL checkpoint
|
|
128
|
+
AUTO /rite autocomplete ... ≡ /rite-autocomplete run the whole lifecycle unattended (--ship to push)
|
|
129
|
+
QUICK /rite quick <change> ≡ /rite-quick express lane — one small reversible change (escalates if it grows)
|
|
130
|
+
UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or direct shortcuts)
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
> **Small one-off change?** A typo, copy tweak, config bump, or one-function fix → **`/rite-quick`**
|
|
134
|
+
> (express lane: one contract → build → prove → ship, no full workspace). It escalates to
|
|
135
|
+
> `/rite-spec` the instant the change grows past small / reversible / unambiguous. The full
|
|
136
|
+
> lifecycle above is for real features — don't pay its ceremony for a one-off.
|
|
137
|
+
|
|
138
|
+
## Core operating rules (every DevRites skill enforces)
|
|
139
|
+
|
|
140
|
+
The operating rules live in `.claude/skills/devrites-lib/reference/standards/core.md`; DevRites skills Read it as
|
|
141
|
+
their first step, and the other rule files load on demand. See
|
|
142
|
+
[`.claude/skills/devrites-lib/reference/standards/README.md`](../devrites-lib/reference/standards/README.md) for the full index.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Menu reference
|
|
2
|
+
|
|
3
|
+
Phase-ordered command reference for `/rite`. Load only if the user wants detail on
|
|
4
|
+
what each command does or how phases connect.
|
|
5
|
+
|
|
6
|
+
## Phases and commands
|
|
7
|
+
|
|
8
|
+
| Phase | Command | Use when |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| Spec | `/rite-spec <feature>` | **Start here.** Investigate deeply → write spec.md. Asks you with options; gathers any design references you attach (optional). |
|
|
11
|
+
| Adopt | `/rite-adopt` | Onboard an existing codebase instead of starting fresh — reverse-derive spec.md + seed the conventions ledger. |
|
|
12
|
+
| Temper | `/rite-temper` | _Optional, before define._ Strategic review of the spec — scope mode (expand/selective/hold-rigor/reduce) + pre-mortem; hardens the spec. Best on big/risky features; mandatory in `/rite-autocomplete`. |
|
|
13
|
+
| Plan | `/rite-define` | Turn the approved spec into plan + vertical task slices + state. |
|
|
14
|
+
| Vet | `/rite-vet` | _Optional, before build._ Engineering review of the plan — scope · architecture · tests · perf; hardens the plan. Best on big/risky features; mandatory in `/rite-autocomplete`. |
|
|
15
|
+
| Re-plan | `/rite-plan` | The active plan is too big, wrong, stale, ambiguous, or blocked. |
|
|
16
|
+
| Build | `/rite-build` | Implement the next single vertical slice. Stops after one slice. |
|
|
17
|
+
| Converge | `/rite-converge` | _Recovery._ Code drifted from / falls short of intent (resumed cold, adopted, stalled build) — assess live code vs spec/plan/tasks and append the remaining work as new slices for `/rite-build`. |
|
|
18
|
+
| Prove | `/rite-prove` | Prove the current scope: tests, build, runtime, browser evidence. |
|
|
19
|
+
| Polish | `/rite-polish` | Code polish always; UI normalize + ship-quality polish if UI is in scope. Modes: `bolder/quieter/distill/harden/normalize-only`. |
|
|
20
|
+
| Review | `/rite-review` | Feature-scoped review before sealing. |
|
|
21
|
+
| Seal | `/rite-seal` | Final GO / NO-GO decision (no git). |
|
|
22
|
+
| Ship | `/rite-ship` | Type-GO → commit/push/tag, then archive the task + clear ACTIVE. |
|
|
23
|
+
| Status | `/rite-status` | See where the active feature stands. |
|
|
24
|
+
| Doctor | `/rite-doctor` | Health check — install integrity, stale ACTIVE, orphaned gates, hook wiring, merge/rebase state. |
|
|
25
|
+
| Learn | `/rite-learn` | Review the captured learning ledger → promote recurring lessons to project rules / principles. |
|
|
26
|
+
|
|
27
|
+
## Typical orderings
|
|
28
|
+
|
|
29
|
+
- **Every feature**: `/rite-spec` (spec) → *(big feature? `/rite-temper` — strategic review)* →
|
|
30
|
+
`/rite-define` (plan) → *(big feature? `/rite-vet` — engineering review)* →
|
|
31
|
+
`/rite-build` ×N (all slices) → `/rite-prove` (once all built) →
|
|
32
|
+
`/rite-polish` (always: code + UI if UI) → `/rite-review` → `/rite-seal` → `/rite-ship`.
|
|
33
|
+
- **Existing codebase**: `/rite-adopt` (onboard → spec.md + conventions) → continue at `/rite-define`.
|
|
34
|
+
- **Drift mid-build**: stop → drift question → `/rite-plan` (repair) → resume build.
|
|
35
|
+
- **Resumed / adopted / stalled**: `/rite-converge` (assess live code vs intent → append the
|
|
36
|
+
remaining slices) → `/rite-build` ×N → continue at `/rite-prove`.
|
|
37
|
+
|
|
38
|
+
## Rules this menu obeys
|
|
39
|
+
|
|
40
|
+
- `/rite` never edits code or runs a phase workflow.
|
|
41
|
+
- It reads `.devrites/ACTIVE` and `state.md` for status only.
|
|
42
|
+
- It suggests; the user (or Claude, when appropriate) invokes the real skill.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-adopt
|
|
3
|
+
description: Adopt an existing or legacy codebase into DevRites by reverse-engineering current behavior, seeding conventions, and establishing the workflow. Use for inherited or live applications.
|
|
4
|
+
argument-hint: "[path or area to adopt] [+ what you want to build next]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /rite-adopt — brownfield on-ramp
|
|
9
|
+
|
|
10
|
+
The **reverse** of `/rite-spec`. `/rite-spec` goes idea → spec; `/rite-adopt` goes
|
|
11
|
+
**existing code → spec + seeded conventions**, so an already-built project can enter the
|
|
12
|
+
DevRites lifecycle without hand-writing a spec from nothing. It produces the same
|
|
13
|
+
`spec.md` the rest of the lifecycle expects, plus a head start in the conventions ledger
|
|
14
|
+
so the very first new slice already knows the project's idioms.
|
|
15
|
+
|
|
16
|
+
Use it once, at the start, to onboard a repo (or a sub-area of one). After it, the normal
|
|
17
|
+
lifecycle (`/rite-temper` → `/rite-define` → `/rite-build` …) takes over.
|
|
18
|
+
|
|
19
|
+
> **Just want a map, not an onboarding?** `/rite-zoom-out` returns a structural map of
|
|
20
|
+
> unfamiliar code without creating a workspace or ledger. `/rite-adopt` is the heavier move:
|
|
21
|
+
> it *commits the project to the lifecycle*. Pick zoom-out to look, adopt to begin.
|
|
22
|
+
|
|
23
|
+
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
24
|
+
Pull `documentation.md` when recording the adoption decisions (why-not-what) in
|
|
25
|
+
`decisions.md`; pull `principles.md` when the code
|
|
26
|
+
upholds invariants worth proposing as project principles (step 4a).
|
|
27
|
+
|
|
28
|
+
## Operating rules (DevRites core)
|
|
29
|
+
- No silent assumptions · prefer the project's existing conventions (you are *documenting*
|
|
30
|
+
them, not imposing new ones) · ask the human when the adoption scope or the next-build
|
|
31
|
+
objective is unclear.
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
35
|
+
`devrites-engine preamble` for deterministic workspace orientation.
|
|
36
|
+
1. **Scope the adoption** (`$ARGUMENTS`). Which repo or sub-area is being onboarded, and —
|
|
37
|
+
if stated — what the user wants to build *next* on top of it. If the next-build objective
|
|
38
|
+
is missing, ask once (it shapes the spec's acceptance); if the area is ambiguous, confirm
|
|
39
|
+
before investigating the whole tree.
|
|
40
|
+
2. **Reverse-investigate the existing code** — the durable shape of the project. Use a
|
|
41
|
+
code-intelligence index if available — codebase-memory-mcp first (its `get_architecture`
|
|
42
|
+
gives a fast overview), cross-checked with codegraph + graphify, else standard methods
|
|
43
|
+
(LSP / Read/Grep/Glob); see `.claude/skills/devrites-lib/reference/standards/tooling.md` — for
|
|
44
|
+
structure, callers, and impact. Capture, per [adoption](reference/adoption.md): **current
|
|
45
|
+
behavior**, **architecture + placement** (layers, seams, where each kind of thing lives),
|
|
46
|
+
the **commands** (test / build / typecheck / lint), and the **idioms** (naming, layering,
|
|
47
|
+
error model, test style) + recurring **gotchas**. Read `PRODUCT.md` / `DESIGN.md` /
|
|
48
|
+
`CLAUDE.md` / `AGENTS.md` if present.
|
|
49
|
+
3. **Write `spec.md`** via [rite-spec's spec template](../rite-spec/reference/spec-template.md)
|
|
50
|
+
and create the workspace + set `.devrites/ACTIVE`
|
|
51
|
+
([state-workspace](../rite-spec/reference/state-workspace.md)). The spec records the
|
|
52
|
+
**current behavior as the baseline** and the **next objective** (what adoption is for) with
|
|
53
|
+
measurable acceptance. Also write `decisions.md`, `assumptions.md`, `questions.md`, and
|
|
54
|
+
`state.md` (phase: spec).
|
|
55
|
+
3a. **Seed the capability ledger** from the baseline. If the reverse-derived `spec.md` carries
|
|
56
|
+
structured `### Requirement:` blocks, fold them into the living
|
|
57
|
+
`.devrites/specs/<capability>/spec.md` ledger so the project's *current* proven behavior is on
|
|
58
|
+
record before the first new feature — the ledger the next `/rite-spec` writes deltas against
|
|
59
|
+
([ledger.md](../rite-ship/reference/ledger.md)). A flat baseline folds as all-ADDED into the
|
|
60
|
+
feature slug's capability; tag capabilities in the spec first if you want finer granularity.
|
|
61
|
+
```bash
|
|
62
|
+
devrites-engine ledger diff .devrites/work/<slug> # preview
|
|
63
|
+
devrites-engine ledger sync .devrites/work/<slug> # seed
|
|
64
|
+
```
|
|
65
|
+
Skip when the baseline records no structured requirements (nothing to seed).
|
|
66
|
+
4. **Seed the conventions ledger** from what the investigation *observed* —
|
|
67
|
+
[adoption § seeding](reference/adoption.md). This is the deliberate bootstrap exception to
|
|
68
|
+
evidence-gated promotion: the seeds start at the base band and are provenance-tagged as
|
|
69
|
+
onboarding observations, not sealed-slice proofs, so real slices later corroborate or
|
|
70
|
+
(fresh-wins) contradict them.
|
|
71
|
+
**Completion:** every seed names observed evidence, provenance, and the base band.
|
|
72
|
+
4a. **Propose candidate principles** (human-ratified; optional). Where the investigation found an
|
|
73
|
+
invariant the code *consistently and deliberately* upholds — money always in integer cents, PII
|
|
74
|
+
always redacted from logs, every v1 endpoint preserved — surface it as a **candidate
|
|
75
|
+
principle**, not a seeded convention. Principles are prescriptive and gating, so they are
|
|
76
|
+
**ratified by the human, never auto-seeded** the way conventions are: present the candidates via
|
|
77
|
+
`AskUserQuestion` with the evidence (where the code upholds it), and write the ones the human
|
|
78
|
+
ratifies to `.devrites/principles.md` with a dated Governance entry
|
|
79
|
+
([`principles.md`](../devrites-lib/reference/standards/principles.md)). Propose, don't impose — an unratified candidate
|
|
80
|
+
stays a convention, not a gate. Skip cleanly when nothing rises to an invariant (common — a
|
|
81
|
+
fresh adopt may declare zero principles, and that's valid).
|
|
82
|
+
5. **Hand off.** The project is now in the lifecycle with a spec and a head-start ledger.
|
|
83
|
+
Point the user at `/rite-temper` (big/risky) or `/rite-define` (straightforward) — do not
|
|
84
|
+
plan or build here.
|
|
85
|
+
**Completion:** one next rite is reported and no plan or application code was written.
|
|
86
|
+
|
|
87
|
+
> **Mid-flight discipline.** Don't invent conventions the code doesn't actually follow, don't
|
|
88
|
+
> seed an idiom you only assumed, and don't expand scope into a rewrite — adoption documents
|
|
89
|
+
> what exists; the *next* feature changes it. See [`anti-patterns`](reference/anti-patterns.md).
|
|
90
|
+
|
|
91
|
+
## Output
|
|
92
|
+
|
|
93
|
+
**Progress first** — run `devrites-engine progress`, then use the shared completion reply contract
|
|
94
|
+
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
95
|
+
Default success shape:
|
|
96
|
+
```
|
|
97
|
+
Done: adopted existing behavior into <slug>; baseline spec and placement recorded.
|
|
98
|
+
Changed: spec.md, decisions.md, conventions ledger, principles proposals <updated|none>
|
|
99
|
+
Evidence: not applicable; reverse-derived behavior is recorded for review
|
|
100
|
+
Open: <none | adoption questions | Alternative: /rite-define for straightforward follow-up>
|
|
101
|
+
Next: /rite-temper
|
|
102
|
+
Record: .devrites/work/<slug>/spec.md
|
|
103
|
+
↻ Hygiene: /clear before the next phase
|
|
104
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Adoption — reverse-investigate + seed (the on-ramp contract)
|
|
2
|
+
|
|
3
|
+
Loaded on demand by `/rite-adopt`. Two jobs: document what the code already does (so the
|
|
4
|
+
lifecycle has a spec), and seed the conventions ledger (so the first slice knows the idioms).
|
|
5
|
+
|
|
6
|
+
## Reverse-investigation — what to capture
|
|
7
|
+
|
|
8
|
+
Document the **durable shape** of the project, not a line-by-line tour:
|
|
9
|
+
|
|
10
|
+
- **Current behavior** — what the adopted area does today, from the user's perspective.
|
|
11
|
+
- **Architecture + placement** — the layers and seams; where each kind of thing lives
|
|
12
|
+
(where endpoints / components / models / migrations / tests go). Prefer a code-intelligence
|
|
13
|
+
index if available (see `../../devrites-lib/reference/standards/tooling.md`) for
|
|
14
|
+
structure, callers, and impact.
|
|
15
|
+
- **Commands** — the real test / build / typecheck / lint commands (run or read them; don't
|
|
16
|
+
guess). Verify uncertain framework facts at the source.
|
|
17
|
+
- **Idioms** — naming + casing, layering, the error model, the result/exception style, the
|
|
18
|
+
http/data-access pattern, the test framework + file layout.
|
|
19
|
+
- **Gotchas** — non-obvious constraints the code encodes (ordering requirements, "don't call
|
|
20
|
+
X before Y", a framework quirk).
|
|
21
|
+
|
|
22
|
+
This feeds `spec.md` (current behavior as the baseline + the next objective) and the ledger
|
|
23
|
+
seeds below.
|
|
24
|
+
|
|
25
|
+
## Seeding the conventions ledger
|
|
26
|
+
|
|
27
|
+
The deliberate **bootstrap exception** to evidence-gated promotion. Normally a convention is
|
|
28
|
+
promoted only when a *sealed slice proved it* (`/rite-seal`); adoption seeds from **observed
|
|
29
|
+
existing code** so the first slice isn't blind. Keep the seeds honest:
|
|
30
|
+
|
|
31
|
+
- Seed only what the code **actually and consistently** follows — not an aspiration, not a
|
|
32
|
+
one-off, not something you assumed.
|
|
33
|
+
- Each seed starts at the base band (one corroboration) and is provenance-tagged as an
|
|
34
|
+
onboarding observation, **not** a sealed-slice proof. Real slices later corroborate it
|
|
35
|
+
(raising the band) or, per fresh-observation-wins, contradict it.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
SLUG="$(cat .devrites/ACTIVE 2>/dev/null | tr -d '[:space:]')"
|
|
39
|
+
if command -v devrites-engine >/dev/null 2>&1; then
|
|
40
|
+
devrites-engine conventions promote --slug "${SLUG}-adopt" \
|
|
41
|
+
--key test-runner --kind test \
|
|
42
|
+
--statement "tests run with <runner>, <file layout>" \
|
|
43
|
+
--evidence "observed during /rite-adopt onboarding (not yet slice-proven)"
|
|
44
|
+
# …one promote per durable convention the investigation actually observed
|
|
45
|
+
# (test-runner, build-cmd, error-model, http-client, endpoint-placement, …).
|
|
46
|
+
else
|
|
47
|
+
echo "(conventions ledger unavailable — devrites-engine missing; skipping seed)"
|
|
48
|
+
fi
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The `-adopt` suffix on the slug marks the provenance as onboarding. Because the ledger is
|
|
52
|
+
read at orient as a *prior* and the live code always overrides it
|
|
53
|
+
([`.claude/skills/devrites-lib/reference/standards/security.md`](../../devrites-lib/reference/standards/security.md) § Prompt-injection resistance),
|
|
54
|
+
an over-eager seed is self-correcting — but seed conservatively anyway; a wrong seed costs a
|
|
55
|
+
needless contradiction later.
|