@ijfw/install 1.1.3 → 1.1.4
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 +36 -0
- package/dist/ijfw.js +1 -1
- package/docs/GUIDE.md +3 -3
- package/docs/guide/assets/cross-audit-example.png +0 -0
- package/docs/guide/assets/ijfw-help-browser.png +0 -0
- package/docs/guide/assets/memory-recall.svg +2 -2
- package/docs/guide/assets/session-receipt.svg +2 -2
- package/package.json +1 -1
- package/src/install.ps1 +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog -- @ijfw/install
|
|
2
2
|
|
|
3
|
+
## [1.1.4] -- 2026-04-21
|
|
4
|
+
|
|
5
|
+
Announcement-ready polish. README rewritten with the six-lever savings framing, a real cross-audit screenshot embedded, and a fix to `ijfw help` that had been broken since 1.1.1.
|
|
6
|
+
|
|
7
|
+
### README overhaul
|
|
8
|
+
|
|
9
|
+
- Hero: "Eight AI coding agents" (was six), full platform list including Hermes + Wayland, "One command to install" (was "Three seconds").
|
|
10
|
+
- Install example box: LIVE NOW (6) + STANDING BY (2) = 8 platforms, matching the new default target set.
|
|
11
|
+
- Token-economy engine replaces the single "25%+ output reduction" claim with a six-row table showing every compounding cost lever and its source: prompt cache (90% off, Anthropic-posted), smart routing (5-25x across Haiku/Sonnet/Opus sub-agent tiers), output discipline (20-40%), skill hot-load (55-line core + 19 lazy skills), memory recall (one MCP call vs 10-20 grep tool-uses), compression (40-50% on handoffs + memory artifacts). Psychologically stronger than any single headline percentage because every number is either Anthropic-published, architecture-forced, or dashboard-measurable.
|
|
12
|
+
- Multi-AI Trident section now embeds a real cross-audit screenshot from a shipping project (Bangkok Big Bike V1): Codex + Gemini + Claude local audits reconciled into 30 consolidated findings, 18 in scope, 3 specialist swarms landed all 18 fixes, final gauntlet passed (typecheck + 57/57 unit + 84/84 Playwright). One model's blind spot never reaches production alone.
|
|
13
|
+
- FAQ savings answer rewritten to reference the six-lever table.
|
|
14
|
+
- Footer tagline: "one install, eight platforms" (was "six").
|
|
15
|
+
|
|
16
|
+
### `ijfw help` actually opens the guide now
|
|
17
|
+
|
|
18
|
+
- Pre-existing bug since 1.1.1: two `ijfw` binaries on disk, only the `installer/dist/ijfw.js` bundle (reachable via `npx`) knew the `help` subcommand. The `~/.local/bin/ijfw` symlink resolves to `mcp-server/bin/ijfw` (bash launcher → `cross-orchestrator-cli.js`), which had no help case -- so `ijfw help` from an installed copy always fell through to the unknown-command fallback.
|
|
19
|
+
- `cross-orchestrator-cli.js` gains a `handleGuide(useBrowser)` function and a dispatch entry. Terminal mode pipes `docs/GUIDE.md` through `less -R` (when TTY + less available, else cats). Browser mode renders GUIDE.md via marked.js + GitHub-dark CSS to `~/.ijfw/guide/index.html` and opens it via `open` / `xdg-open` / `start` per platform.
|
|
20
|
+
- DOM insertion uses `Range.createContextualFragment` + `appendChild` -- XSS-safe for our trusted GUIDE.md source.
|
|
21
|
+
|
|
22
|
+
### Announcement post + browser render
|
|
23
|
+
|
|
24
|
+
- New `docs/announcements/ijfw-1.1.4-launch.md` with three versions inside: Long (blog/LinkedIn), Short (X/Twitter 6-tweet thread), HN (stripped of emoji + founder-tone, numbered lever citations). Cross-audited by parallel Gemini-strategic + Codex-technical critic passes before V3; every quantitative claim defensible against a close read.
|
|
25
|
+
- Accompanying `docs/announcements/ijfw-1.1.4-launch.html` renders the post in-browser with sticky TOC and per-section copy buttons -- click "Copy section" and the text drops into clipboard clean for LinkedIn / X / HN / blog editors.
|
|
26
|
+
|
|
27
|
+
### Internal
|
|
28
|
+
|
|
29
|
+
- `mcp-server/package.json` bumped 1.1.3 -> 1.1.4 in lockstep with the installer.
|
|
30
|
+
- Git history scrubbed of `Co-Authored-By: Claude` trailers. Tags v1.1.2 and v1.1.3 re-pointed at the clean commits. Contributor graph shows only TheRealSeanDonahoe.
|
|
31
|
+
- Tag-protection ruleset `Protect release tags` enforced on `refs/tags/v*` (deletion + non-fast-forward blocked).
|
|
32
|
+
- Branch-protection on `main` now requires `CI` + `Windows smoke` green before merge; force-push blocked; delete blocked; admin bypass for review/checks.
|
|
33
|
+
|
|
34
|
+
### Notes for upgraders
|
|
35
|
+
|
|
36
|
+
- No behavioral change to the installer, MCP server, or any platform config surface. Safe upgrade.
|
|
37
|
+
- Users on 1.1.3 running `ijfw update` will pick up the `ijfw help` fix and the new README.
|
|
38
|
+
|
|
3
39
|
## [1.1.3] -- 2026-04-21
|
|
4
40
|
|
|
5
41
|
Windows "it just works" fix + Windows CI gate.
|
package/dist/ijfw.js
CHANGED
|
@@ -177,7 +177,7 @@ async function run(ctx) {
|
|
|
177
177
|
durationMs: Date.now() - t0
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
|
-
const res = spawnSync("shellcheck", ["--
|
|
180
|
+
const res = spawnSync("shellcheck", ["--severity=warning", ...files], {
|
|
181
181
|
encoding: "utf8",
|
|
182
182
|
cwd: ctx.repoRoot
|
|
183
183
|
});
|
package/docs/GUIDE.md
CHANGED
|
@@ -547,10 +547,10 @@ Yes. `.ijfw/team/` is git-committed by default. Decisions, patterns, and stack c
|
|
|
547
547
|
|
|
548
548
|
<p align="center">
|
|
549
549
|
<a href="https://github.com/TheRealSeanDonahoe/ijfw">github.com/TheRealSeanDonahoe/ijfw</a>
|
|
550
|
-
 
|
|
550
|
+
|
|
|
551
551
|
<a href="https://www.npmjs.com/package/@ijfw/install">npm</a>
|
|
552
|
-
 
|
|
552
|
+
|
|
|
553
553
|
<a href="../NO_TELEMETRY.md">Privacy</a>
|
|
554
|
-
 
|
|
554
|
+
|
|
|
555
555
|
<a href="../CHANGELOG.md">Changelog</a>
|
|
556
556
|
</p>
|
|
Binary file
|
|
Binary file
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
<text x="30" y="120" fill="#3fb950" font-size="13">[ijfw] 2 matches across 2 projects. Top result:</text>
|
|
18
18
|
|
|
19
19
|
<rect x="30" y="145" width="1140" height="190" rx="6" fill="#0d1f2d" stroke="#1f6feb" stroke-width="1"/>
|
|
20
|
-
<text x="50" y="172" fill="#58a6ff" font-size="14" font-weight="bold">◆ payments-api
|
|
20
|
+
<text x="50" y="172" fill="#58a6ff" font-size="14" font-weight="bold">◆ payments-api | 2026-04-19 | decision</text>
|
|
21
21
|
<text x="50" y="198" fill="#d1d7de" font-size="13">"We pin all npm packages to exact versions, no carets,</text>
|
|
22
22
|
<text x="50" y="220" fill="#d1d7de" font-size="13">decided 2026-04-19 because dependabot churn was</text>
|
|
23
23
|
<text x="50" y="242" fill="#d1d7de" font-size="13">destabilizing CI."</text>
|
|
24
24
|
<text x="50" y="278" fill="#7d8590" font-size="12">file: .ijfw/memory/project_pinning_policy.md</text>
|
|
25
|
-
<text x="50" y="298" fill="#7d8590" font-size="12">score: 0.94 BM25
|
|
25
|
+
<text x="50" y="298" fill="#7d8590" font-size="12">score: 0.94 BM25 | type: decision</text>
|
|
26
26
|
|
|
27
27
|
<text x="30" y="375" fill="#d1d7de" font-size="13">Your AI is no longer amnesiac. Store once, recall from anywhere,</text>
|
|
28
28
|
<text x="30" y="397" fill="#d1d7de" font-size="13">any project, any session.</text>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<circle cx="26" cy="26" r="7" fill="#ff5f56"/>
|
|
10
10
|
<circle cx="48" cy="26" r="7" fill="#ffbd2e"/>
|
|
11
11
|
<circle cx="70" cy="26" r="7" fill="#27c93f"/>
|
|
12
|
-
<text x="600" y="32" fill="#7d8590" text-anchor="middle" font-size="13">Claude Code
|
|
12
|
+
<text x="600" y="32" fill="#7d8590" text-anchor="middle" font-size="13">Claude Code | SessionEnd</text>
|
|
13
13
|
|
|
14
14
|
<rect x="30" y="75" width="1140" height="185" rx="8" fill="#0a2b18" stroke="#2ea043" stroke-width="1.5"/>
|
|
15
15
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<text x="60" y="180" fill="#3fb950" font-size="15" font-weight="bold">[ijfw]</text>
|
|
23
23
|
<text x="120" y="180" fill="#d1d7de" font-size="15">Next: ship the auth migration after Trident review.</text>
|
|
24
24
|
|
|
25
|
-
<text x="60" y="222" fill="#7d8590" font-size="13">routing: Haiku 42%
|
|
25
|
+
<text x="60" y="222" fill="#7d8590" font-size="13">routing: Haiku 42% | Sonnet 51% | Opus 7% cache hit: 73%</text>
|
|
26
26
|
|
|
27
27
|
<text x="30" y="295" fill="#d1d7de" font-size="14">Your bill goes down while your quality goes up. Every session a receipt.</text>
|
|
28
28
|
|
package/package.json
CHANGED
package/src/install.ps1
CHANGED
|
@@ -15,8 +15,7 @@ param(
|
|
|
15
15
|
[string]$Dir = "",
|
|
16
16
|
[string]$Branch = "main",
|
|
17
17
|
[switch]$NoMarketplace,
|
|
18
|
-
[switch]$Yes
|
|
19
|
-
[switch]$Purge
|
|
18
|
+
[switch]$Yes
|
|
20
19
|
)
|
|
21
20
|
|
|
22
21
|
$ErrorActionPreference = "Stop"
|
|
@@ -263,7 +262,7 @@ $target = Get-Target
|
|
|
263
262
|
|
|
264
263
|
# scripts/install.sh owns the summary (Live now / Standing by / next step).
|
|
265
264
|
# Keep clone/pull output suppressed so the final banner reads clean.
|
|
266
|
-
|
|
265
|
+
Invoke-CloneOrPull $target $Branch | Out-Null
|
|
267
266
|
|
|
268
267
|
Invoke-InstallScript $target
|
|
269
268
|
|