nitm-ai-dev-toolkit 5.1.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [5.1.1] - 2026-10-21
11
+
12
+ ### Fixed
13
+
14
+ - Factory worktrees are created in `.worktrees/<id>/` at the repo root (the git root in a monorepo) instead of a sibling `../<repo>-factory/<id>/` folder outside the repo. The factory ensures `.worktrees/` is git-ignored.
15
+
10
16
  ## [5.1.0] - 2026-10-21
11
17
 
12
18
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nitm-ai-dev-toolkit",
3
- "version": "5.1.0",
3
+ "version": "5.1.1",
4
4
  "description": "Scaffold AI agent config (Cursor, GitHub Copilot, Claude Code, OpenCode, Codex) into any repo, then hand off to your AI agent to finish setup.",
5
5
  "bin": {
6
6
  "nitm-ai-dev-toolkit": "bin/cli.js"
@@ -100,7 +100,7 @@ Feature folders live under the roots in `{{FACTORY_FEATURE_PATHS}}`, relative to
100
100
  "tracker_errors": [],
101
101
  "branch": "factory/001-onboarding-bootstrap",
102
102
  "worktree": true,
103
- "worktree_path": "/abs/path/to/repo-factory/001-onboarding-bootstrap",
103
+ "worktree_path": "/abs/path/to/repo/.worktrees/001-onboarding-bootstrap",
104
104
  "mr": null,
105
105
  "failed_stage": null,
106
106
  "stage": "awaiting-plan",
@@ -291,10 +291,11 @@ If a ticket cannot be created, stop at `awaiting-plan`. Report the lines that ha
291
291
 
292
292
  ## Worktree
293
293
 
294
- The default build location. Use the [using-git-worktrees](../using-git-worktrees/SKILL.md) skill for its safety checks only. Its directory selection does not apply: the path below overrides it. Never edit `.gitignore` for the worktree.
294
+ The default build location. Follow the [using-git-worktrees](../using-git-worktrees/SKILL.md) skill. Factory always takes its project-local `.worktrees/` default and never the global `~/.worktrees` option, without asking.
295
295
 
296
296
  - Branch `factory/<id>` from `{{DEFAULT_BRANCH}}`.
297
- - Path `../<repo-name>-factory/<id>/` relative to the main checkout, where `<repo-name>` is the basename of the main checkout. Record it in `worktree_path`.
297
+ - Path `.worktrees/<id>/` at the root of the main checkout (the git root, inside the repo folder). Record its absolute path in `worktree_path`.
298
+ - Before the first worktree, run that skill's `.gitignore` check. If it had to add `.worktrees/`, commit that on `{{DEFAULT_BRANCH}}` or tell the operator to.
298
299
  - Create it at the start of the build stage, after the plan gate and tracking. Reuse it if it exists (rework and repair).
299
300
  - Copy the job's `spec.md`, `plan.md`, and `tasks.md` (if any) from the main checkout's feature folder into the same relative path in the worktree. The builder ticks `tasks.md` there. Then run the bootstrap (next subsection) and make the feature docs commit.
300
301
  - Job state stays in the main checkout's `factory/jobs/<id>/`, never in the worktree.
@@ -350,7 +351,7 @@ PATHS
350
351
  - Main checkout (absolute): <abs>
351
352
  - Job folder (absolute): <abs>/factory/jobs/<id>
352
353
  - Feature folder (absolute, main checkout): <abs>/<feature_dir>
353
- - Worktree (absolute): <abs>/../<repo-name>-factory/<id> (in-place: the main checkout)
354
+ - Worktree (absolute): <abs>/.worktrees/<id> (in-place: the main checkout)
354
355
  - Feature folder in worktree (absolute): <worktree>/<feature_dir> (in-place: the main checkout's)
355
356
  - qa.md (absolute, build location): <worktree>/<feature_dir>/qa.md
356
357
  - Branch: factory/<id>
@@ -97,7 +97,7 @@ Any value other than exactly `auto` is treated as `human`.
97
97
 
98
98
  ## Build location
99
99
 
100
- By default each job builds in its own git worktree on branch `factory/<id>`, so the main checkout stays free. A job's `job.json` records this in `worktree` (`true`) and the worktree path in `worktree_path`.
100
+ By default each job builds in its own git worktree on branch `factory/<id>`, so the main checkout stays free. A job's `job.json` records this in `worktree` (`true`) and the worktree path in `worktree_path`. Worktrees live in `.worktrees/<id>/` at the git root; the factory adds `.worktrees/` to `.gitignore` if it is missing.
101
101
 
102
102
  ### Worktree bootstrap
103
103
 
@@ -100,7 +100,7 @@ Feature folders live under the roots in `{{FACTORY_FEATURE_PATHS}}`, relative to
100
100
  "tracker_errors": [],
101
101
  "branch": "factory/001-onboarding-bootstrap",
102
102
  "worktree": true,
103
- "worktree_path": "/abs/path/to/repo-factory/001-onboarding-bootstrap",
103
+ "worktree_path": "/abs/path/to/repo/.worktrees/001-onboarding-bootstrap",
104
104
  "mr": null,
105
105
  "failed_stage": null,
106
106
  "stage": "awaiting-plan",
@@ -291,10 +291,11 @@ If a ticket cannot be created, stop at `awaiting-plan`. Report the lines that ha
291
291
 
292
292
  ## Worktree
293
293
 
294
- The default build location. Use the [using-git-worktrees](../using-git-worktrees/SKILL.md) skill for its safety checks only. Its directory selection does not apply: the path below overrides it. Never edit `.gitignore` for the worktree.
294
+ The default build location. Follow the [using-git-worktrees](../using-git-worktrees/SKILL.md) skill. Factory always takes its project-local `.worktrees/` default and never the global `~/.worktrees` option, without asking.
295
295
 
296
296
  - Branch `factory/<id>` from `{{DEFAULT_BRANCH}}`.
297
- - Path `../<repo-name>-factory/<id>/` relative to the main checkout, where `<repo-name>` is the basename of the main checkout. Record it in `worktree_path`.
297
+ - Path `.worktrees/<id>/` at the root of the main checkout (inside the repo folder). Record its absolute path in `worktree_path`.
298
+ - Before the first worktree, run that skill's `.gitignore` check. If it had to add `.worktrees/`, commit that on `{{DEFAULT_BRANCH}}` or tell the operator to.
298
299
  - Create it at the start of the build stage, after the plan gate and tracking. Reuse it if it exists (rework and repair).
299
300
  - Copy the job's `spec.md`, `plan.md`, and `tasks.md` (if any) from the main checkout's feature folder into the same relative path in the worktree. The builder ticks `tasks.md` there. Then run the bootstrap (next subsection) and make the feature docs commit.
300
301
  - Job state stays in the main checkout's `factory/jobs/<id>/`, never in the worktree.
@@ -350,7 +351,7 @@ PATHS
350
351
  - Main checkout (absolute): <abs>
351
352
  - Job folder (absolute): <abs>/factory/jobs/<id>
352
353
  - Feature folder (absolute, main checkout): <abs>/<feature_dir>
353
- - Worktree (absolute): <abs>/../<repo-name>-factory/<id> (in-place: the main checkout)
354
+ - Worktree (absolute): <abs>/.worktrees/<id> (in-place: the main checkout)
354
355
  - Feature folder in worktree (absolute): <worktree>/<feature_dir> (in-place: the main checkout's)
355
356
  - qa.md (absolute, build location): <worktree>/<feature_dir>/qa.md
356
357
  - Branch: factory/<id>
@@ -91,7 +91,7 @@ Any value other than exactly `auto` is treated as `human`.
91
91
 
92
92
  ## Build location
93
93
 
94
- By default each job builds in its own git worktree on branch `factory/<id>`, so the main checkout stays free. A job's `job.json` records this in `worktree` (`true`) and the worktree path in `worktree_path`.
94
+ By default each job builds in its own git worktree on branch `factory/<id>`, so the main checkout stays free. A job's `job.json` records this in `worktree` (`true`) and the worktree path in `worktree_path`. Worktrees live in `.worktrees/<id>/` at the repo root; the factory adds `.worktrees/` to `.gitignore` if it is missing.
95
95
 
96
96
  ### Worktree bootstrap
97
97