@ijfw/install 1.2.10 → 1.3.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 +19 -0
- package/README.md +5 -3
- package/dist/ijfw.js +45 -24
- package/dist/install.js +1888 -86
- package/docs/GUIDE.md +4 -4
- package/package.json +2 -3
- package/src/install.ps1 +8 -15
package/docs/GUIDE.md
CHANGED
|
@@ -172,7 +172,7 @@ Run `/team setup` in Claude Code, or `ijfw team` from the shell, to see your cur
|
|
|
172
172
|
|------|-------|--------------|
|
|
173
173
|
| Hot | Plain markdown in `.ijfw/memory/` | Always on. Instant reads. Git friendly. |
|
|
174
174
|
| Warm | BM25 ranked search | Always on. Scales to around 10,000 entries per project. |
|
|
175
|
-
| Cold | Optional semantic vectors |
|
|
175
|
+
| Cold | Optional semantic vectors | Off by default. Requires a user-installed embedding provider. |
|
|
176
176
|
|
|
177
177
|
Every session also ends with an optional "dream cycle". Run `/consolidate` or "run a dream cycle" to have IJFW sweep the day's memory: promote observed patterns into your knowledge base, prune stale entries, reconcile contradictions, optionally lift winners into global memory so every future project benefits. Memory that grows sharper over time instead of heavier.
|
|
178
178
|
|
|
@@ -359,9 +359,9 @@ IJFW configures six AI coding agents with native affordances on each, plus a uni
|
|
|
359
359
|
|
|
360
360
|
| Platform | What ships |
|
|
361
361
|
|----------|------------|
|
|
362
|
-
| Claude Code | Native plugin via marketplace, MCP auto-registered,
|
|
363
|
-
| Codex CLI | Native plugin (`.codex-plugin/plugin.json`),
|
|
364
|
-
| Gemini CLI | Native extension (`gemini-extension.json`),
|
|
362
|
+
| Claude Code | Native plugin via marketplace, MCP auto-registered, 6 hook events / 12 scripts, 22 on-demand skills, 22 slash commands |
|
|
363
|
+
| Codex CLI | Native plugin (`.codex-plugin/plugin.json`), 19 skills, 5 hook events, MCP registered, marketplace-ready |
|
|
364
|
+
| Gemini CLI | Native extension (`gemini-extension.json`), 19 skills, 11 hook events, 19 TOML slash commands, policy engine, BeforeModel injection, checkpointing |
|
|
365
365
|
| Cursor | `.cursor/mcp.json` plus `.cursor/rules/ijfw.mdc`. Dashboard view-only. |
|
|
366
366
|
| Windsurf | `~/.codeium/windsurf/mcp_config.json` plus `.windsurfrules`. Dashboard view-only. |
|
|
367
367
|
| Copilot (VS Code) | `.vscode/mcp.json` plus `.github/copilot-instructions.md`. Dashboard view-only. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ijfw/install",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "One-command installer for IJFW -- the AI efficiency layer. One install, every AI coding agent, zero config.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -55,7 +55,6 @@
|
|
|
55
55
|
"url": "git+https://gitlab.com/therealseandonahoe/ijfw.git"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
|
-
"access": "public"
|
|
59
|
-
"provenance": true
|
|
58
|
+
"access": "public"
|
|
60
59
|
}
|
|
61
60
|
}
|
package/src/install.ps1
CHANGED
|
@@ -50,8 +50,8 @@ function Invoke-Preflight {
|
|
|
50
50
|
if (-not $node -or ([int]($node -replace 'v(\d+)\..*','$1') -lt 18)) {
|
|
51
51
|
$issues += "Node 18+ unlocks IJFW (found $node). Grab it from https://nodejs.org and we'll pick up where you left off."
|
|
52
52
|
}
|
|
53
|
-
if (-not (Test-Command git)) { $issues += "
|
|
54
|
-
|
|
53
|
+
if (-not (Test-Command git)) { $issues += "IJFW needs git (used to clone the source repo). Install: winget install --id Git.Git -e --source winget" }
|
|
54
|
+
# Bash is no longer required (v1.3.0 -- installer is Node-native).
|
|
55
55
|
return $issues
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -136,25 +136,18 @@ function Invoke-CloneOrPull($target, $branch) {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
function Invoke-InstallScript($target) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
$
|
|
142
|
-
if (-not $
|
|
143
|
-
# Propagate IJFW_HOME into the bash sub-call so a custom -Dir target lands
|
|
144
|
-
# platform configs / sentinels under the user's chosen tree instead of the
|
|
145
|
-
# default ~/.ijfw. Without this, .\install.ps1 -Dir D:\custom would scribble
|
|
146
|
-
# MCP entries into the user's real ~/.codex / ~/.gemini / ~/.claude pointing
|
|
147
|
-
# at the scratch dir.
|
|
139
|
+
# v1.3.0: hand off to the Node-native installer (installer/src/install.js).
|
|
140
|
+
# No more bash dependency. Identical code path on every platform.
|
|
141
|
+
$entry = Join-Path $target "installer\src\install.js"
|
|
142
|
+
if (-not (Test-Path $entry)) { throw "The installer entry is not at $entry. Run the full install from a fresh clone." }
|
|
148
143
|
$priorIjfwHome = $env:IJFW_HOME
|
|
149
144
|
$env:IJFW_HOME = $target
|
|
150
145
|
Push-Location $target
|
|
151
146
|
try {
|
|
152
147
|
$env:IJFW_NONINTERACTIVE = if ($env:CI -or $Yes) { "1" } else { "" }
|
|
153
|
-
# Let the PS wrapper own the final closer so Merge-Marketplace output
|
|
154
|
-
# lands above it. Bash skips its "Full log" line when this is set.
|
|
155
148
|
$env:IJFW_SKIP_CLOSER = "1"
|
|
156
|
-
& $
|
|
157
|
-
if ($LASTEXITCODE -ne 0) { throw "
|
|
149
|
+
& node $entry
|
|
150
|
+
if ($LASTEXITCODE -ne 0) { throw "Node installer exited $LASTEXITCODE." }
|
|
158
151
|
} finally {
|
|
159
152
|
Pop-Location
|
|
160
153
|
Remove-Item Env:\IJFW_SKIP_CLOSER -ErrorAction SilentlyContinue
|