@joshuafolkken/kit 1.947.0 → 1.957.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.
Files changed (41) hide show
  1. package/README.md +4 -5
  2. package/dist/hooks/batch-guard.js +4 -4
  3. package/dist/hooks/{chunk-V7RH56HU.js → chunk-244WYOEO.js} +2 -2
  4. package/dist/hooks/{chunk-IA7WC4NS.js → chunk-3ON7HOYB.js} +1 -1
  5. package/dist/hooks/{chunk-EYFJ74MJ.js → chunk-BELI5XSS.js} +6 -2
  6. package/dist/hooks/{chunk-IBFC25IX.js → chunk-GNOITLRR.js} +4 -4
  7. package/dist/hooks/{chunk-M4U4YNRE.js → chunk-HJXQZ7V4.js} +3 -3
  8. package/dist/hooks/{chunk-3FWV6CFC.js → chunk-IJPBTDTB.js} +371 -178
  9. package/dist/hooks/{chunk-NKVLBB65.js → chunk-KOCK5FXQ.js} +3 -3
  10. package/dist/hooks/{chunk-O3PEDF3M.js → chunk-LDQDZYHX.js} +1 -1
  11. package/dist/hooks/{chunk-GIX5SAAB.js → chunk-M6K7EQDO.js} +8 -8
  12. package/dist/hooks/{chunk-OM5VDM6F.js → chunk-XSL4SRMA.js} +2 -2
  13. package/dist/hooks/codex-hook-adapter.js +10 -10
  14. package/dist/hooks/duplicate-read-guard.js +5 -5
  15. package/dist/hooks/format-edited.js +2 -2
  16. package/dist/hooks/investigation-guard.js +5 -5
  17. package/dist/hooks/pretool-guard.js +9 -9
  18. package/dist/hooks/stop-guard.js +3 -3
  19. package/dist/josh.js +6 -2
  20. package/dist/version/index.js +7 -4
  21. package/package.json +1 -1
  22. package/scripts/backlog/backlog-drive-cli.ts +5 -1
  23. package/scripts/backlog/backlog-drive-retrospective.ts +20 -0
  24. package/scripts/backlog/backlog-drive.ts +7 -3
  25. package/scripts/git/git-worktree.ts +35 -4
  26. package/scripts/git/issue-labels.ts +19 -0
  27. package/scripts/git/repository-lock.ts +138 -0
  28. package/scripts/git/stash-sweep-lock.ts +6 -117
  29. package/scripts/init/project-profile.ts +9 -5
  30. package/scripts/init/start-plan.ts +145 -0
  31. package/scripts/init/start-prompt.ts +55 -0
  32. package/scripts/init/start-steps.ts +167 -0
  33. package/scripts/init/start.ts +92 -16
  34. package/scripts/josh/__snapshots__/josh-command-map.test.ts.snap +2 -1
  35. package/scripts/josh/josh-commands-project.ts +6 -2
  36. package/scripts/run/run-retrospective.ts +34 -0
  37. package/scripts/run/run-step-cli.ts +3 -5
  38. package/scripts/run/run-step.ts +3 -15
  39. package/scripts/safe-chain/project-config.ts +55 -10
  40. package/scripts/sync/sync.ts +3 -1
  41. package/scripts/version/release-age.ts +11 -6
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @joshuafolkken/kit
2
2
 
3
- A development toolkit that sets up a repository for AI-assisted work with one command. `josh init` gives an AI assistant (Claude Code, Codex, Gemini, Cursor) the project's rules, and the `josh` CLI runs the checks and the Git / GitHub Issue workflow the same way in every project. You stop copying config between repositories and re-explaining conventions to the assistant.
3
+ A development toolkit that sets up a repository for AI-assisted work with one command. `josh init` gives an AI assistant (Claude Code, Codex, Gemini, Cursor) the project's rules, and the `josh` CLI runs the checks and the Git / GitHub Issue workflow the same way in every project. You stop copying config between repositories and re-explaining conventions to the assistant. For the problems kit exists to solve, see [why.md](./docs/why.md) (Japanese).
4
4
 
5
5
  ## What your project gets
6
6
 
@@ -26,6 +26,8 @@ pnpm josh format
26
26
  pnpm josh gate
