@roulabs/mx 2.2.0 → 2.3.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/bin/mx.js +1 -1
- package/package.json +1 -1
- package/templates/CLAUDE.md +5 -2
package/bin/mx.js
CHANGED
|
@@ -363,7 +363,7 @@ function initRuntime(target0, templatesDir2) {
|
|
|
363
363
|
function ensureWorkScaffolding(root, workName) {
|
|
364
364
|
const created = [];
|
|
365
365
|
const wd = workDir(root, workName);
|
|
366
|
-
for (const d of ["wt", "scripts", "files", "tmp", "sessions", "hooks"]) {
|
|
366
|
+
for (const d of ["wt", "scripts", "bin", "files", "tmp", "sessions", "hooks"]) {
|
|
367
367
|
const p = path3.join(wd, d);
|
|
368
368
|
if (!exists(p)) {
|
|
369
369
|
fs4.mkdirSync(p, { recursive: true });
|
package/package.json
CHANGED
package/templates/CLAUDE.md
CHANGED
|
@@ -70,6 +70,7 @@ mx/
|
|
|
70
70
|
│ ├── repo-a/ # worktree of repo-a on this feature's branch
|
|
71
71
|
│ └── repo-b/ # worktree of repo-b on this feature's branch
|
|
72
72
|
├── scripts/ # ad-hoc per-work scripts
|
|
73
|
+
├── bin/ # executables/binaries a session builds or fetches
|
|
73
74
|
├── files/ # artifacts worth keeping (agent/user drop zone)
|
|
74
75
|
├── tmp/ # throwaway scratch — may be deleted at any time
|
|
75
76
|
├── hooks/ # per-work lifecycle hooks (see § Work lifecycle hooks)
|
|
@@ -91,7 +92,7 @@ mx/
|
|
|
91
92
|
- `works/<feature>/hooks/` holds **per-work lifecycle hooks** — mx-owned scripts mx runs around
|
|
92
93
|
`mx work archive`/`unarchive`. mx stamps documented no-op scripts you customize (see § Work
|
|
93
94
|
lifecycle hooks).
|
|
94
|
-
- `works/<feature>/{scripts,files,tmp}/` are the only places to put non-mx files in a work — see
|
|
95
|
+
- `works/<feature>/{scripts,bin,files,tmp}/` are the only places to put non-mx files in a work — see
|
|
95
96
|
§ The work folder holds mx-native files only.
|
|
96
97
|
|
|
97
98
|
## Work lifecycle hooks
|
|
@@ -131,6 +132,8 @@ subfolders. When you or the user need to write anything else, use one of these,
|
|
|
131
132
|
- **`tmp/`** — throwaway scratch. Its contents may be deleted at **any** time, with no guarantees —
|
|
132
133
|
never rely on anything here persisting.
|
|
133
134
|
- **`scripts/`** — ad-hoc scripts for this work.
|
|
135
|
+
- **`bin/`** — executables and binaries this work needs: tools you compile, CLIs you download, helper
|
|
136
|
+
binaries. Add it to `PATH` for the work if useful. Starts empty.
|
|
134
137
|
|
|
135
138
|
The one exception: a runtime file a session legitimately needs to create at the work root for tooling
|
|
136
139
|
to work (e.g. an MCP connection file like `.<something>-mcp`) is fine. The rule targets *ad-hoc*
|
|
@@ -306,7 +309,7 @@ clarity; dropping it works while you're inside the work.
|
|
|
306
309
|
5. **Don't destroy anything unless asked.** Worktrees stay until the user confirms the feature is merged.
|
|
307
310
|
Teardown keeps feature branches; never delete them.
|
|
308
311
|
6. **Never create ad-hoc files in the work-folder root.** Keepable artifacts go in `files/`, throwaway
|
|
309
|
-
scratch in `tmp/`, scripts in `scripts/`. The root is mx-native only (only exception: a tooling
|
|
312
|
+
scratch in `tmp/`, scripts in `scripts/`, executables/binaries in `bin/`. The root is mx-native only (only exception: a tooling
|
|
310
313
|
file a session genuinely needs there, e.g. an MCP connection file). See § The work folder holds
|
|
311
314
|
mx-native files only.
|
|
312
315
|
|