devrites 2.6.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +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 +225 -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 +147 -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/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 -913
- 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 +76 -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 +108 -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 +58 -70
- 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 +153 -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 +217 -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 +175 -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 +165 -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 +229 -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 +187 -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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devrites-ux-shape
|
|
3
|
-
description: Plan
|
|
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
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -31,7 +31,8 @@ gathered:
|
|
|
31
31
|
proven component behaviors) earlier features sealed via `../rite-ship/reference/design-memory.md`;
|
|
32
32
|
treat it as the inherited system — read it before re-discovering, depart only on signal.
|
|
33
33
|
- `references.md` + `references/` — the screenshots / Figma / video / links the human
|
|
34
|
-
supplied.
|
|
34
|
+
supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
|
|
35
|
+
required rule, **inspiration** = extract only the cited principle.
|
|
35
36
|
|
|
36
37
|
## 2. Discovery — one round, assert-then-confirm
|
|
37
38
|
Understand the feature deeply enough to make excellent design calls — **no code, no
|
|
@@ -42,10 +43,12 @@ confirm** ("reads as Restrained — confirm?"), don't offer a four-option menu.
|
|
|
42
43
|
- **Purpose & user** — who, in what state of mind (rushed / exploring / anxious / focused).
|
|
43
44
|
- **Content & data** — realistic ranges (0 / typical / many), dynamic content, real
|
|
44
45
|
media/assets the surface needs.
|
|
45
|
-
- **
|
|
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.
|
|
46
49
|
|
|
47
50
|
## 3. Design direction — the direction set (commit, don't hedge)
|
|
48
|
-
One deliberate visual decision on
|
|
51
|
+
One deliberate visual decision on five fronts, each anchored in an existing reference so
|
|
49
52
|
the call is checkable, not taste:
|
|
50
53
|
- **Scene sentence** — who / where / ambient light / mood, per
|
|
51
54
|
`../devrites-frontend-craft/reference/design-references.md`. Forces dark-vs-light and
|
|
@@ -59,6 +62,9 @@ the call is checkable, not taste:
|
|
|
59
62
|
launch hero → Airy + Expressive).
|
|
60
63
|
- **Named anchor references** — 2-3 *specific* products / brands / objects to steer toward
|
|
61
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.
|
|
62
68
|
|
|
63
69
|
Respect the existing identity (default, ~90%); depart only on an explicit signal.
|
|
64
70
|
|
|
@@ -73,8 +79,10 @@ List every state the feature needs and what the user must see/feel in each (defa
|
|
|
73
79
|
loading initial+subsequent, empty→next-action, error→recovery, success, disabled/
|
|
74
80
|
no-permission, long-content/overflow), the information hierarchy (what's seen 1st / 2nd /
|
|
75
81
|
3rd; primary action unmistakable), responsive reflow, a11y must-haves, and the interaction
|
|
76
|
-
model (inline vs navigated vs — rarely — modal; optimistic vs pending; feedback).
|
|
77
|
-
|
|
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`.
|
|
78
86
|
|
|
79
87
|
## 6. Visual-direction probe — capability-gated
|
|
80
88
|
When the work is net-new or directionally ambiguous and fidelity ≥ mid-fi, pressure-test
|
|
@@ -93,7 +101,7 @@ the brief than in the build.
|
|
|
93
101
|
Write `design-brief.md` ([reference/brief-template.md](reference/brief-template.md)) —
|
|
94
102
|
**compact** (3-5 bullets) when discovery was crisp, **full** when the surface is ambiguous
|
|
95
103
|
or multi-screen. Don't pad a clear brief to look thorough; don't skip the pause to look
|
|
96
|
-
fast. Then honor the run mode (
|
|
104
|
+
fast. Then honor the run mode (`../devrites-lib/reference/standards/afk-hitl.md`):
|
|
97
105
|
- **HITL** — present the brief and **STOP for explicit confirmation**. The pause is the
|
|
98
106
|
point: shape ends at the user's "go", not at your own certainty. Disagreement → revisit
|
|
99
107
|
the relevant discovery question.
|
|
@@ -101,6 +109,10 @@ fast. Then honor the run mode (`../../rules/afk-hitl.md`):
|
|
|
101
109
|
`questions.md` entry, and proceed. A direction touching the irreversible-risk list still
|
|
102
110
|
pauses.
|
|
103
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
|
+
|
|
104
116
|
## Output
|
|
105
117
|
```
|
|
106
118
|
UX/UI shaped: <slug>
|
|
@@ -116,6 +128,7 @@ Next: /rite-define (UI slices map to the brief's states) — or /rite-build refi
|
|
|
116
128
|
- Never finalize the brief without naming the **primary action** and the **full state set**
|
|
117
129
|
(not just the happy path).
|
|
118
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.
|
|
119
132
|
- Never skip the HITL confirmation pause "because the brief is obviously right" — ask once,
|
|
120
133
|
wait.
|
|
121
134
|
- Never re-derive the brief from scratch in `/rite-build` — refine the existing one.
|
|
@@ -15,9 +15,12 @@ step. Don't pad a clear brief into a long one to look thorough.
|
|
|
15
15
|
Slug: <kebab> Shaped: <iso> Register: brand | product Fidelity: <sketch|mid-fi|high-fi|production>
|
|
16
16
|
|
|
17
17
|
- **Building**: <one line — what + who it's for + the primary action>
|
|
18
|
-
- **
|
|
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>
|
|
19
21
|
- **States**: <the states this surface needs, comma-listed>
|
|
20
22
|
- **Interaction**: <inline / navigated / modal · feedback · entry→completion in a phrase>
|
|
23
|
+
- **Proof**: <states × viewports × input modes; target R-ids; zero material visual mismatches>
|
|
21
24
|
- **Confirm or override?** <the one or two things you still want the user to confirm>
|
|
22
25
|
```
|
|
23
26
|
|
|
@@ -27,7 +30,9 @@ Slug: <kebab> Shaped: <iso> Register: brand | product Fidelity: <sketch|mi
|
|
|
27
30
|
Slug: <kebab> Shaped: <iso> Register: brand | product
|
|
28
31
|
|
|
29
32
|
## 1. Summary
|
|
30
|
-
What this is, who it's for, what it must accomplish
|
|
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).
|
|
31
36
|
|
|
32
37
|
## 2. Primary action
|
|
33
38
|
The single most important thing the user does or understands here. Everything else is secondary.
|
|
@@ -36,7 +41,11 @@ The single most important thing the user does or understands here. Everything el
|
|
|
36
41
|
- Color strategy: Restrained | Committed | Multi-role | Saturated — why (from the scene, not the category).
|
|
37
42
|
- Calibration: density Airy | Balanced | Dense · motion Minimal | Standard | Expressive — from the scene (`../../devrites-frontend-craft/reference/quality-standards.md` — Calibration).
|
|
38
43
|
- Scene sentence: "<who uses it, where, under what light, in what mood>".
|
|
39
|
-
-
|
|
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>.
|
|
40
49
|
- Departure: default (preserve identity) | departing because <explicit signal>.
|
|
41
50
|
|
|
42
51
|
## 4. Scope *(task-scoped — not persisted to PRODUCT.md / DESIGN.md)*
|
|
@@ -64,7 +73,8 @@ every action; the flow from entry to completion.
|
|
|
64
73
|
## 8. Content & copy
|
|
65
74
|
Labels, empty/error messages, microcopy in the product's voice. Realistic dynamic ranges.
|
|
66
75
|
For image-led surfaces: required media roles + likely source (project asset / generated /
|
|
67
|
-
SVG-CSS / icon library / accepted omission)
|
|
76
|
+
SVG-CSS / icon library / accepted omission) and the shippable provenance/usage recorded in
|
|
77
|
+
`references.md`.
|
|
68
78
|
|
|
69
79
|
## 9. Responsive & a11y
|
|
70
80
|
Reflow 320→1440 (what stacks / collapses / scrolls); focus order, labels, contrast,
|
|
@@ -74,20 +84,25 @@ keyboard, target size. Floor: `../../devrites-frontend-craft/reference/quality-s
|
|
|
74
84
|
Which probe ran (figma / images / prototype / skipped — no tool), which direction won, what
|
|
75
85
|
changed in the brief because of it. Artifacts saved under `references/`.
|
|
76
86
|
|
|
77
|
-
## 11.
|
|
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
|
|
78
93
|
Genuinely unresolved only. If you'd write "Recommend: X", decide X instead.
|
|
79
94
|
|
|
80
95
|
## Build-time refinements *(appended by devrites-frontend-craft per slice)*
|
|
81
|
-
-
|
|
96
|
+
- SLICE-001: <decision made while building this surface + why>.
|
|
82
97
|
```
|
|
83
98
|
|
|
84
99
|
## How downstream phases use it
|
|
85
|
-
- `/rite-define` — UI slices map to the **Key states
|
|
86
|
-
slice names
|
|
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.
|
|
87
102
|
- `/rite-build` + `devrites-frontend-craft` — build **to** the brief; refine per slice;
|
|
88
103
|
append refinements above instead of re-deriving.
|
|
89
|
-
- `/rite-prove` + `browser-evidence.md` —
|
|
90
|
-
references.
|
|
104
|
+
- `/rite-prove` + `browser-evidence.md` — render the proof targets, compare against the
|
|
105
|
+
brief + target references, and close material deltas.
|
|
91
106
|
- `/rite-polish` — Phase 4 reads the brief so polish honors the agreed direction.
|
|
92
107
|
- `/rite-seal` + `devrites-frontend-reviewer` — check the UI matches the brief (states
|
|
93
108
|
covered, direction held, references matched).
|
|
@@ -6,8 +6,8 @@ DevRites-native answer to "build it according to the design (Figma, images)": sh
|
|
|
6
6
|
direction, get a reaction, then write the brief.
|
|
7
7
|
|
|
8
8
|
## When to run (all true)
|
|
9
|
-
- The work is **net-new** or directionally **ambiguous**. An existing surface
|
|
10
|
-
|
|
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
11
|
- Fidelity is **mid-fi or higher**. Sketch-only planning → skip.
|
|
12
12
|
- A probe tool is actually available (below). **Capability-gated** — never ask the user to
|
|
13
13
|
install APIs or tooling. If none is available, **announce the skip in one line** and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite
|
|
3
|
-
description: DevRites menu
|
|
3
|
+
description: User-invoked DevRites menu and router; no args renders the menu, a verb dispatches to the matching `rite-<verb>` skill.
|
|
4
4
|
argument-hint: "[verb [args...]]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -10,8 +10,11 @@ disable-model-invocation: true
|
|
|
10
10
|
|
|
11
11
|
You are the DevRites entry point. Two modes:
|
|
12
12
|
|
|
13
|
-
- **No args** → render the menu
|
|
14
|
-
- **Verb arg** → dispatch to the matching `rite-<verb>` skill (
|
|
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).
|
|
15
18
|
|
|
16
19
|
## Dispatch
|
|
17
20
|
|
|
@@ -24,40 +27,56 @@ F=.claude/skills/rite-$V/SKILL.md
|
|
|
24
27
|
# Then Read "$F" and follow its workflow with $ARGS as that skill's $ARGUMENTS.
|
|
25
28
|
```
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
| `
|
|
42
|
-
| `
|
|
43
|
-
| `
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
|
|
54
|
-
|
|
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.
|
|
55
67
|
|
|
56
68
|
`use <slug>` is handled **inline** — there is no `rite-use` skill. Confirm
|
|
57
69
|
`.devrites/work/<slug>/` exists, then re-point `.devrites/ACTIVE` to `<slug>` and report
|
|
58
70
|
the now-active feature. It is cheap context-switching only — no re-spec, no phase run. If
|
|
59
71
|
the workspace is missing, list the slugs under `.devrites/work/` and stop.
|
|
60
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
|
+
|
|
61
80
|
Specialist triggers (model-invoked inside the above):
|
|
62
81
|
`devrites-frontend-craft` (UI) · `devrites-browser-proof` (UI verify) ·
|
|
63
82
|
`devrites-source-driven` (uncertain library) · `devrites-doubt` (non-trivial
|
|
@@ -68,20 +87,20 @@ reference (see [`devrites-lib/reference/parallel-dispatch.md`](../devrites-lib/r
|
|
|
68
87
|
|
|
69
88
|
## What to output
|
|
70
89
|
|
|
71
|
-
|
|
72
|
-
|
|
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.
|
|
73
96
|
3. **Unrecognized first token** → tell the user the known verbs and stop. Don't guess.
|
|
74
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.
|
|
75
98
|
|
|
76
|
-
## Gotchas
|
|
77
|
-
- No args → render the menu and stop. Don't execute a phase, read `state.md`, or summarize status — that's `/rite-status`.
|
|
78
|
-
- Unrecognized first token → list the known verbs and stop; never guess which phase the user meant.
|
|
79
|
-
- Pure pass-through: dispatch to the `rite-<verb>` skill and let it own the output; don't do the phase's work in the router.
|
|
80
|
-
|
|
81
99
|
## Menu
|
|
82
100
|
|
|
83
101
|
```
|
|
84
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>>
|
|
85
104
|
menu form direct shortcut
|
|
86
105
|
SPEC /rite spec ≡ /rite-spec investigate deeply → write spec.md
|
|
87
106
|
ADOPT /rite adopt ≡ /rite-adopt onboard existing code → reverse-derive spec.md + seed conventions
|
|
@@ -96,13 +115,19 @@ REVIEW /rite review ≡ /rite-review feature-scoped m
|
|
|
96
115
|
SEAL /rite seal ≡ /rite-seal final GO / NO-GO decision (no git)
|
|
97
116
|
SHIP /rite ship ≡ /rite-ship type-GO + commit/push/tag, then archive + clear ACTIVE
|
|
98
117
|
STATUS /rite status ≡ /rite-status active feature, next action, evidence, risks
|
|
99
|
-
DOCTOR /rite doctor
|
|
118
|
+
DOCTOR /rite doctor ... ≡ /rite-doctor health check; --reindex refreshes structural indexes
|
|
100
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
|
|
101
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)
|
|
102
127
|
RESUME /rite resolve ... ≡ /rite-resolve answer a HITL checkpoint
|
|
103
128
|
AUTO /rite autocomplete ... ≡ /rite-autocomplete run the whole lifecycle unattended (--ship to push)
|
|
104
129
|
QUICK /rite quick <change> ≡ /rite-quick express lane — one small reversible change (escalates if it grows)
|
|
105
|
-
UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or direct
|
|
130
|
+
UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or direct shortcuts)
|
|
106
131
|
```
|
|
107
132
|
|
|
108
133
|
> **Small one-off change?** A typo, copy tweak, config bump, or one-function fix → **`/rite-quick`**
|
|
@@ -112,6 +137,6 @@ UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or
|
|
|
112
137
|
|
|
113
138
|
## Core operating rules (every DevRites skill enforces)
|
|
114
139
|
|
|
115
|
-
The operating rules live in `.claude/
|
|
140
|
+
The operating rules live in `.claude/skills/devrites-lib/reference/standards/core.md`; DevRites skills Read it as
|
|
116
141
|
their first step, and the other rule files load on demand. See
|
|
117
|
-
[`.claude/
|
|
142
|
+
[`.claude/skills/devrites-lib/reference/standards/README.md`](../devrites-lib/reference/standards/README.md) for the full index.
|
|
@@ -14,13 +14,14 @@ what each command does or how phases connect.
|
|
|
14
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
15
|
| Re-plan | `/rite-plan` | The active plan is too big, wrong, stale, ambiguous, or blocked. |
|
|
16
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`. |
|
|
17
18
|
| Prove | `/rite-prove` | Prove the current scope: tests, build, runtime, browser evidence. |
|
|
18
19
|
| Polish | `/rite-polish` | Code polish always; UI normalize + ship-quality polish if UI is in scope. Modes: `bolder/quieter/distill/harden/normalize-only`. |
|
|
19
20
|
| Review | `/rite-review` | Feature-scoped review before sealing. |
|
|
20
21
|
| Seal | `/rite-seal` | Final GO / NO-GO decision (no git). |
|
|
21
22
|
| Ship | `/rite-ship` | Type-GO → commit/push/tag, then archive the task + clear ACTIVE. |
|
|
22
23
|
| Status | `/rite-status` | See where the active feature stands. |
|
|
23
|
-
| Doctor | `/rite-doctor` | Health check — install integrity, stale ACTIVE, orphaned gates, hook wiring. |
|
|
24
|
+
| Doctor | `/rite-doctor` | Health check — install integrity, stale ACTIVE, orphaned gates, hook wiring, merge/rebase state. |
|
|
24
25
|
| Learn | `/rite-learn` | Review the captured learning ledger → promote recurring lessons to project rules / principles. |
|
|
25
26
|
|
|
26
27
|
## Typical orderings
|
|
@@ -31,6 +32,8 @@ what each command does or how phases connect.
|
|
|
31
32
|
`/rite-polish` (always: code + UI if UI) → `/rite-review` → `/rite-seal` → `/rite-ship`.
|
|
32
33
|
- **Existing codebase**: `/rite-adopt` (onboard → spec.md + conventions) → continue at `/rite-define`.
|
|
33
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`.
|
|
34
37
|
|
|
35
38
|
## Rules this menu obeys
|
|
36
39
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-adopt
|
|
3
|
-
description:
|
|
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
4
|
argument-hint: "[path or area to adopt] [+ what you want to build next]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -20,9 +20,9 @@ lifecycle (`/rite-temper` → `/rite-define` → `/rite-build` …) takes over.
|
|
|
20
20
|
> unfamiliar code without creating a workspace or ledger. `/rite-adopt` is the heavier move:
|
|
21
21
|
> it *commits the project to the lifecycle*. Pick zoom-out to look, adopt to begin.
|
|
22
22
|
|
|
23
|
-
## Rules consulted (read on demand from `.claude/
|
|
24
|
-
|
|
25
|
-
|
|
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
26
|
upholds invariants worth proposing as project principles (step 4a).
|
|
27
27
|
|
|
28
28
|
## Operating rules (DevRites core)
|
|
@@ -31,13 +31,8 @@ upholds invariants worth proposing as project principles (step 4a).
|
|
|
31
31
|
objective is unclear.
|
|
32
32
|
|
|
33
33
|
## Workflow
|
|
34
|
-
0. **Read `.claude/
|
|
35
|
-
|
|
36
|
-
P=.claude/skills/devrites-lib/scripts/preamble.sh
|
|
37
|
-
[ -f "$P" ] || P="${CLAUDE_SKILL_DIR:-}/../devrites-lib/scripts/preamble.sh"
|
|
38
|
-
[ -f "$P" ] || P=pack/.claude/skills/devrites-lib/scripts/preamble.sh
|
|
39
|
-
[ -f "$P" ] && bash "$P" || echo "(orientation preamble unavailable on this install — read state.md directly to orient)"
|
|
40
|
-
```
|
|
34
|
+
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
35
|
+
`devrites-engine preamble` for deterministic workspace orientation.
|
|
41
36
|
1. **Scope the adoption** (`$ARGUMENTS`). Which repo or sub-area is being onboarded, and —
|
|
42
37
|
if stated — what the user wants to build *next* on top of it. If the next-build objective
|
|
43
38
|
is missing, ask once (it shapes the spec's acceptance); if the area is ambiguous, confirm
|
|
@@ -45,7 +40,7 @@ upholds invariants worth proposing as project principles (step 4a).
|
|
|
45
40
|
2. **Reverse-investigate the existing code** — the durable shape of the project. Use a
|
|
46
41
|
code-intelligence index if available — codebase-memory-mcp first (its `get_architecture`
|
|
47
42
|
gives a fast overview), cross-checked with codegraph + graphify, else standard methods
|
|
48
|
-
(LSP / Read/Grep/Glob); see `.claude/
|
|
43
|
+
(LSP / Read/Grep/Glob); see `.claude/skills/devrites-lib/reference/standards/tooling.md` — for
|
|
49
44
|
structure, callers, and impact. Capture, per [adoption](reference/adoption.md): **current
|
|
50
45
|
behavior**, **architecture + placement** (layers, seams, where each kind of thing lives),
|
|
51
46
|
the **commands** (test / build / typecheck / lint), and the **idioms** (naming, layering,
|
|
@@ -57,11 +52,23 @@ upholds invariants worth proposing as project principles (step 4a).
|
|
|
57
52
|
**current behavior as the baseline** and the **next objective** (what adoption is for) with
|
|
58
53
|
measurable acceptance. Also write `decisions.md`, `assumptions.md`, `questions.md`, and
|
|
59
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).
|
|
60
66
|
4. **Seed the conventions ledger** from what the investigation *observed* —
|
|
61
67
|
[adoption § seeding](reference/adoption.md). This is the deliberate bootstrap exception to
|
|
62
68
|
evidence-gated promotion: the seeds start at the base band and are provenance-tagged as
|
|
63
69
|
onboarding observations, not sealed-slice proofs, so real slices later corroborate or
|
|
64
70
|
(fresh-wins) contradict them.
|
|
71
|
+
**Completion:** every seed names observed evidence, provenance, and the base band.
|
|
65
72
|
4a. **Propose candidate principles** (human-ratified; optional). Where the investigation found an
|
|
66
73
|
invariant the code *consistently and deliberately* upholds — money always in integer cents, PII
|
|
67
74
|
always redacted from logs, every v1 endpoint preserved — surface it as a **candidate
|
|
@@ -69,12 +76,13 @@ upholds invariants worth proposing as project principles (step 4a).
|
|
|
69
76
|
**ratified by the human, never auto-seeded** the way conventions are: present the candidates via
|
|
70
77
|
`AskUserQuestion` with the evidence (where the code upholds it), and write the ones the human
|
|
71
78
|
ratifies to `.devrites/principles.md` with a dated Governance entry
|
|
72
|
-
([`principles.md`](
|
|
79
|
+
([`principles.md`](../devrites-lib/reference/standards/principles.md)). Propose, don't impose — an unratified candidate
|
|
73
80
|
stays a convention, not a gate. Skip cleanly when nothing rises to an invariant (common — a
|
|
74
81
|
fresh adopt may declare zero principles, and that's valid).
|
|
75
82
|
5. **Hand off.** The project is now in the lifecycle with a spec and a head-start ledger.
|
|
76
83
|
Point the user at `/rite-temper` (big/risky) or `/rite-define` (straightforward) — do not
|
|
77
84
|
plan or build here.
|
|
85
|
+
**Completion:** one next rite is reported and no plan or application code was written.
|
|
78
86
|
|
|
79
87
|
> **Mid-flight discipline.** Don't invent conventions the code doesn't actually follow, don't
|
|
80
88
|
> seed an idiom you only assumed, and don't expand scope into a rewrite — adoption documents
|
|
@@ -82,14 +90,15 @@ upholds invariants worth proposing as project principles (step 4a).
|
|
|
82
90
|
|
|
83
91
|
## Output
|
|
84
92
|
|
|
85
|
-
**
|
|
86
|
-
|
|
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:
|
|
87
96
|
```
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
↻ Hygiene: /clear before the next phase
|
|
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
|
|
95
104
|
```
|
|
@@ -10,8 +10,8 @@ Document the **durable shape** of the project, not a line-by-line tour:
|
|
|
10
10
|
- **Current behavior** — what the adopted area does today, from the user's perspective.
|
|
11
11
|
- **Architecture + placement** — the layers and seams; where each kind of thing lives
|
|
12
12
|
(where endpoints / components / models / migrations / tests go). Prefer a code-intelligence
|
|
13
|
-
index if available
|
|
14
|
-
|
|
13
|
+
index if available (see `../../devrites-lib/reference/standards/tooling.md`) for
|
|
14
|
+
structure, callers, and impact.
|
|
15
15
|
- **Commands** — the real test / build / typecheck / lint commands (run or read them; don't
|
|
16
16
|
guess). Verify uncertain framework facts at the source.
|
|
17
17
|
- **Idioms** — naming + casing, layering, the error model, the result/exception style, the
|
|
@@ -35,24 +35,21 @@ existing code** so the first slice isn't blind. Keep the seeds honest:
|
|
|
35
35
|
(raising the band) or, per fresh-observation-wins, contradict it.
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
C=.claude/skills/devrites-lib/scripts/conventions.py
|
|
39
|
-
[ -f "$C" ] || C="${CLAUDE_SKILL_DIR:-}/../devrites-lib/scripts/conventions.py"
|
|
40
|
-
[ -f "$C" ] || C=pack/.claude/skills/devrites-lib/scripts/conventions.py
|
|
41
38
|
SLUG="$(cat .devrites/ACTIVE 2>/dev/null | tr -d '[:space:]')"
|
|
42
|
-
if command -v
|
|
43
|
-
|
|
39
|
+
if command -v devrites-engine >/dev/null 2>&1; then
|
|
40
|
+
devrites-engine conventions promote --slug "${SLUG}-adopt" \
|
|
44
41
|
--key test-runner --kind test \
|
|
45
42
|
--statement "tests run with <runner>, <file layout>" \
|
|
46
43
|
--evidence "observed during /rite-adopt onboarding (not yet slice-proven)"
|
|
47
44
|
# …one promote per durable convention the investigation actually observed
|
|
48
45
|
# (test-runner, build-cmd, error-model, http-client, endpoint-placement, …).
|
|
49
46
|
else
|
|
50
|
-
echo "(conventions ledger unavailable —
|
|
47
|
+
echo "(conventions ledger unavailable — devrites-engine missing; skipping seed)"
|
|
51
48
|
fi
|
|
52
49
|
```
|
|
53
50
|
|
|
54
51
|
The `-adopt` suffix on the slug marks the provenance as onboarding. Because the ledger is
|
|
55
52
|
read at orient as a *prior* and the live code always overrides it
|
|
56
|
-
([`.claude/
|
|
53
|
+
([`.claude/skills/devrites-lib/reference/standards/security.md`](../../devrites-lib/reference/standards/security.md) § Prompt-injection resistance),
|
|
57
54
|
an over-eager seed is self-correcting — but seed conservatively anyway; a wrong seed costs a
|
|
58
55
|
needless contradiction later.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# /rite-adopt — anti-patterns
|
|
2
2
|
|
|
3
|
-
Start with the universal table in [
|
|
3
|
+
Start with the universal table in [`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
4
4
|
Below are the rationalizations specific to onboarding an existing codebase.
|
|
5
5
|
|
|
6
6
|
## Adoption-specific rationalizations
|