27
27
  ```
28
28
 
29
+ `josh init` is the entry without GitHub. To start a new project on the GitHub Issue workflow (`kickoff`), run `pnpm exec josh start` instead of `josh init` — it also creates the Git repository, the GitHub repository and the labels ([init.md → `josh init` or `josh start`](./docs/init.md#josh-init-or-josh-start)).
30
+
29
31
  It needs [Node.js](https://nodejs.org/) 22.19.0 or later with [pnpm](https://pnpm.io/), even for a `static` project; [getting-started.md](./docs/getting-started.md) installs both. The global `josh` command ([cli.md](./docs/cli.md)) and the [gh CLI](https://cli.github.com/) for `josh version` and the GitHub Issue workflow are optional.
30
32
 
31
33
  ## Documentation
@@ -34,11 +36,8 @@ It needs [Node.js](https://nodejs.org/) 22.19.0 or later with [pnpm](https://pnp
34
36
 
35
37
  - [getting-started.md](./docs/getting-started.md) — first install for an `index.html` site or a non-Node project (`static`)
36
38
  - [package.md](./docs/package.md) — add kit to a Node project (`node`)
39
+ - [tutorial.md](./docs/tutorial.md) — your first change with an agent, from Issue to merge
37
40
  - [how-to.md](./docs/how-to.md) — step-by-step guides by task: update, release, run Issues, fix a failing gate
38
-
39
- **Understand kit**
40
-
41
- - [why.md](./docs/why.md) — the problems kit exists to solve
42
41
  - [overview.md](./docs/overview.md) — what kit sets up and how it works
43
42
 
44
43
  **Commands and configuration**
@@ -9,10 +9,10 @@ import {
9
9
  load_environment_file,
10
10
  notice_refusal_path,
11
11
  refusal_path
12
- } from "./chunk-V7RH56HU.js";
13
- import "./chunk-OM5VDM6F.js";
14
- import "./chunk-O3PEDF3M.js";
15
- import "./chunk-EYFJ74MJ.js";
12
+ } from "./chunk-244WYOEO.js";
13
+ import "./chunk-XSL4SRMA.js";
14
+ import "./chunk-LDQDZYHX.js";
15
+ import "./chunk-BELI5XSS.js";
16
16
  import "./chunk-WPALEIRX.js";
17
17
  import "./chunk-RKUAD3I6.js";
18
18
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  lane_guard_policy,
3
3
  time_batch_guard
4
- } from "./chunk-OM5VDM6F.js";
4
+ } from "./chunk-XSL4SRMA.js";
5
5
  import {
6
6
  hook_decision
7
- } from "./chunk-O3PEDF3M.js";
7
+ } from "./chunk-LDQDZYHX.js";
8
8
 
9
9
  // scripts/hooks/batch-guard.ts
10
10
  import { text } from "node:stream/consumers";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  ESLINT_EDIT_CACHE_FLAGS,
7
7
  time_density_hook
8
- } from "./chunk-EYFJ74MJ.js";
8
+ } from "./chunk-BELI5XSS.js";
9
9
 
10
10
  // scripts/hooks/format-edited-file.ts
11
11
  import { existsSync as existsSync2 } from "node:fs";
@@ -1016,9 +1016,13 @@ var PROJECT_COMMANDS = {
1016
1016
  },
1017
1017
  start: {
1018
1018
  script: "scripts/init/start.ts",
1019
- description: "Initialize a project for the GitHub Issue workflow",
1019
+ description: "Create a new project for the GitHub Issue workflow, from git init to labels",
1020
1020
  category: "Project",
1021
- reference: [PROFILE_ARGUMENTS, "developer", ["files", "git", "network"]]
1021
+ reference: [
1022
+ `${PROFILE_ARGUMENTS} [--yes] [--github] [--public]`,
1023
+ "developer",
1024
+ ["files", "git", "network", "processes"]
1025
+ ]
1022
1026
  },
1023
1027
  init: {
1024
1028
  script: "scripts/init/init.ts",
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  investigation_reads
3
- } from "./chunk-M4U4YNRE.js";
3
+ } from "./chunk-HJXQZ7V4.js";
4
4
  import {
5
5
  lane_guard_policy
6
- } from "./chunk-OM5VDM6F.js";
6
+ } from "./chunk-XSL4SRMA.js";
7
7
  import {
8
8
  hook_decision
9
- } from "./chunk-O3PEDF3M.js";
9
+ } from "./chunk-LDQDZYHX.js";
10
10
  import {
11
11
  json_value,
12
12
  time_spans
13
- } from "./chunk-EYFJ74MJ.js";
13
+ } from "./chunk-BELI5XSS.js";
14
14
 
15
15
  // scripts/delegation/duplicate-read-guard.ts
16
16
  import { statSync } from "node:fs";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  time_batch_guard
3
- } from "./chunk-OM5VDM6F.js";
3
+ } from "./chunk-XSL4SRMA.js";
4
4
  import {
5
5
  hook_decision
6
- } from "./chunk-O3PEDF3M.js";
6
+ } from "./chunk-LDQDZYHX.js";
7
7
  import {
8
8
  cost_blocks,
9
9
  cost_transcript,
10
10
  time_bundle_call,
11
11
  time_shell,
12
12
  time_spans
13
- } from "./chunk-EYFJ74MJ.js";
13
+ } from "./chunk-BELI5XSS.js";
14
14
 
15
15
  // scripts/delegation/investigation-reads.ts
16
16
  import path from "node:path";