@khanhspring/forge-spec 1.2.0 → 1.4.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khanhspring/forge-spec",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Forge spec repo skills for Claude Code — brainstorm, spec, tasks, contract, and more",
5
5
  "type": "module",
6
6
  "bin": {
@@ -125,6 +125,7 @@ Feature {feature-slug} fully implemented across all modules.
125
125
  ```
126
126
 
127
127
  Then remind:
128
- > "After committing and pushing, module repos should run:
128
+ > "After committing and pushing, module repos linked via git submodule should run:
129
129
  > `git submodule update --remote specs`
130
- > to sync the updated task status."
130
+ > to sync the updated task status. Repos linked via a local junction/symlink pick up
131
+ > the change automatically — no action needed there."
@@ -149,10 +149,16 @@ Wait for confirmation. Do not write before the user says yes.
149
149
  Apply the change, preserving all other fields, sections, and formatting.
150
150
  Confirm: "Updated `{file}` — {summary of what changed}."
151
151
 
152
- If a module or submodule name changed, warn:
153
- > "Heads up: `{name}` is referenced by the module repo's `.forge/module.json`, by
154
- > `### {name}` headings in tasks.md, and by the `contracts/{name}/` folder. Update
155
- > those to match, or `/forge-implement` and `/forge-close` will break."
152
+ If a **module** name changed, warn:
153
+ > "Heads up: `{name}` is referenced by the module repo's `.forge/module.json` (`module`
154
+ > field), by `### {name}` headings in tasks.md, and by the `contracts/{name}/` folder.
155
+ > Update those to match, or `/forge-implement` and `/forge-close` will break."
156
+
157
+ If a **submodule** name changed, warn (module.json is unaffected — it never stores submodule
158
+ names):
159
+ > "Heads up: `{name}` is referenced by `### {name}` headings in tasks.md and by the
160
+ > `contracts/{name}/` folder. Update those to match, or `/forge-implement` and
161
+ > `/forge-close` will break."
156
162
 
157
163
  ## Schema Reference
158
164
 
@@ -199,8 +205,9 @@ If a module or submodule name changed, warn:
199
205
  - Never write before the user confirms the preview in Step 4
200
206
  - `module.name` must be kebab-case and unique; submodule names must be unique across
201
207
  the whole project (contracts and task headings use the submodule name directly)
202
- - `module.name` must match the `module` field in the module repo's `.forge/module.json`;
203
- submodule names must match the `submodules[].name` entries there
208
+ - `module.name` must match the `module` field in the module repo's `.forge/module.json`.
209
+ `module.json` never stores submodule names or structure module skills read those from
210
+ `project.json` directly at runtime, so a submodule rename here needs no module-repo change
204
211
  - A module has EITHER `port`+`stack` OR `submodules[]` — never both; submodules never
205
212
  have a `repo` field
206
213
  - Never silently remove a module or submodule that has tasks referencing it — warn first