@joshuafolkken/kit 1.1050.0 → 1.1128.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/.claude/settings.json +9 -8
- package/.claude/skills/epic-commands/SKILL.md +5 -7
- package/.claude/skills/workflow-commands/SKILL.md +20 -12
- package/.claude/skills/workflow-commands/background-commands.md +36 -84
- package/.claude/skills/workflow-commands/backlogrun-child.md +1 -1
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +8 -6
- package/.claude/skills/workflow-commands/backlogrun-progress.md +30 -33
- package/.claude/skills/workflow-commands/backlogrun-steps.md +12 -12
- package/.claude/skills/workflow-commands/backlogrun.md +2 -2
- package/.claude/skills/workflow-commands/chain-rule.md +4 -2
- package/.claude/skills/workflow-commands/delegation.md +3 -3
- package/.claude/skills/workflow-commands/followup-reference.md +1 -1
- package/.claude/skills/workflow-commands/followup.md +7 -3
- package/.claude/skills/workflow-commands/fullrun-steps.md +3 -2
- package/.claude/skills/workflow-commands/fullrun.md +8 -6
- package/.claude/skills/workflow-commands/halfrun.md +19 -21
- package/.claude/skills/workflow-commands/issue-comments.md +1 -1
- package/.claude/skills/workflow-commands/issue-fold-existing.md +10 -10
- package/.claude/skills/workflow-commands/issue-scout.md +1 -1
- package/.claude/skills/workflow-commands/kickoff.md +9 -4
- package/.claude/skills/workflow-commands/latest-gate.md +8 -16
- package/.claude/skills/workflow-commands/needs-human-review.md +1 -1
- package/.claude/skills/workflow-commands/observation-filing.md +3 -3
- package/.claude/skills/workflow-commands/pre-gate-cut.md +4 -8
- package/.claude/skills/workflow-commands/prerequisite.md +1 -1
- package/.claude/skills/workflow-commands/prrun.md +36 -0
- package/.claude/skills/workflow-commands/retrospective.md +1 -1
- package/.claude/skills/workflow-commands/split-assessment.md +4 -18
- package/.claude/skills/workflow-commands/working-tree-hold.md +22 -2
- package/.codex/hooks.json +16 -20
- package/.github/actions/setup-node/action.yml +33 -0
- package/.github/actions/setup-pnpm/action.yml +93 -0
- package/.github/dependabot.yml +5 -1
- package/.github/workflows/auto-tag.yml +2 -3
- package/.github/workflows/ci.yml +31 -134
- package/.github/workflows/dependabot-auto-merge.yml +1 -0
- package/.github/workflows/pr-classification.yml +6 -44
- package/.github/workflows/production.yml +1 -0
- package/.github/workflows/publish.yml +43 -47
- package/.github/workflows/sonar-qube.yml +41 -4
- package/.pnpmfile.mjs +29 -0
- package/AGENTS.md +5 -2
- package/CLAUDE.md +33 -27
- package/GEMINI.md +5 -2
- package/README.md +66 -20
- package/SECURITY.md +37 -6
- package/cspell/index.yaml +6 -1
- package/dist/CLAUDE.basic.md +6 -6
- package/dist/CLAUDE.md +33 -27
- package/dist/CLAUDE.static.md +6 -6
- package/dist/config-merge/index.js +48 -12
- package/dist/hooks/batch-guard.js +4 -4
- package/dist/hooks/{chunk-7VPDUBRN.js → chunk-4JZDP5X5.js} +152 -155
- package/dist/hooks/{chunk-HJIISEAC.js → chunk-5SD2YM7Z.js} +5 -13
- package/dist/hooks/{chunk-NAS4C7GP.js → chunk-77J7IEQM.js} +2 -2
- package/dist/hooks/{chunk-DMQN45FN.js → chunk-7HVB7SZG.js} +3 -3
- package/dist/hooks/{chunk-RLDX5SOC.js → chunk-AIOIOMPX.js} +4413 -1970
- package/dist/hooks/{chunk-5BK3K7V4.js → chunk-M7QKEKWO.js} +873 -2049
- package/dist/hooks/{chunk-WQ4OSBSS.js → chunk-MKVGBQPA.js} +2 -2
- package/dist/hooks/{chunk-EJDX2TOB.js → chunk-NXYMNPUQ.js} +7 -88
- package/dist/hooks/{chunk-NJQOBE6L.js → chunk-QVLT52OV.js} +2 -7
- package/dist/hooks/{chunk-GQ7KP45M.js → chunk-XYUIQOW3.js} +2 -2
- package/dist/hooks/codex-hook-adapter.js +12 -48
- package/dist/hooks/duplicate-read-guard.js +5 -5
- package/dist/hooks/format-edited.js +2 -2
- package/dist/hooks/inputs.json +280 -0
- package/dist/hooks/investigation-guard.js +5 -5
- package/dist/hooks/pretool-guard.js +9 -9
- package/dist/hooks/session-lang.js +0 -1
- package/dist/hooks/stop-guard.js +192 -333
- package/dist/josh.js +240 -148
- package/dist/managed-marker/index.js +2 -1
- package/dist/version/index.js +70 -78
- package/eslint/rules/promise.js +5 -0
- package/eslint/rules/unicorn.js +3 -2
- package/package.json +26 -5
- package/pnpm-workspace.yaml +5 -7
- package/prompts/collaboration-workflow/glossary.md +17 -0
- package/prompts/collaboration-workflow/issue-citation.md +5 -5
- package/prompts/collaboration-workflow/issue-template.md +1 -1
- package/prompts/collaboration-workflow/operating-rules.md +5 -5
- package/prompts/collaboration-workflow/overview.md +13 -1
- package/prompts/collaboration-workflow/principles.md +9 -0
- package/prompts/collaboration-workflow/report-format.md +1 -1
- package/prompts/collaboration-workflow/residency.md +3 -3
- package/prompts/collaboration-workflow/rule-delivery.md +1 -1
- package/prompts/collaboration-workflow/turn-batching.md +3 -3
- package/prompts/collaboration-workflow/upstream-interrupt.md +1 -1
- package/prompts/collaboration-workflow/wip-cap.md +25 -22
- package/prompts/collaboration-workflow.md +6 -8
- package/prompts/review-rubric.md +1 -1
- package/prompts/review.md +3 -3
- package/prompts/sonar-hotspot-handling.md +11 -3
- package/prompts/testing-guide.md +3 -3
- package/scripts/adopt/adopt-toolkits.ts +0 -2
- package/scripts/adopt/adopt.ts +0 -2
- package/scripts/agent/agent-argv.ts +0 -2
- package/scripts/agent/agent-diagnostics.ts +1 -1
- package/scripts/agent/agent-role-profile.ts +0 -7
- package/scripts/agent/claude-agent-argv.ts +0 -2
- package/scripts/agent/codex-agent-argv.ts +1 -1
- package/scripts/agent/codex-hooks.ts +92 -0
- package/scripts/agent/interactive-ask.ts +1 -1
- package/scripts/auto-ok/auto-ok-cli.ts +6 -16
- package/scripts/backlog/backlog-arrival.ts +30 -10
- package/scripts/backlog/backlog-budget-cli.ts +15 -16
- package/scripts/backlog/backlog-budget.ts +0 -2
- package/scripts/backlog/backlog-defect-priority.ts +2 -2
- package/scripts/backlog/backlog-drive-cli.ts +10 -8
- package/scripts/backlog/backlog-drive-named-offer.ts +16 -3
- package/scripts/backlog/backlog-drive-named.ts +2 -1
- package/scripts/backlog/backlog-drive.ts +76 -16
- package/scripts/backlog/backlog-named.ts +0 -3
- package/scripts/backlog/backlog-next.ts +9 -15
- package/scripts/backlog/backlog-offer-cli.ts +6 -19
- package/scripts/backlog/backlog-plan-cli.ts +1 -7
- package/scripts/backlog/backlog-plan.ts +30 -19
- package/scripts/backlog/backlog-pool.ts +3 -6
- package/scripts/backlog/backlog-rank.ts +2 -2
- package/scripts/backlog/backlog-ready.ts +39 -10
- package/scripts/backlog/backlog-scope.ts +1 -3
- package/scripts/backlog/backlog-stalled-detect.ts +2 -2
- package/scripts/backlog/backlog-stalled.ts +0 -1
- package/scripts/backlog/backlog-waves.ts +5 -2
- package/scripts/behavior/behavior-cli.ts +1 -1
- package/scripts/build/build-codex-hooks.ts +26 -0
- package/scripts/build/build-hooks.ts +85 -9
- package/scripts/build/hook-bundle-stamp.ts +111 -0
- package/scripts/cases/cases-cli.ts +1 -1
- package/scripts/cases/cases-logic.ts +1 -1
- package/scripts/ci/composite-actions.ts +30 -0
- package/scripts/ci/pr-classification.ts +3 -3
- package/scripts/claude/workflow-destination.ts +10 -1
- package/scripts/clone/clone-fingerprint.ts +0 -1
- package/scripts/clone/clone-scan-cli.ts +1 -1
- package/scripts/clone/clone-scan.ts +1 -1
- package/scripts/config-merge/json-format.ts +0 -1
- package/scripts/config-merge/parse-jsonc.ts +33 -3
- package/scripts/config-merge/patch-json-key.ts +13 -6
- package/scripts/config-merge/patch-yaml-list.ts +1 -1
- package/scripts/cost-runtime/codex-usage.ts +2 -9
- package/scripts/cost-runtime/cost-attribute.ts +0 -1
- package/scripts/cost-runtime/cost-cli.ts +3 -10
- package/scripts/cost-runtime/cost-corpus.ts +0 -2
- package/scripts/cost-runtime/cost-format.ts +0 -3
- package/scripts/cost-runtime/cost-pricing.ts +0 -1
- package/scripts/cost-runtime/cost-tokens.ts +0 -1
- package/scripts/delegation/delegation-cli.ts +1 -1
- package/scripts/delegation/delegation-policy.ts +0 -1
- package/scripts/delegation/duplicate-read-guard.ts +0 -8
- package/scripts/delegation/fanout-cli.ts +1 -1
- package/scripts/delegation/fanout.ts +0 -2
- package/scripts/delegation/investigation-reads.ts +1 -164
- package/scripts/discovery/repo-map-logic.ts +0 -1
- package/scripts/discovery/repo-party-cli.ts +1 -1
- package/scripts/doctor/doctor-consumer.ts +6 -10
- package/scripts/doctor/doctor-io.ts +9 -13
- package/scripts/doctor/doctor-logic.ts +0 -4
- package/scripts/doctor/doctor.ts +14 -9
- package/scripts/document/backlogrun-parent-read-set.ts +12 -1
- package/scripts/document/document-byte-budget.ts +5 -5
- package/scripts/document/document-byte-check.ts +0 -1
- package/scripts/document/document-read-cli.ts +0 -2
- package/scripts/document/document-section-cli.ts +1 -1
- package/scripts/document/document-section.ts +0 -3
- package/scripts/document/edit-files-cli.ts +0 -1
- package/scripts/document/entry-read-budget.ts +21 -7
- package/scripts/document/entry-read-set.ts +32 -8
- package/scripts/document/lane-child-read-set.ts +8 -6
- package/scripts/document/read-files-cli.ts +0 -4
- package/scripts/document/read-set-cli.ts +0 -2
- package/scripts/document/read-set-point-of-use.ts +9 -3
- package/scripts/document/read-set-pricing.ts +0 -1
- package/scripts/document/read-set-trim.ts +4 -2
- package/scripts/epic/epic-add.ts +1 -1
- package/scripts/epic/epic-audit-cli.ts +1 -4
- package/scripts/epic/epic-audit-orphans.ts +1 -3
- package/scripts/epic/epic-audit-rationale.ts +0 -1
- package/scripts/epic/epic-audit-report.ts +0 -2
- package/scripts/epic/epic-audit.ts +8 -22
- package/scripts/epic/epic-bundle-cli.ts +1 -1
- package/scripts/epic/epic-bundle-evidence.ts +0 -1
- package/scripts/epic/epic-bundle-referenced.ts +1 -5
- package/scripts/epic/epic-bundle.ts +0 -4
- package/scripts/epic/epic-busy.ts +4 -5
- package/scripts/epic/epic-candidate-confirm.ts +0 -5
- package/scripts/epic/epic-classify.ts +2 -2
- package/scripts/epic/epic-cli-argv.ts +0 -1
- package/scripts/epic/epic-close-comment.ts +1 -1
- package/scripts/epic/epic-close.ts +5 -2
- package/scripts/epic/epic-cross-repo.ts +2 -4
- package/scripts/epic/epic-decision.ts +0 -1
- package/scripts/epic/epic-fetch.ts +2 -2
- package/scripts/epic/epic-index.ts +2 -3
- package/scripts/epic/epic-issue.ts +1 -15
- package/scripts/epic/epic-lane-offer.ts +9 -8
- package/scripts/epic/epic-nested.ts +1 -1
- package/scripts/epic/epic-next-read.ts +1 -3
- package/scripts/epic/epic-next-views.ts +0 -1
- package/scripts/epic/epic-next.ts +1 -10
- package/scripts/epic/epic-parse.ts +0 -1
- package/scripts/epic/epic-promote.ts +0 -9
- package/scripts/epic/epic-rank.ts +2 -2
- package/scripts/epic/epic-read.ts +1 -2
- package/scripts/epic/epic-reconcile.ts +1 -1
- package/scripts/epic/epic-reference.ts +1 -13
- package/scripts/epic/epic-relation-recheck.ts +1 -1
- package/scripts/epic/epic-relations.ts +1 -1
- package/scripts/epic/epic-remove.ts +1 -1
- package/scripts/epic/epic-report.ts +0 -1
- package/scripts/epic/epic-run.ts +2 -3
- package/scripts/epic/epic-shape.ts +1 -1
- package/scripts/epic/epic-solo-stale.ts +107 -0
- package/scripts/epic/epic-solo.ts +3 -2
- package/scripts/epic/epic-triage.ts +1 -1
- package/scripts/epic/epic-validate.ts +1 -1
- package/scripts/epic/epic.ts +1 -1
- package/scripts/exports/unused-members-cli.ts +53 -0
- package/scripts/{git → followup}/followup-issue-number.ts +1 -6
- package/scripts/{git → followup}/git-followup-cleanup.ts +2 -1
- package/scripts/{git → followup}/git-followup-finish.ts +1 -3
- package/scripts/{git → followup}/git-followup-flush.ts +2 -2
- package/scripts/{git → followup}/git-followup-issue-close.ts +2 -2
- package/scripts/{git → followup}/git-followup-label.ts +4 -4
- package/scripts/followup/git-followup-merged.ts +112 -0
- package/scripts/{git → followup}/git-followup-pending.ts +1 -1
- package/scripts/{git → followup}/git-followup-workflow.ts +19 -11
- package/scripts/{git → followup}/git-pr-followup-wrapup.ts +9 -3
- package/scripts/{git → followup}/git-pr-followup.ts +53 -16
- package/scripts/gate/core-budget.ts +3 -9
- package/scripts/gate/gate-plan.ts +7 -4
- package/scripts/gate/gate-report.ts +0 -6
- package/scripts/gate/gate-tree.ts +1 -1
- package/scripts/gate/pre-commit-type-check.ts +0 -6
- package/scripts/gate/project-checks.ts +7 -8
- package/scripts/gate/scoped-green.ts +0 -1
- package/scripts/gate/type-check-step.ts +1 -1
- package/scripts/gate/verification-gate.ts +0 -2
- package/scripts/gh/fix-gh-packages.ts +15 -12
- package/scripts/gh/gh-spawn.ts +2 -2
- package/scripts/{git → gh}/git-ai-review-scan.ts +1 -5
- package/scripts/{git → gh}/git-gh-check.ts +2 -1
- package/scripts/{git → gh}/git-gh-exec.ts +1 -1
- package/scripts/{git → gh}/git-gh-failure.ts +1 -1
- package/scripts/{git → gh}/git-gh-helpers.ts +0 -1
- package/scripts/{git → gh}/git-gh-issue-list.ts +13 -10
- package/scripts/{git → gh}/git-gh-issue-read.ts +1 -1
- package/scripts/{git → gh}/git-gh-issue-rest.ts +6 -3
- package/scripts/{git → gh}/git-gh-issue-write.ts +4 -1
- package/scripts/{git → gh}/git-gh-pr-auto-merge.ts +4 -1
- package/scripts/{git → gh}/git-gh-pr-read.ts +24 -0
- package/scripts/{git → gh}/git-gh-pr-rest.ts +5 -2
- package/scripts/{git → gh}/git-gh-pr-review.ts +2 -2
- package/scripts/{git → gh}/git-gh-pr-rollup.ts +1 -3
- package/scripts/{git → gh}/git-gh-pr.ts +3 -1
- package/scripts/{git → gh}/git-pr-ai-review.ts +2 -5
- package/scripts/{git → gh}/git-pr-checks-eval.ts +0 -10
- package/scripts/{git → gh}/git-pr-checks-parse.ts +4 -20
- package/scripts/{git → gh}/git-pr-checks.ts +2 -1
- package/scripts/{git → gh}/git-pr-coderabbit.ts +2 -5
- package/scripts/{git → gh}/git-pr-confirmation.ts +1 -3
- package/scripts/{git → gh}/git-pr-managed-config.ts +2 -3
- package/scripts/{git → gh}/git-pr.ts +3 -3
- package/scripts/git/changed-file-scope.ts +0 -1
- package/scripts/git/git-branch.ts +3 -6
- package/scripts/git/git-command.ts +6 -1
- package/scripts/git/git-commit.ts +1 -1
- package/scripts/git/git-common-directory.ts +80 -24
- package/scripts/git/git-error.ts +66 -9
- package/scripts/git/git-issue.ts +1 -1
- package/scripts/git/git-preflight.ts +2 -2
- package/scripts/git/git-prompt.ts +6 -31
- package/scripts/git/git-push.ts +1 -1
- package/scripts/git/git-spawn-sync.ts +65 -0
- package/scripts/git/git-spawn.ts +5 -4
- package/scripts/git/git-staging.ts +1 -0
- package/scripts/git/git-status.ts +1 -1
- package/scripts/git/git-workflow.ts +1 -1
- package/scripts/git/gone-branch.ts +1 -0
- package/scripts/git/listing-cutoff.ts +1 -1
- package/scripts/git/main-merge.ts +1 -1
- package/scripts/git/main-sync.ts +19 -1
- package/scripts/git/parse-json-array.ts +0 -3
- package/scripts/git/repository-lock.ts +16 -16
- package/scripts/git/{git-stash.ts → stash/git-stash.ts} +1 -1
- package/scripts/git/{stash-pop-args.ts → stash/stash-pop-args.ts} +2 -7
- package/scripts/git/{stash-pop-cli.ts → stash/stash-pop-cli.ts} +0 -1
- package/scripts/git/{stash-sweep-lock.ts → stash/stash-sweep-lock.ts} +3 -3
- package/scripts/hooks/codex-hook-adapter.ts +0 -1
- package/scripts/hooks/edited-cspell.ts +1 -1
- package/scripts/hooks/format-edited-file.ts +2 -0
- package/scripts/hooks/pre-push-unit.ts +0 -4
- package/scripts/hooks/pretool-guard.ts +22 -4
- package/scripts/hooks/reserved-run.ts +1 -1
- package/scripts/hooks/step-zero-notice.ts +76 -0
- package/scripts/hooks/stop-guard.ts +47 -21
- package/scripts/init/claude-plugin-config.ts +4 -5
- package/scripts/init/hook-command-rewrite.ts +16 -8
- package/scripts/init/hook-launch.ts +41 -15
- package/scripts/init/init-basic.ts +2 -5
- package/scripts/init/init-file-action.ts +54 -0
- package/scripts/init/init-logic-migrate.ts +35 -17
- package/scripts/init/init-logic-secretlint.ts +1 -1
- package/scripts/init/init-logic.ts +10 -19
- package/scripts/init/init.ts +11 -71
- package/scripts/init/kit-written-paths.ts +2 -0
- package/scripts/init/project-profile.ts +9 -17
- package/scripts/init/start-exec.ts +1 -1
- package/scripts/init/start-setup-pr.ts +6 -6
- package/scripts/init/start-steps.ts +3 -1
- package/scripts/issue/behavior-change-lint.ts +0 -1
- package/scripts/issue/defect-rate-cli.ts +64 -23
- package/scripts/issue/defect-rate.ts +1 -2
- package/scripts/{git → issue}/git-next-issues.ts +3 -3
- package/scripts/issue/issue-backlinks-cli.ts +1 -5
- package/scripts/issue/issue-backlinks.ts +7 -14
- package/scripts/issue/issue-cite-cli.ts +2 -6
- package/scripts/issue/issue-cite.ts +12 -8
- package/scripts/issue/issue-classification.ts +1 -9
- package/scripts/issue/issue-closing-pr.ts +4 -4
- package/scripts/issue/issue-comment-cli.ts +2 -2
- package/scripts/issue/issue-file-cli.ts +5 -5
- package/scripts/issue/issue-file.ts +7 -14
- package/scripts/issue/issue-fold-cli.ts +1 -1
- package/scripts/issue/issue-fold-existing-cli.ts +1 -1
- package/scripts/{git → issue}/issue-labels.ts +8 -0
- package/scripts/issue/issue-lint-cli.ts +1 -1
- package/scripts/issue/issue-merged.ts +2 -2
- package/scripts/{git → issue}/issue-rank.ts +1 -1
- package/scripts/issue/issue-read-cli.ts +8 -47
- package/scripts/issue/issue-read.ts +0 -2
- package/scripts/issue/issue-report-failures.ts +80 -0
- package/scripts/issue/issue-scout-cli.ts +1 -7
- package/scripts/issue/issue-scout-closed.ts +2 -2
- package/scripts/issue/issue-scout.ts +0 -2
- package/scripts/issue/issue-state-cli.ts +5 -46
- package/scripts/issue/issue-state.ts +1 -5
- package/scripts/issue/markdown-section.ts +21 -6
- package/scripts/issue/measure-rerun-cli.ts +74 -15
- package/scripts/issue/reproduction-measure.ts +1 -1
- package/scripts/josh/cli-body.ts +1 -1
- package/scripts/josh/file-map-stamp.ts +0 -3
- package/scripts/josh/josh-command-map.ts +2 -0
- package/scripts/josh/josh-commands-ai.ts +9 -102
- package/scripts/josh/josh-commands-backlog.ts +5 -1
- package/scripts/josh/josh-commands-development.ts +8 -1
- package/scripts/josh/josh-commands-issue.ts +2 -2
- package/scripts/josh/josh-commands-maintenance.ts +7 -0
- package/scripts/josh/josh-commands-project.ts +7 -1
- package/scripts/josh/josh-commands-run.ts +114 -0
- package/scripts/josh/josh-commands-versioning.ts +8 -0
- package/scripts/josh/josh-commands-workflow.ts +3 -3
- package/scripts/josh/path-decision.ts +0 -3
- package/scripts/josh/process-owner.ts +16 -0
- package/scripts/josh/run-github-prerequisite.ts +3 -6
- package/scripts/josh/session-language-cli.ts +0 -1
- package/scripts/lane/lane-await.ts +46 -19
- package/scripts/lane/lane-capacity.ts +6 -3
- package/scripts/lane/lane-child-invocation.ts +20 -7
- package/scripts/lane/lane-cli.ts +1 -4
- package/scripts/lane/lane-close.ts +5 -4
- package/scripts/lane/lane-dispatch.ts +3 -4
- package/scripts/lane/lane-environment.ts +0 -9
- package/scripts/lane/lane-handoff.ts +38 -0
- package/scripts/lane/lane-launch-cli.ts +31 -27
- package/scripts/lane/lane-open.ts +0 -3
- package/scripts/lane/lane-output.ts +0 -1
- package/scripts/lane/lane-registry.ts +9 -0
- package/scripts/lane/openai-lane-ship.ts +2 -0
- package/scripts/lane/openai-lane-supervisor-decision.ts +2 -1
- package/scripts/lane/openai-lane-supervisor.ts +6 -4
- package/scripts/lane/openai-review-broker.ts +7 -1
- package/scripts/lib/bounded-pool.ts +1 -0
- package/scripts/lib/cli-flags.ts +31 -2
- package/scripts/lib/error-message.ts +12 -1
- package/scripts/lib/json-value.ts +5 -4
- package/scripts/lib/poll.ts +3 -1
- package/scripts/lib/timed-fetch.ts +15 -0
- package/scripts/lib/timeouts.ts +13 -0
- package/scripts/{yaml → lib}/yaml-document.ts +3 -1
- package/scripts/{bytes → lines}/bytes-command.ts +0 -2
- package/scripts/lines/line-targets.ts +0 -11
- package/scripts/lines/lines-command.ts +5 -4
- package/scripts/lint/lint-related-scope.ts +0 -1
- package/scripts/lint/lint-related.ts +1 -1
- package/scripts/{git → notify}/telegram-notify.ts +2 -2
- package/scripts/{git → notify}/telegram-test.ts +4 -4
- package/scripts/observations/observation-ledger-home.ts +0 -1
- package/scripts/observations/observation-ledger-line.ts +0 -1
- package/scripts/observations/observation-ledger-migrate.ts +1 -1
- package/scripts/observations/observations-flush-landing.ts +3 -3
- package/scripts/observations/observations-flush.ts +2 -2
- package/scripts/overrides/lockfile-overrides.ts +1 -1
- package/scripts/overrides/overrides-logic.ts +1 -1
- package/scripts/package/package-scout-cli.ts +2 -7
- package/scripts/package/package-scout.ts +0 -2
- package/scripts/propagate/propagate-git-failure.ts +0 -1
- package/scripts/propagate/propagate-git.ts +3 -10
- package/scripts/propagate/propagate-publish.ts +2 -3
- package/scripts/propagate/propagate-run.ts +0 -2
- package/scripts/propagate/propagate-steps.ts +3 -5
- package/scripts/propagate/propagate-targets.ts +0 -4
- package/scripts/propagate/propagate.ts +0 -4
- package/scripts/refactor/import-graph.ts +0 -1
- package/scripts/refactor/refactor-lint.ts +0 -2
- package/scripts/refactor/refactor-scan.ts +2 -2
- package/scripts/refactor/refactor-targets.ts +0 -1
- package/scripts/registry-migration/migrate-logic.ts +28 -21
- package/scripts/registry-migration/migrate.ts +25 -14
- package/scripts/release/github-release-cli.ts +19 -6
- package/scripts/release/github-release-environment.ts +46 -0
- package/scripts/release/github-release.ts +151 -94
- package/scripts/release/release-history.ts +0 -1
- package/scripts/release/release-plan.ts +0 -1
- package/scripts/release/release-publish.ts +38 -5
- package/scripts/release/release-scope-cli.ts +1 -2
- package/scripts/release/release-tag.ts +2 -4
- package/scripts/release/release-worktree.ts +97 -2
- package/scripts/repo/auto-merge-setting-logic.ts +1 -4
- package/scripts/repo/repo-setting.ts +1 -1
- package/scripts/repo/repository-labels.ts +3 -3
- package/scripts/repo/required-checks-logic.ts +206 -0
- package/scripts/repo/required-checks-report.ts +71 -0
- package/scripts/repo/ruleset-check-cli.ts +53 -0
- package/scripts/repo/ruleset-check.ts +147 -0
- package/scripts/report/report-lint-cli.ts +0 -4
- package/scripts/review/disposition-cli.ts +1 -1
- package/scripts/review/live-evidence.ts +1 -1
- package/scripts/review/review-attest-cli.ts +0 -6
- package/scripts/review/review-attest.ts +4 -16
- package/scripts/review/review-brief-cli.ts +23 -6
- package/scripts/review/review-brief.ts +21 -8
- package/scripts/review/review-checkout.ts +3 -2
- package/scripts/review/review-diff-parts.ts +89 -0
- package/scripts/review/review-diff-write.ts +97 -0
- package/scripts/review/review-finding-ledger.ts +0 -1
- package/scripts/review/review-record-cli.ts +10 -17
- package/scripts/review/review-record.ts +0 -1
- package/scripts/review/review-round2-cli.ts +1 -1
- package/scripts/review/review-stamps.ts +0 -3
- package/scripts/review/review-tree.ts +14 -2
- package/scripts/rules/decision-oracle-stage.ts +18 -0
- package/scripts/rules/decision-oracle.ts +10 -7
- package/scripts/rules/delivered-rules.ts +9 -1
- package/scripts/rules/destructive-command.ts +119 -0
- package/scripts/rules/direct-filing.ts +1 -1
- package/scripts/rules/early-heartbeat.ts +4 -3
- package/scripts/rules/file-body.ts +0 -3
- package/scripts/rules/filing-cap.ts +0 -2
- package/scripts/rules/gh-api.ts +7 -2
- package/scripts/rules/git-argv.ts +18 -7
- package/scripts/rules/git-force.ts +0 -2
- package/scripts/rules/implementation-cut.ts +0 -1
- package/scripts/rules/index-guard.ts +71 -0
- package/scripts/rules/issue-citation.ts +50 -25
- package/scripts/rules/lane-background.ts +15 -7
- package/scripts/rules/lane-park.ts +22 -6
- package/scripts/rules/last-prompt.ts +1 -0
- package/scripts/rules/oracle-consulted.ts +1 -1
- package/scripts/rules/oracle-firing.ts +1 -0
- package/scripts/rules/oracle-list-cli.ts +0 -3
- package/scripts/rules/permission-guards.ts +14 -0
- package/scripts/rules/protected-files.ts +74 -0
- package/scripts/rules/reply-language.ts +1 -1
- package/scripts/rules/rule-body-guard.ts +0 -3
- package/scripts/rules/rule-value-cli.ts +0 -1
- package/scripts/rules/shell-body-trigger.ts +0 -1
- package/scripts/rules/shell-segments.ts +0 -1
- package/scripts/rules/stop-rules.ts +20 -9
- package/scripts/rules/tail-commands.ts +1 -1
- package/scripts/rules/test-declared-commit.ts +1 -1
- package/scripts/rules/third-party-write.ts +0 -1
- package/scripts/rules/worktree-guard.ts +26 -9
- package/scripts/run/run-carry-args.ts +8 -12
- package/scripts/run/run-carry-cli.ts +0 -2
- package/scripts/run/run-carry-stash.ts +2 -2
- package/scripts/run/run-carry-streak.ts +1 -1
- package/scripts/run/run-cut-args.ts +1 -6
- package/scripts/run/run-cut-cli.ts +0 -7
- package/scripts/run/run-cut.ts +8 -54
- package/scripts/run/run-ending-cli.ts +2 -6
- package/scripts/run/run-ending.ts +1 -4
- package/scripts/run/run-entry-cli.ts +133 -25
- package/scripts/run/run-entry-stop.ts +104 -0
- package/scripts/run/run-entry.ts +0 -1
- package/scripts/run/run-event-cli.ts +0 -2
- package/scripts/run/run-event-follow.ts +1 -0
- package/scripts/run/run-event-render.ts +1 -1
- package/scripts/run/run-event-scope.ts +53 -4
- package/scripts/run/run-event-stream-emit.ts +7 -2
- package/scripts/run/run-event-stream.ts +0 -3
- package/scripts/run/run-event-watch.ts +1 -0
- package/scripts/run/run-halfrun-resume.ts +20 -7
- package/scripts/run/run-headless.ts +2 -2
- package/scripts/run/run-hold-cli.ts +33 -10
- package/scripts/run/run-hold.ts +29 -6
- package/scripts/run/run-issue-number.ts +1 -1
- package/scripts/run/run-liveness-cli.ts +2 -6
- package/scripts/run/run-liveness.ts +2 -3
- package/scripts/run/run-merge-cli.ts +7 -23
- package/scripts/run/run-merge-steps.ts +5 -5
- package/scripts/run/run-merge.ts +1 -1
- package/scripts/run/run-next-cli.ts +1 -1
- package/scripts/run/run-parent-cut-hook.ts +4 -2
- package/scripts/run/run-preflight.ts +2 -9
- package/scripts/run/run-prep-cli.ts +6 -3
- package/scripts/run/run-prep-locate.ts +1 -1
- package/scripts/run/run-progress-args.ts +20 -4
- package/scripts/run/run-progress-cli.ts +35 -36
- package/scripts/run/run-progress-clock.ts +10 -35
- package/scripts/run/run-progress-config.ts +0 -4
- package/scripts/run/run-progress-read.ts +1 -2
- package/scripts/run/run-progress.ts +1 -2
- package/scripts/run/run-prrun-resume.ts +117 -0
- package/scripts/run/run-report-cli.ts +1 -2
- package/scripts/run/run-report.ts +0 -1
- package/scripts/run/run-retrospective.ts +1 -1
- package/scripts/run/run-review-cli.ts +0 -3
- package/scripts/run/run-review-steps.ts +2 -0
- package/scripts/run/run-review.ts +0 -2
- package/scripts/run/run-ship-cli.ts +29 -19
- package/scripts/run/run-ship-detach.ts +1 -0
- package/scripts/run/run-ship-next.ts +106 -0
- package/scripts/run/run-ship-preflight.ts +1 -1
- package/scripts/run/run-ship-probe.ts +4 -1
- package/scripts/run/run-ship-return.ts +8 -3
- package/scripts/run/run-ship-review-steps.ts +18 -4
- package/scripts/run/run-ship-review.ts +11 -0
- package/scripts/run/run-ship-scoped.ts +1 -0
- package/scripts/run/run-ship-steps.ts +1 -1
- package/scripts/run/run-ship.ts +0 -1
- package/scripts/run/run-stage-read.ts +62 -0
- package/scripts/run/run-stage.ts +160 -0
- package/scripts/run/run-status-cli.ts +3 -16
- package/scripts/run/run-step-cli.ts +21 -14
- package/scripts/run/run-step.ts +1 -1
- package/scripts/run/run-stop-notify.ts +1 -3
- package/scripts/run/run-stranded-cli.ts +0 -4
- package/scripts/run/run-stranded-detect.ts +2 -2
- package/scripts/run/run-tail-cli.ts +17 -11
- package/scripts/run/run-tail.ts +2 -0
- package/scripts/run/run-tidy-lanes.ts +6 -2
- package/scripts/run/run-tidy-stashes.ts +12 -12
- package/scripts/run/run-wake-cli.ts +4 -13
- package/scripts/run/run-wake-loop.ts +2 -2
- package/scripts/run/run-wake.ts +2 -4
- package/scripts/run/run-watcher-guard-cli.ts +0 -4
- package/scripts/run/run-watcher-guard.ts +18 -12
- package/scripts/run/run-watcher-hook.ts +1 -1
- package/scripts/safe-chain/ci-installer-pin.ts +11 -5
- package/scripts/safe-chain/pack-hook.ts +92 -0
- package/scripts/safe-chain/project-config.ts +1 -1
- package/scripts/security/security-audit-provision-logic.ts +0 -1
- package/scripts/security/security-audit-provision.ts +3 -2
- package/scripts/security/security-audit.ts +0 -1
- package/scripts/security/security-updates-logic.ts +0 -1
- package/scripts/sonar/sonar-hotspots-cli.ts +10 -52
- package/scripts/sonar/sonar-hotspots.ts +0 -1
- package/scripts/sonar/sonar-new-code-cli.ts +150 -0
- package/scripts/sonar/sonar-new-code.ts +79 -0
- package/scripts/sonar/sonar-project.ts +97 -0
- package/scripts/split/split-assess-cli.ts +1 -1
- package/scripts/split/split-assess.ts +2 -5
- package/scripts/sync/managed-config-scope-cli.ts +1 -1
- package/scripts/sync/skill-migration.ts +0 -1
- package/scripts/sync/sync-ai-files.ts +4 -0
- package/scripts/sync/sync-hook-safety.ts +2 -3
- package/scripts/sync/sync.ts +1 -8
- package/scripts/sync/template-source-logic.ts +0 -1
- package/scripts/sync/workflow-pin-logic.ts +16 -28
- package/scripts/test/test-declared-changed.ts +13 -16
- package/scripts/test/test-declared-logic.ts +0 -1
- package/scripts/test/test-declared.ts +3 -9
- package/scripts/test/test-red-commit.ts +2 -2
- package/scripts/test/test-red.ts +14 -7
- package/scripts/test/test-type-logic.ts +1 -1
- package/scripts/test/unit-worker-share.ts +7 -16
- package/scripts/time-runtime/time-batch-guard.ts +1 -2
- package/scripts/time-runtime/time-bundle-call.ts +0 -1
- package/scripts/time-runtime/time-bundles.ts +0 -4
- package/scripts/time-runtime/time-density-hook.ts +0 -2
- package/scripts/time-runtime/time-followup-stage.ts +1 -1
- package/scripts/time-runtime/time-format.ts +0 -73
- package/scripts/time-runtime/time-round-trips.ts +0 -4
- package/scripts/time-runtime/time-single-check.ts +1 -1
- package/scripts/time-runtime/time-spans.ts +1 -1
- package/scripts/time-runtime/time-transcript-line.ts +1 -2
- package/scripts/ui/ui-routes-cli.ts +0 -5
- package/scripts/ui/ui-routes.ts +0 -5
- package/scripts/version/effective-upstream.ts +2 -2
- package/scripts/version/latest-corepack.ts +7 -9
- package/scripts/version/latest-scope-cli.ts +0 -2
- package/scripts/version/latest-update.ts +0 -2
- package/scripts/version/npm-registry.ts +2 -2
- package/scripts/version/publishable-range-check.ts +1 -1
- package/scripts/version/release-hold.ts +0 -4
- package/scripts/version/running-binary.ts +2 -2
- package/scripts/version/version-check-logic.ts +0 -2
- package/scripts/version/version-commands.ts +11 -1
- package/scripts/version/version-remote.ts +3 -3
- package/scripts/version/version-targets.ts +4 -4
- package/templates/CLAUDE.basic.md +6 -6
- package/templates/sonar-project.properties +28 -1
- package/templates/workflows/ci.yml +16 -82
- package/templates/workflows/dependabot-auto-merge.yml +6 -3
- package/templates/workflows/github-release.yml +79 -0
- package/tsconfig.sonar.json +4 -22
- package/prompts/collaboration-workflow/cross-repo-epic.md +0 -5
- package/prompts/collaboration-workflow/epic-audit.md +0 -5
- package/prompts/collaboration-workflow/epic-bundle.md +0 -5
- package/scripts/init/plugin-install-hint.ts +0 -47
- package/scripts/version/parse-json.ts +0 -13
- /package/scripts/{git → followup}/git-followup-stages.ts +0 -0
- /package/scripts/{git → gh}/git-gh-api-path.ts +0 -0
- /package/scripts/{git → gh}/git-gh-command.ts +0 -0
- /package/scripts/{git → gh}/git-gh-issue.ts +0 -0
- /package/scripts/{git → gh}/git-gh-pr-snapshot.ts +0 -0
- /package/scripts/{git → gh}/git-gh-reachability.ts +0 -0
- /package/scripts/{git → gh}/git-gh-repo.ts +0 -0
- /package/scripts/{git → gh}/git-gh-rest-state.ts +0 -0
- /package/scripts/{git → gh}/git-pr-checks-watch.ts +0 -0
- /package/scripts/{git → gh}/git-pr-error.ts +0 -0
- /package/scripts/{git → gh}/git-pr-messages.ts +0 -0
- /package/scripts/{git → gh}/github-issue-url.ts +0 -0
- /package/scripts/git/{stash-orphans.ts → stash/stash-orphans.ts} +0 -0
- /package/scripts/{git → issue}/issue-reference.ts +0 -0
- /package/scripts/{git → lib}/animation-helpers.ts +0 -0
- /package/scripts/{git → lib}/git-animation.ts +0 -0
- /package/scripts/{git → notify}/git-notify.ts +0 -0
- /package/scripts/{git → notify}/telegram-test-logic.ts +0 -0
package/dist/josh.js
CHANGED
|
@@ -4,6 +4,87 @@
|
|
|
4
4
|
import { existsSync } from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
|
+
// scripts/lib/spawn-exit.ts
|
|
8
|
+
var SPAWN_ERROR_EXIT_CODE = 2;
|
|
9
|
+
var SIGNAL_KILL_EXIT_CODE = 1;
|
|
10
|
+
function resolve_spawn_exit(executable, result) {
|
|
11
|
+
if (result.exitCode !== void 0) return result.exitCode;
|
|
12
|
+
if (result.isTerminated === true) return SIGNAL_KILL_EXIT_CODE;
|
|
13
|
+
console.error(`Failed to execute ${executable}: ${result.shortMessage ?? "spawn failed"}`);
|
|
14
|
+
return SPAWN_ERROR_EXIT_CODE;
|
|
15
|
+
}
|
|
16
|
+
function read_spawn_stdout(result) {
|
|
17
|
+
return result.stdout ?? "";
|
|
18
|
+
}
|
|
19
|
+
function read_spawn_stderr(result) {
|
|
20
|
+
return result.stderr ?? "";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// scripts/git/git-spawn-sync.ts
|
|
24
|
+
import { execaSync } from "execa";
|
|
25
|
+
|
|
26
|
+
// scripts/git/constants.ts
|
|
27
|
+
import { platform } from "node:os";
|
|
28
|
+
var GIT_COMMAND_UNIX = "/usr/bin/git";
|
|
29
|
+
function get_git_command() {
|
|
30
|
+
if (platform() === "win32") {
|
|
31
|
+
return String.raw`"C:\Program Files\Git\cmd\git.exe"`;
|
|
32
|
+
}
|
|
33
|
+
return GIT_COMMAND_UNIX;
|
|
34
|
+
}
|
|
35
|
+
function get_git_command_for_spawn() {
|
|
36
|
+
if (platform() === "win32") {
|
|
37
|
+
return String.raw`C:\Program Files\Git\cmd\git.exe`;
|
|
38
|
+
}
|
|
39
|
+
return GIT_COMMAND_UNIX;
|
|
40
|
+
}
|
|
41
|
+
var git_utilities = {
|
|
42
|
+
get_git_command,
|
|
43
|
+
get_git_command_for_spawn
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// scripts/git/git-spawn-sync.ts
|
|
47
|
+
var GIT_TIMEOUT_MS = 1e4;
|
|
48
|
+
var SUCCESS_EXIT_CODE = 0;
|
|
49
|
+
var C_LOCALE = { LC_ALL: "C", LANGUAGE: "C" };
|
|
50
|
+
function run(args, options = {}) {
|
|
51
|
+
const result = execaSync(git_utilities.get_git_command_for_spawn(), args, {
|
|
52
|
+
...options,
|
|
53
|
+
extendEnv: true,
|
|
54
|
+
reject: false,
|
|
55
|
+
timeout: options.timeout ?? GIT_TIMEOUT_MS
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
exit_code: result.exitCode,
|
|
59
|
+
stdout: read_spawn_stdout(result),
|
|
60
|
+
stderr: read_spawn_stderr(result)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function read(args, options = {}) {
|
|
64
|
+
const result = run(args, options);
|
|
65
|
+
return result.exit_code === SUCCESS_EXIT_CODE ? result.stdout.trim() : void 0;
|
|
66
|
+
}
|
|
67
|
+
function origin_url(cwd) {
|
|
68
|
+
return read(["config", "--get", "remote.origin.url"], { cwd });
|
|
69
|
+
}
|
|
70
|
+
function toplevel(timeout = GIT_TIMEOUT_MS) {
|
|
71
|
+
return run(["rev-parse", "--show-toplevel"], { env: C_LOCALE, timeout });
|
|
72
|
+
}
|
|
73
|
+
var git_spawn_sync = { GIT_TIMEOUT_MS, C_LOCALE, run, read, origin_url, toplevel };
|
|
74
|
+
|
|
75
|
+
// scripts/lib/json-value.ts
|
|
76
|
+
function parse_or_undefined(text) {
|
|
77
|
+
try {
|
|
78
|
+
return JSON.parse(text);
|
|
79
|
+
} catch {
|
|
80
|
+
return void 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function is_record(value) {
|
|
84
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
85
|
+
}
|
|
86
|
+
var json_value = { parse_or_undefined, is_record };
|
|
87
|
+
|
|
7
88
|
// scripts/lib/read-file.ts
|
|
8
89
|
import { readFileSync } from "node:fs";
|
|
9
90
|
var ABSENT_CODE = "ENOENT";
|
|
@@ -30,33 +111,10 @@ function read_if_readable(path5) {
|
|
|
30
111
|
}
|
|
31
112
|
var file_reader = { read_optional, read_file_or_empty, read_if_readable };
|
|
32
113
|
|
|
33
|
-
// scripts/lib/spawn-exit.ts
|
|
34
|
-
var SPAWN_ERROR_EXIT_CODE = 2;
|
|
35
|
-
var SIGNAL_KILL_EXIT_CODE = 1;
|
|
36
|
-
function resolve_spawn_exit(executable, result) {
|
|
37
|
-
if (result.exitCode !== void 0) return result.exitCode;
|
|
38
|
-
if (result.isTerminated === true) return SIGNAL_KILL_EXIT_CODE;
|
|
39
|
-
console.error(`Failed to execute ${executable}: ${result.shortMessage ?? "spawn failed"}`);
|
|
40
|
-
return SPAWN_ERROR_EXIT_CODE;
|
|
41
|
-
}
|
|
42
|
-
function read_spawn_stdout(result) {
|
|
43
|
-
return result.stdout ?? "";
|
|
44
|
-
}
|
|
45
|
-
|
|
46
114
|
// scripts/version/kit-descriptor.ts
|
|
47
115
|
var KIT_PACKAGE_NAME = "@joshuafolkken/kit";
|
|
48
116
|
|
|
49
|
-
// scripts/version/parse-json.ts
|
|
50
|
-
function safe_json_parse(raw) {
|
|
51
|
-
try {
|
|
52
|
-
return JSON.parse(raw);
|
|
53
|
-
} catch {
|
|
54
|
-
return void 0;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
117
|
// scripts/doctor/doctor-consumer.ts
|
|
59
|
-
import { execaSync } from "execa";
|
|
60
118
|
import { z } from "zod";
|
|
61
119
|
var NODE_MODULES = "node_modules";
|
|
62
120
|
var SETTINGS_PATH = path.join(".claude", "settings.json");
|
|
@@ -64,7 +122,7 @@ var CLAUDE_MD = "CLAUDE.md";
|
|
|
64
122
|
var PLUGIN_ID = "kit@kit";
|
|
65
123
|
var CLAUDE_MD_POINTER = `@${NODE_MODULES}/${KIT_PACKAGE_NAME}/dist/${CLAUDE_MD}`;
|
|
66
124
|
var SECRETLINT_BIN = path.join(NODE_MODULES, ".bin", "secretlint");
|
|
67
|
-
var
|
|
125
|
+
var GIT_TIMEOUT_MS2 = 2e3;
|
|
68
126
|
var manifest_schema = z.object({
|
|
69
127
|
name: z.string().optional(),
|
|
70
128
|
dependencies: z.record(z.string(), z.string()).optional(),
|
|
@@ -79,7 +137,7 @@ var STATE_MISSING = "missing";
|
|
|
79
137
|
function parse_manifest(root) {
|
|
80
138
|
const content = file_reader.read_if_readable(path.join(root, "package.json"));
|
|
81
139
|
if (content === void 0) return void 0;
|
|
82
|
-
const parsed = manifest_schema.safeParse(
|
|
140
|
+
const parsed = manifest_schema.safeParse(json_value.parse_or_undefined(content));
|
|
83
141
|
return parsed.success ? parsed.data : void 0;
|
|
84
142
|
}
|
|
85
143
|
function lists_kit_dependency(manifest) {
|
|
@@ -94,15 +152,13 @@ function is_kit_consumer(root) {
|
|
|
94
152
|
function is_plugin_declared(root) {
|
|
95
153
|
const content = file_reader.read_if_readable(path.join(root, SETTINGS_PATH));
|
|
96
154
|
if (content === void 0) return false;
|
|
97
|
-
const parsed = settings_schema.safeParse(
|
|
155
|
+
const parsed = settings_schema.safeParse(json_value.parse_or_undefined(content));
|
|
98
156
|
return parsed.success && parsed.data.enabledPlugins?.[PLUGIN_ID] === true;
|
|
99
157
|
}
|
|
100
158
|
function configured_hooks_path(root) {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
timeout: GIT_TIMEOUT_MS
|
|
159
|
+
const value = git_spawn_sync.read(["-C", root, "config", "--get", "core.hooksPath"], {
|
|
160
|
+
timeout: GIT_TIMEOUT_MS2
|
|
104
161
|
});
|
|
105
|
-
const value = read_spawn_stdout(result).trim();
|
|
106
162
|
return value === "" ? void 0 : value;
|
|
107
163
|
}
|
|
108
164
|
function claude_md_state(root) {
|
|
@@ -120,7 +176,7 @@ function status_line(is_ok, ok_text, warn_text) {
|
|
|
120
176
|
function plugin_line(is_declared) {
|
|
121
177
|
return status_line(
|
|
122
178
|
is_declared,
|
|
123
|
-
|
|
179
|
+
"kit plugin declared (skills load in a trusted workspace; headless from its second session)",
|
|
124
180
|
"kit plugin not declared in .claude/settings.json \u2014 run `pnpm josh sync`"
|
|
125
181
|
);
|
|
126
182
|
}
|
|
@@ -163,7 +219,6 @@ var doctor_consumer = {
|
|
|
163
219
|
claude_md_line,
|
|
164
220
|
claude_md_state,
|
|
165
221
|
configured_hooks_path,
|
|
166
|
-
consumer_setup_lines,
|
|
167
222
|
hooks_path_line,
|
|
168
223
|
is_kit_consumer,
|
|
169
224
|
is_plugin_declared,
|
|
@@ -244,7 +299,7 @@ function resolve_package_bin(base_directory, package_name, bin_name) {
|
|
|
244
299
|
}
|
|
245
300
|
|
|
246
301
|
// scripts/josh/josh-logic.ts
|
|
247
|
-
import { execaSync as
|
|
302
|
+
import { execaSync as execaSync2 } from "execa";
|
|
248
303
|
|
|
249
304
|
// scripts/josh/command-suggest.ts
|
|
250
305
|
var MAX_SUGGESTION_DISTANCE = 3;
|
|
@@ -344,7 +399,11 @@ var BACKLOG_COMMANDS = {
|
|
|
344
399
|
script: "scripts/backlog/backlog-plan-cli.ts",
|
|
345
400
|
description: "Print the whole backlog as a plan: ready now, waiting on what, waiting on a person, out of scope",
|
|
346
401
|
category: "AI tools",
|
|
347
|
-
reference: [
|
|
402
|
+
reference: [
|
|
403
|
+
"[issue...] [--only] [--waves] [--exclude <n>[,<n>...]]",
|
|
404
|
+
"automation",
|
|
405
|
+
["network"]
|
|
406
|
+
]
|
|
348
407
|
},
|
|
349
408
|
"backlog:stalled": {
|
|
350
409
|
script: "scripts/backlog/backlog-stalled-cli.ts",
|
|
@@ -435,7 +494,7 @@ var ISSUE_COMMANDS = {
|
|
|
435
494
|
script: "scripts/issue/issue-scout-cli.ts",
|
|
436
495
|
description: "Before filing: say whether an issue like this exists and which epic it belongs to",
|
|
437
496
|
category: "AI tools",
|
|
438
|
-
reference: ["<title> [--body <summary>]", "automation", ["network"]]
|
|
497
|
+
reference: ["<title> [--body <summary> | --body-file <path>]", "automation", ["network"]]
|
|
439
498
|
},
|
|
440
499
|
"defect:rate": {
|
|
441
500
|
script: "scripts/issue/defect-rate-cli.ts",
|
|
@@ -453,7 +512,7 @@ var ISSUE_COMMANDS = {
|
|
|
453
512
|
script: "scripts/issue/issue-fold-existing-cli.ts",
|
|
454
513
|
description: "Assess whether a complete draft can join an unstarted issue",
|
|
455
514
|
category: "AI tools",
|
|
456
|
-
reference: ["<assessment.json>", "automation", ["none"]]
|
|
515
|
+
reference: ["<assessment.json> [--json]", "automation", ["none"]]
|
|
457
516
|
},
|
|
458
517
|
"issue:cite": {
|
|
459
518
|
script: "scripts/issue/issue-cite-cli.ts",
|
|
@@ -541,6 +600,107 @@ var LANE_COMMANDS = {
|
|
|
541
600
|
}
|
|
542
601
|
};
|
|
543
602
|
|
|
603
|
+
// scripts/josh/josh-commands-run.ts
|
|
604
|
+
var RUN_HOLD_SCRIPT = "scripts/run/run-hold-cli.ts";
|
|
605
|
+
var RUN_COMMANDS = {
|
|
606
|
+
"run:hold": {
|
|
607
|
+
script: RUN_HOLD_SCRIPT,
|
|
608
|
+
description: "Claim this working tree for a run, or say which run already holds it",
|
|
609
|
+
category: "AI tools",
|
|
610
|
+
reference: ["[<issue> [--fullrun | --halfrun-stop | --prrun-stop]]", "automation", ["files"]]
|
|
611
|
+
},
|
|
612
|
+
"run:release": {
|
|
613
|
+
script: RUN_HOLD_SCRIPT,
|
|
614
|
+
description: "Release this working tree's run record",
|
|
615
|
+
category: "AI tools",
|
|
616
|
+
reference: ["[issue|--force]", "automation", ["files"]],
|
|
617
|
+
default_script_arguments: ["--release"]
|
|
618
|
+
},
|
|
619
|
+
"run:tidy": {
|
|
620
|
+
script: "scripts/run/run-tidy-cli.ts",
|
|
621
|
+
description: "Close merged lanes and drop stashes whose issues are all merged",
|
|
622
|
+
category: "AI tools",
|
|
623
|
+
reference: ["", "automation", ["git", "network", "files"]]
|
|
624
|
+
},
|
|
625
|
+
"run:carry": {
|
|
626
|
+
script: "scripts/run/run-carry-cli.ts",
|
|
627
|
+
description: "Carry one invocation\u2019s budget across its own session cuts",
|
|
628
|
+
category: "AI tools",
|
|
629
|
+
reference: ["<operation> [arguments...]", "automation", ["files"]]
|
|
630
|
+
},
|
|
631
|
+
"run:wake": {
|
|
632
|
+
script: "scripts/run/run-wake-cli.ts",
|
|
633
|
+
// `.env` rather than the ambient environment:
|
|
634
|
+
// the failure warning needs the Telegram credentials, the same
|
|
635
|
+
// reasons `notify` and `followup` carry these flags.
|
|
636
|
+
tsx_arguments: OPTIONAL_ENV_FILE_FLAGS,
|
|
637
|
+
description: "Wake the next session of a cut backlogrun from outside the conversation",
|
|
638
|
+
category: "AI tools",
|
|
639
|
+
reference: ["[options]", "automation", ["processes", "notifications"]]
|
|
640
|
+
},
|
|
641
|
+
"run:cut": {
|
|
642
|
+
script: "scripts/run/run-cut-cli.ts",
|
|
643
|
+
description: "Cut a lane child before the gate and resume a fresh process",
|
|
644
|
+
category: "AI tools",
|
|
645
|
+
reference: ["[--resume] <issue> [--impl] [--handoff <path>]", "automation", ["files"]]
|
|
646
|
+
},
|
|
647
|
+
"run:liveness": {
|
|
648
|
+
script: "scripts/run/run-liveness-cli.ts",
|
|
649
|
+
description: "Say whether a delegated unit is still working, or stopped without reporting",
|
|
650
|
+
category: "AI tools",
|
|
651
|
+
reference: ["<issue> --output <path> [options]", "automation", ["processes"]]
|
|
652
|
+
},
|
|
653
|
+
"run:ending": {
|
|
654
|
+
script: "scripts/run/run-ending-cli.ts",
|
|
655
|
+
description: "Classify how a dispatched lane child ended (merged, cut, abandoned, unreadable)",
|
|
656
|
+
category: "AI tools",
|
|
657
|
+
reference: ["<issue> --output <path> [--repo <owner/repo>]", "automation", ["network"]]
|
|
658
|
+
},
|
|
659
|
+
"run:progress": {
|
|
660
|
+
script: "scripts/run/run-progress-cli.ts",
|
|
661
|
+
description: "Report an unattended run\u2019s progress once it has gone quiet for an interval",
|
|
662
|
+
category: "AI tools",
|
|
663
|
+
reference: [
|
|
664
|
+
"[--once | --wait] [--interval <minutes>] [--hours <hours>] [--repo <owner/repo>] [--output <path>] | --mark | --path",
|
|
665
|
+
"automation",
|
|
666
|
+
["files"]
|
|
667
|
+
]
|
|
668
|
+
},
|
|
669
|
+
"run:prep": {
|
|
670
|
+
script: "scripts/run/run-prep-cli.ts",
|
|
671
|
+
description: "Bundle a run\u2019s pre-edit reads: body, comments, state, dependency scope",
|
|
672
|
+
category: "AI tools",
|
|
673
|
+
reference: ["<issue>", "automation", ["network"]]
|
|
674
|
+
},
|
|
675
|
+
// The entry sequence a lane opened on, folded into one call (joshuafolkken/kit#2372): claim the tree,
|
|
676
|
+
// read the budget, gather the issue reads and decide the pre-implementation step. `run:hold`,
|
|
677
|
+
// `cost --cut`, `run:prep` and `run:step` were four round trips re-billing a lane's full context each.
|
|
678
|
+
"run:entry": {
|
|
679
|
+
script: "scripts/run/run-entry-cli.ts",
|
|
680
|
+
description: "Open a run in one call: claim the tree, read the budget, bundle the reads, decide the pre-implementation step",
|
|
681
|
+
category: "AI tools",
|
|
682
|
+
reference: ["<issue> [--to <command>]", "automation", ["git", "network", "files"]]
|
|
683
|
+
},
|
|
684
|
+
"run:status": {
|
|
685
|
+
script: "scripts/run/run-status-cli.ts",
|
|
686
|
+
description: "Bundle a run\u2019s read-only status: issue state, cost verdict, carry counters",
|
|
687
|
+
category: "AI tools",
|
|
688
|
+
reference: ["<issue> [--repo <owner/repo>]", "automation", ["network"]]
|
|
689
|
+
},
|
|
690
|
+
"run:next": {
|
|
691
|
+
script: "scripts/run/run-next-cli.ts",
|
|
692
|
+
description: "Print the next step a fullrun takes, computed from the run\u2019s state",
|
|
693
|
+
category: "AI tools",
|
|
694
|
+
reference: ["<issue>", "automation", ["network"]]
|
|
695
|
+
},
|
|
696
|
+
"run:step": {
|
|
697
|
+
script: "scripts/run/run-step-cli.ts",
|
|
698
|
+
description: "Print the run\u2019s next single action, computed from the event stream, carry record and issue state",
|
|
699
|
+
category: "AI tools",
|
|
700
|
+
reference: ["<issue>", "automation", ["network", "files"]]
|
|
701
|
+
}
|
|
702
|
+
};
|
|
703
|
+
|
|
544
704
|
// scripts/josh/josh-commands-split.ts
|
|
545
705
|
var SPLIT_COMMANDS = {
|
|
546
706
|
"split:assess": {
|
|
@@ -552,7 +712,6 @@ var SPLIT_COMMANDS = {
|
|
|
552
712
|
};
|
|
553
713
|
|
|
554
714
|
// scripts/josh/josh-commands-ai.ts
|
|
555
|
-
var RUN_HOLD_SCRIPT = "scripts/run/run-hold-cli.ts";
|
|
556
715
|
var ISSUE_WITH_OPTIONS2 = "<issue> [options]";
|
|
557
716
|
var AI_COMMANDS = {
|
|
558
717
|
...ISSUE_COMMANDS,
|
|
@@ -563,7 +722,7 @@ var AI_COMMANDS = {
|
|
|
563
722
|
reference: ["<keywords> [--size <n>]", "automation", ["network"]]
|
|
564
723
|
},
|
|
565
724
|
"stash:pop": {
|
|
566
|
-
script: "scripts/git/stash-pop-cli.ts",
|
|
725
|
+
script: "scripts/git/stash/stash-pop-cli.ts",
|
|
567
726
|
description: "Pop the stash matching this message, not whichever a shared stack has on top",
|
|
568
727
|
category: "AI tools",
|
|
569
728
|
reference: ["<message>", "automation", ["git"]]
|
|
@@ -578,7 +737,7 @@ var AI_COMMANDS = {
|
|
|
578
737
|
script: "scripts/epic/epic-next.ts",
|
|
579
738
|
description: "List an epic's runnable children, bundled per repository",
|
|
580
739
|
category: "AI tools",
|
|
581
|
-
reference: ["<epic>", "automation", ["network"]]
|
|
740
|
+
reference: ["<epic>... [--repo <owner/repo>] [--lanes]", "automation", ["network"]]
|
|
582
741
|
},
|
|
583
742
|
"epic:bundle": {
|
|
584
743
|
script: "scripts/epic/epic-bundle-cli.ts",
|
|
@@ -607,9 +766,9 @@ var AI_COMMANDS = {
|
|
|
607
766
|
...BACKLOG_COMMANDS,
|
|
608
767
|
cost: {
|
|
609
768
|
script: "scripts/cost-runtime/cost-cli.ts",
|
|
610
|
-
description: "
|
|
769
|
+
description: "Say whether the next turn of a run crosses the context-cut threshold (--cut) or a given tokens-per-request figure (--over)",
|
|
611
770
|
category: "AI tools",
|
|
612
|
-
reference: ["
|
|
771
|
+
reference: ["(--cut | --over <tokens-per-request>) [--path <dir>]", "automation", ["none"]]
|
|
613
772
|
},
|
|
614
773
|
...DOCUMENT_COMMANDS,
|
|
615
774
|
time: {
|
|
@@ -673,98 +832,7 @@ var AI_COMMANDS = {
|
|
|
673
832
|
category: "AI tools",
|
|
674
833
|
reference: ["<unit-files> <unit-files> [<unit-files> \u2026]", "automation", ["none"]]
|
|
675
834
|
},
|
|
676
|
-
|
|
677
|
-
script: RUN_HOLD_SCRIPT,
|
|
678
|
-
description: "Claim this working tree for a run, or say which run already holds it",
|
|
679
|
-
category: "AI tools",
|
|
680
|
-
reference: ["[issue]", "automation", ["files"]]
|
|
681
|
-
},
|
|
682
|
-
"run:release": {
|
|
683
|
-
script: RUN_HOLD_SCRIPT,
|
|
684
|
-
description: "Release this working tree's run record",
|
|
685
|
-
category: "AI tools",
|
|
686
|
-
reference: ["[issue|--force]", "automation", ["files"]],
|
|
687
|
-
default_script_arguments: ["--release"]
|
|
688
|
-
},
|
|
689
|
-
"run:tidy": {
|
|
690
|
-
script: "scripts/run/run-tidy-cli.ts",
|
|
691
|
-
description: "Close merged lanes and drop stashes whose issues are all merged",
|
|
692
|
-
category: "AI tools",
|
|
693
|
-
reference: ["", "automation", ["git", "network", "files"]]
|
|
694
|
-
},
|
|
695
|
-
"run:carry": {
|
|
696
|
-
script: "scripts/run/run-carry-cli.ts",
|
|
697
|
-
description: "Carry one invocation\u2019s budget across its own session cuts",
|
|
698
|
-
category: "AI tools",
|
|
699
|
-
reference: ["<operation> [arguments...]", "automation", ["files"]]
|
|
700
|
-
},
|
|
701
|
-
"run:wake": {
|
|
702
|
-
script: "scripts/run/run-wake-cli.ts",
|
|
703
|
-
// `.env` rather than the ambient environment:
|
|
704
|
-
// the failure warning needs the Telegram credentials, the same
|
|
705
|
-
// reasons `notify` and `followup` carry these flags.
|
|
706
|
-
tsx_arguments: OPTIONAL_ENV_FILE_FLAGS,
|
|
707
|
-
description: "Wake the next session of a cut backlogrun from outside the conversation",
|
|
708
|
-
category: "AI tools",
|
|
709
|
-
reference: ["[options]", "automation", ["processes", "notifications"]]
|
|
710
|
-
},
|
|
711
|
-
"run:cut": {
|
|
712
|
-
script: "scripts/run/run-cut-cli.ts",
|
|
713
|
-
description: "Cut a lane child before the gate and resume a fresh process",
|
|
714
|
-
category: "AI tools",
|
|
715
|
-
reference: ["[--resume] <issue> [--impl] [--handoff <path>]", "automation", ["files"]]
|
|
716
|
-
},
|
|
717
|
-
"run:liveness": {
|
|
718
|
-
script: "scripts/run/run-liveness-cli.ts",
|
|
719
|
-
description: "Say whether a delegated unit is still working, or stopped without reporting",
|
|
720
|
-
category: "AI tools",
|
|
721
|
-
reference: ["<issue> --output <path> [options]", "automation", ["processes"]]
|
|
722
|
-
},
|
|
723
|
-
"run:ending": {
|
|
724
|
-
script: "scripts/run/run-ending-cli.ts",
|
|
725
|
-
description: "Classify how a dispatched lane child ended (merged, cut, abandoned, unreadable)",
|
|
726
|
-
category: "AI tools",
|
|
727
|
-
reference: ["<issue> --output <path> [--repo <owner/repo>]", "automation", ["network"]]
|
|
728
|
-
},
|
|
729
|
-
"run:progress": {
|
|
730
|
-
script: "scripts/run/run-progress-cli.ts",
|
|
731
|
-
description: "Report an unattended run\u2019s progress once it has gone quiet for an interval",
|
|
732
|
-
category: "AI tools",
|
|
733
|
-
reference: ["[--wait|--mark]", "automation", ["files"]]
|
|
734
|
-
},
|
|
735
|
-
"run:prep": {
|
|
736
|
-
script: "scripts/run/run-prep-cli.ts",
|
|
737
|
-
description: "Bundle a run\u2019s pre-edit reads: body, comments, state, dependency scope",
|
|
738
|
-
category: "AI tools",
|
|
739
|
-
reference: ["<issue>", "automation", ["network"]]
|
|
740
|
-
},
|
|
741
|
-
// The entry sequence a lane opened on, folded into one call (joshuafolkken/kit#2372): claim the tree,
|
|
742
|
-
// read the budget, gather the issue reads and decide the pre-implementation step. `run:hold`,
|
|
743
|
-
// `cost --cut`, `run:prep` and `run:step` were four round trips re-billing a lane's full context each.
|
|
744
|
-
"run:entry": {
|
|
745
|
-
script: "scripts/run/run-entry-cli.ts",
|
|
746
|
-
description: "Open a run in one call: claim the tree, read the budget, bundle the reads, decide the pre-implementation step",
|
|
747
|
-
category: "AI tools",
|
|
748
|
-
reference: ["<issue>", "automation", ["git", "network", "files"]]
|
|
749
|
-
},
|
|
750
|
-
"run:status": {
|
|
751
|
-
script: "scripts/run/run-status-cli.ts",
|
|
752
|
-
description: "Bundle a run\u2019s read-only status: issue state, cost verdict, carry counters",
|
|
753
|
-
category: "AI tools",
|
|
754
|
-
reference: ["<issue> [--repo <owner/repo>]", "automation", ["network"]]
|
|
755
|
-
},
|
|
756
|
-
"run:next": {
|
|
757
|
-
script: "scripts/run/run-next-cli.ts",
|
|
758
|
-
description: "Print the next step a fullrun takes, computed from the run\u2019s state",
|
|
759
|
-
category: "AI tools",
|
|
760
|
-
reference: ["<issue>", "automation", ["network"]]
|
|
761
|
-
},
|
|
762
|
-
"run:step": {
|
|
763
|
-
script: "scripts/run/run-step-cli.ts",
|
|
764
|
-
description: "Print the run\u2019s next single action, computed from the event stream, carry record and issue state",
|
|
765
|
-
category: "AI tools",
|
|
766
|
-
reference: ["<issue>", "automation", ["network", "files"]]
|
|
767
|
-
},
|
|
835
|
+
...RUN_COMMANDS,
|
|
768
836
|
"repo:party": {
|
|
769
837
|
script: "scripts/discovery/repo-party-cli.ts",
|
|
770
838
|
description: "Say whether a repository is first-party or third-party by owner equality (computed, not judged)",
|
|
@@ -788,7 +856,7 @@ var AI_COMMANDS = {
|
|
|
788
856
|
// `issue:cite` and `release:scope` were three round trips re-billing the run's full context each.
|
|
789
857
|
"run:tail": {
|
|
790
858
|
script: "scripts/run/run-tail-cli.ts",
|
|
791
|
-
description: "Close a run in one call: commit the observation ledger, read the citations, decide the release scope",
|
|
859
|
+
description: "Close a run in one call: return to the default branch, commit the observation ledger, read the citations, decide the release scope",
|
|
792
860
|
category: "AI tools",
|
|
793
861
|
reference: ["[<issue> ...]", "automation", ["git", "network"]]
|
|
794
862
|
},
|
|
@@ -801,7 +869,7 @@ var AI_COMMANDS = {
|
|
|
801
869
|
description: "Ship a change in one call: gate, commit/push/PR, the CI-wait merge and the report bookkeeping, stopping at the first failed step",
|
|
802
870
|
category: "AI tools",
|
|
803
871
|
reference: [
|
|
804
|
-
'"<title> #<N>" [<follow-up-N> ...] [--cite <N>] [--review] [--detach] [--notify-message <text> | --notify-message-file <path>] | --log <N>',
|
|
872
|
+
'"<title> #<N>" [<follow-up-N> ...] [--cite <N>] [--review] [--detach] [--body-file <path>] [--notify-message <text> | --notify-message-file <path>] | --log <N>',
|
|
805
873
|
"automation",
|
|
806
874
|
["git", "network"]
|
|
807
875
|
]
|
|
@@ -911,7 +979,7 @@ var DEV_COMMANDS = {
|
|
|
911
979
|
reference: ["", "automation", ["processes"]]
|
|
912
980
|
},
|
|
913
981
|
bytes: {
|
|
914
|
-
script: "scripts/
|
|
982
|
+
script: "scripts/lines/bytes-command.ts",
|
|
915
983
|
description: "Print an agent-read document's byte size against its ceiling and the headroom left",
|
|
916
984
|
category: "Development",
|
|
917
985
|
reference: [REQUIRED_FILE_ARGUMENTS, "developer", ["none"]]
|
|
@@ -986,6 +1054,12 @@ var DEV_COMMANDS = {
|
|
|
986
1054
|
category: "Development",
|
|
987
1055
|
reference: ["", "developer", ["files"]]
|
|
988
1056
|
},
|
|
1057
|
+
"exports:unused": {
|
|
1058
|
+
script: "scripts/exports/unused-members-cli.ts",
|
|
1059
|
+
description: "Report exported namespace members nothing reads (kit only; a consumer project skips it)",
|
|
1060
|
+
category: "Development",
|
|
1061
|
+
reference: ["", "developer", ["none"]]
|
|
1062
|
+
},
|
|
989
1063
|
"test:unit": {
|
|
990
1064
|
script: "scripts/test/test-unit-guard.ts",
|
|
991
1065
|
description: "Run unit tests with Vitest (skips when Vitest is absent; fails when it has no tests)",
|
|
@@ -1126,6 +1200,12 @@ var MAINTENANCE_COMMANDS = {
|
|
|
1126
1200
|
reference: ["[--fix]", "developer", ["files"]],
|
|
1127
1201
|
tsx_arguments: OPTIONAL_ENV_FILE_FLAGS
|
|
1128
1202
|
},
|
|
1203
|
+
"ruleset:check": {
|
|
1204
|
+
script: "scripts/repo/ruleset-check-cli.ts",
|
|
1205
|
+
description: "Check that the default branch requires every status check kit's workflows report (--apply adds the missing ones)",
|
|
1206
|
+
category: "Maintenance",
|
|
1207
|
+
reference: ["[--apply]", "maintainer", ["network"]]
|
|
1208
|
+
},
|
|
1129
1209
|
overrides: {
|
|
1130
1210
|
script: "scripts/overrides/overrides-check.ts",
|
|
1131
1211
|
description: "Check pnpm overrides for drift",
|
|
@@ -1228,7 +1308,7 @@ var PROJECT_COMMANDS = {
|
|
|
1228
1308
|
},
|
|
1229
1309
|
"registry:migrate": {
|
|
1230
1310
|
script: "scripts/registry-migration/migrate.ts",
|
|
1231
|
-
description: "Migrate a
|
|
1311
|
+
description: "Migrate a project from GitHub Packages to public npm",
|
|
1232
1312
|
category: "Project",
|
|
1233
1313
|
reference: ["", "developer", ["files", "network", "processes"]]
|
|
1234
1314
|
},
|
|
@@ -1244,6 +1324,12 @@ var PROJECT_COMMANDS = {
|
|
|
1244
1324
|
category: "Project",
|
|
1245
1325
|
reference: ["<PR>", "automation", ["network"]]
|
|
1246
1326
|
},
|
|
1327
|
+
"sonar:new-code": {
|
|
1328
|
+
script: "scripts/sonar/sonar-new-code-cli.ts",
|
|
1329
|
+
description: "Fail when a pull request adds any new SonarCloud issue or duplicated block",
|
|
1330
|
+
category: "Project",
|
|
1331
|
+
reference: ["<PR>", "automation", ["network"]]
|
|
1332
|
+
},
|
|
1247
1333
|
"ui:routes": {
|
|
1248
1334
|
script: "scripts/ui/ui-routes-cli.ts",
|
|
1249
1335
|
description: "List the screenshot-target routes the current change touches",
|
|
@@ -1309,6 +1395,14 @@ var VERSIONING_COMMANDS = {
|
|
|
1309
1395
|
description: "Say whether a release is owed, from the unreleased merges on main",
|
|
1310
1396
|
category: "Versioning",
|
|
1311
1397
|
reference: ["[--json]", "automation", ["none"]]
|
|
1398
|
+
},
|
|
1399
|
+
// Run by the release workflows, kit's and the one sync distributes, after a tag has published
|
|
1400
|
+
// (joshuafolkken/kit#3007). Settings come from the environment, so the workflow decides them.
|
|
1401
|
+
"release:github": {
|
|
1402
|
+
script: "scripts/release/github-release-cli.ts",
|
|
1403
|
+
description: "Create the GitHub Release for a published tag, with generated notes",
|
|
1404
|
+
category: "Versioning",
|
|
1405
|
+
reference: ["", "automation", ["network", "release"]]
|
|
1312
1406
|
}
|
|
1313
1407
|
};
|
|
1314
1408
|
|
|
@@ -1346,7 +1440,7 @@ var WORKFLOW_COMMANDS = {
|
|
|
1346
1440
|
// than dropped: `telegram_notify.send` now throws on missing credentials and on a failed send, so
|
|
1347
1441
|
// `josh notify` exits non-zero instead of warning and answering 0.
|
|
1348
1442
|
followup: {
|
|
1349
|
-
script: "scripts/
|
|
1443
|
+
script: "scripts/followup/git-followup-workflow.ts",
|
|
1350
1444
|
description: "Follow-up git workflow",
|
|
1351
1445
|
category: "Workflow",
|
|
1352
1446
|
reference: [
|
|
@@ -1357,7 +1451,7 @@ var WORKFLOW_COMMANDS = {
|
|
|
1357
1451
|
tsx_arguments: OPTIONAL_ENV_FILE_FLAGS
|
|
1358
1452
|
},
|
|
1359
1453
|
notify: {
|
|
1360
|
-
script: "scripts/
|
|
1454
|
+
script: "scripts/notify/telegram-test.ts",
|
|
1361
1455
|
description: "Send Telegram notification",
|
|
1362
1456
|
category: "Workflow",
|
|
1363
1457
|
reference: ["--task-type <type> --body <text>", "automation", ["notifications"]],
|
|
@@ -1400,7 +1494,7 @@ var WORKFLOW_COMMANDS = {
|
|
|
1400
1494
|
script: "scripts/issue/measure-rerun-cli.ts",
|
|
1401
1495
|
description: "Re-run a merged issue\u2019s baseline command and print the before/after pair",
|
|
1402
1496
|
category: "Workflow",
|
|
1403
|
-
reference: ["<
|
|
1497
|
+
reference: ["<issue-number>", "automation", ["network", "processes", "files"]]
|
|
1404
1498
|
},
|
|
1405
1499
|
// A script rather than an `sh -c` chain, because it has a precondition to enforce: run inside a
|
|
1406
1500
|
// linked work tree it would hijack the default branch from every other one (joshuafolkken/kit#1535).
|
|
@@ -1452,6 +1546,7 @@ var ALIASES = {
|
|
|
1452
1546
|
f: "format",
|
|
1453
1547
|
sd: "cspell:dot",
|
|
1454
1548
|
bh: "behavior",
|
|
1549
|
+
eu: "exports:unused",
|
|
1455
1550
|
t: "test",
|
|
1456
1551
|
tu: "test:unit",
|
|
1457
1552
|
tr: "test:related",
|
|
@@ -1474,6 +1569,7 @@ var ALIASES = {
|
|
|
1474
1569
|
v: "version",
|
|
1475
1570
|
r: "ranges",
|
|
1476
1571
|
dr: "doctor",
|
|
1572
|
+
rc: "ruleset:check",
|
|
1477
1573
|
pg: "propagate",
|
|
1478
1574
|
ad: "adopt",
|
|
1479
1575
|
ov: "overrides",
|
|
@@ -1657,7 +1753,6 @@ var repo_origin = {
|
|
|
1657
1753
|
};
|
|
1658
1754
|
|
|
1659
1755
|
// scripts/josh/run-github-prerequisite.ts
|
|
1660
|
-
import { execaSync as execaSync2 } from "execa";
|
|
1661
1756
|
var GITHUB_RUN_COMMANDS = /* @__PURE__ */ new Set([
|
|
1662
1757
|
"run:entry",
|
|
1663
1758
|
"run:prep",
|
|
@@ -1671,11 +1766,8 @@ function explanation(root, command) {
|
|
|
1671
1766
|
if (!existsSync3(path3.join(root, ".git"))) {
|
|
1672
1767
|
return `${command} requires Git and a GitHub origin. Run git init and add a GitHub origin first.`;
|
|
1673
1768
|
}
|
|
1674
|
-
const
|
|
1675
|
-
|
|
1676
|
-
reject: false
|
|
1677
|
-
});
|
|
1678
|
-
if (result.exitCode === 0 && repo_origin.parse_origin_url(result.stdout)) return void 0;
|
|
1769
|
+
const url = git_spawn_sync.origin_url(root);
|
|
1770
|
+
if (url !== void 0 && repo_origin.parse_origin_url(url)) return void 0;
|
|
1679
1771
|
return `${command} requires a GitHub origin. Add an origin pointing to GitHub first.`;
|
|
1680
1772
|
}
|
|
1681
1773
|
var run_github_prerequisite = { explanation };
|
|
@@ -1778,7 +1870,7 @@ function should_use_shell(executable) {
|
|
|
1778
1870
|
return process.platform === "win32" && executable !== process.execPath;
|
|
1779
1871
|
}
|
|
1780
1872
|
function spawn_script(tsx_executable, script_arguments) {
|
|
1781
|
-
const result =
|
|
1873
|
+
const result = execaSync2(tsx_executable, script_arguments, {
|
|
1782
1874
|
stdio: "inherit",
|
|
1783
1875
|
shell: should_use_shell(tsx_executable),
|
|
1784
1876
|
reject: false
|
|
@@ -1787,7 +1879,7 @@ function spawn_script(tsx_executable, script_arguments) {
|
|
|
1787
1879
|
}
|
|
1788
1880
|
function run_shell_command(shell, extra) {
|
|
1789
1881
|
const [executable = "", ...rest_arguments] = shell;
|
|
1790
|
-
const result =
|
|
1882
|
+
const result = execaSync2(executable, [...rest_arguments, ...extra], {
|
|
1791
1883
|
stdio: "inherit",
|
|
1792
1884
|
reject: false
|
|
1793
1885
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// scripts/claude/workflow-destination.ts
|
|
2
2
|
var WORKFLOW_DESTINATION_PATTERN = /(?:^|[/\\])\.github[/\\]workflows[/\\][^/\\]+\.ya?ml$/u;
|
|
3
|
+
var COMPOSITE_ACTION_DESTINATION_PATTERN = /(?:^|[/\\])\.github[/\\]actions[/\\][^/\\]+[/\\]action\.ya?ml$/u;
|
|
3
4
|
function is_workflow_destination(destination) {
|
|
4
|
-
return WORKFLOW_DESTINATION_PATTERN.test(destination);
|
|
5
|
+
return WORKFLOW_DESTINATION_PATTERN.test(destination) || COMPOSITE_ACTION_DESTINATION_PATTERN.test(destination);
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
// scripts/managed-marker/managed-marker-logic.ts
|