@aslomon/effectum 0.1.5 → 0.1.6
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/install.js +10 -0
- package/package.json +1 -1
- package/system/commands/setup.md +18 -6
package/bin/install.js
CHANGED
|
@@ -408,6 +408,16 @@ async function install(opts) {
|
|
|
408
408
|
const wResults = copyDir(workshopSrc, workshopDest, { skipExisting: true });
|
|
409
409
|
steps.push(...wResults);
|
|
410
410
|
|
|
411
|
+
// 6. Copy templates + stacks so /setup can find them after npx install
|
|
412
|
+
const templatesSrc = path.join(repoRoot, 'system', 'templates');
|
|
413
|
+
const stacksSrc = path.join(repoRoot, 'system', 'stacks');
|
|
414
|
+
const effectumDir = isGlobal
|
|
415
|
+
? path.join(os.homedir(), '.effectum')
|
|
416
|
+
: path.join(targetDir, '.effectum');
|
|
417
|
+
const tResults = copyDir(templatesSrc, path.join(effectumDir, 'templates'), { skipExisting: false });
|
|
418
|
+
const sResults = copyDir(stacksSrc, path.join(effectumDir, 'stacks'), { skipExisting: false });
|
|
419
|
+
steps.push(...tResults, ...sResults);
|
|
420
|
+
|
|
411
421
|
return steps;
|
|
412
422
|
}
|
|
413
423
|
|
package/package.json
CHANGED
package/system/commands/setup.md
CHANGED
|
@@ -12,7 +12,7 @@ Validate:
|
|
|
12
12
|
- The path exists. If not, ask: "This directory does not exist. Should I create it?"
|
|
13
13
|
- Check for an existing `.claude/` directory at the target path.
|
|
14
14
|
- If found, ask: **"A .claude/ directory already exists. Overwrite, merge, or abort?"**
|
|
15
|
-
- **Overwrite**:
|
|
15
|
+
- **Overwrite**: Replace CONFIGURATION files only (`CLAUDE.md`, `.claude/settings.json`, `.claude/guardrails.md`) but **keep all commands** already in `.claude/commands/`.
|
|
16
16
|
- **Merge**: Keep existing files, only add missing ones. Warn about conflicts.
|
|
17
17
|
- **Abort**: Stop the installation.
|
|
18
18
|
|
|
@@ -57,12 +57,24 @@ Options: English, German (du/informal), or specify another.
|
|
|
57
57
|
|
|
58
58
|
## Step 3: Read Templates and Stack Preset
|
|
59
59
|
|
|
60
|
-
Read
|
|
60
|
+
Read the template files — check these locations **in order** and use the first one found:
|
|
61
61
|
|
|
62
|
-
1.
|
|
63
|
-
2.
|
|
64
|
-
3. `system/templates
|
|
65
|
-
|
|
62
|
+
1. `.effectum/templates/` — local install (created by `npx @aslomon/effectum --local`)
|
|
63
|
+
2. `~/.effectum/templates/` — global install (created by `npx @aslomon/effectum --global`)
|
|
64
|
+
3. `system/templates/` — development (running directly from the repo)
|
|
65
|
+
|
|
66
|
+
Templates to read:
|
|
67
|
+
- `CLAUDE.md.tmpl` — Main configuration template
|
|
68
|
+
- `settings.json.tmpl` — Settings template
|
|
69
|
+
- `guardrails.md.tmpl` — Guardrails template
|
|
70
|
+
|
|
71
|
+
Read the stack preset file — check these locations **in order** and use the first one found:
|
|
72
|
+
|
|
73
|
+
1. `.effectum/stacks/{selected-stack}.md`
|
|
74
|
+
2. `~/.effectum/stacks/{selected-stack}.md`
|
|
75
|
+
3. `system/stacks/{selected-stack}.md`
|
|
76
|
+
|
|
77
|
+
Available stacks: `nextjs-supabase.md`, `python-fastapi.md`, `swift-ios.md`, `generic.md`
|
|
66
78
|
|
|
67
79
|
The stack preset file contains values for these placeholders:
|
|
68
80
|
|