@ijfw/install 1.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,107 @@
1
+ # Changelog -- @ijfw/install
2
+
3
+ ## [1.1.0] -- 2026-04-19
4
+
5
+ Public launch. One install, every AI coding agent, zero config.
6
+
7
+ ### Cross-platform install verified
8
+
9
+ - macOS (Homebrew node)
10
+ - Linux (apt node) on a fresh hostkey VM
11
+ - Windows (Git Bash with Git for Windows)
12
+
13
+ ### Unified `ijfw` CLI
14
+
15
+ One dispatcher, one source of truth:
16
+
17
+ - `ijfw install` -- install or re-install IJFW into every detected agent
18
+ - `ijfw uninstall` (alias `ijfw off`) -- revert, preserving memory by default
19
+ - `ijfw preflight` -- 11-gate quality pipeline, blocking + advisory
20
+ - `ijfw dashboard start|stop|status` -- local dashboard, zero deps
21
+ - `ijfw doctor` -- CLI and API-key reachability with literal fix commands
22
+ - `ijfw status` -- hero line, recent activity, cache savings
23
+ - `ijfw update` -- pull latest, reinstall merge-safely
24
+ - `ijfw cross audit|research|critique|project-audit` -- multi-AI adversarial review
25
+ - `ijfw import claude-mem [--all]` -- absorb existing claude-mem memory, per-project routing
26
+ - `ijfw receipt last` -- shareable, redacted block from the last Trident run
27
+
28
+ ### Installer hardening
29
+
30
+ - Plugin cache invalidation on every install (fixes stale `.mcp.json`)
31
+ - Plugin source + `mcp-server` sibling-link auto-creation (POSIX) or copy (Windows)
32
+ - `server.js` falls back to HOME when CWD is unwritable -- no stderr spam during MCP handshake
33
+ - `.mcp.json` patched with absolute node + server.js paths at install time
34
+ - `install.ps1` invokes the same `install.sh` via bash.exe -- one code path, three platforms
35
+ - Post-install verification gates: plugin manifest, sibling link, MCP handshake, settings.json registration, CLI wiring. Exits non-zero if any gate fails.
36
+
37
+ ### claude-mem migration
38
+
39
+ - `ijfw import claude-mem --all` auto-discovers projects from claude-mem's `project` column, matches to on-disk locations via `~/.claude/projects` and common dev parents, routes each project's entries into its own `.ijfw/memory/`.
40
+ - Schema introspection (PRAGMA table_info) tolerates claude-mem version drift.
41
+ - Idempotent -- safe to rerun.
42
+
43
+ ### Publish
44
+
45
+ ```bash
46
+ cd installer && npm publish --access public
47
+ ```
48
+
49
+ ---
50
+
51
+ ## [1.1.0-rc.1] -- 2026-04-16 (pre-1.0 internal release candidate, superseded by 1.0.0)
52
+
53
+ Release candidate. Soak 24h before stable 1.1.0.
54
+
55
+ ### New verbs on the `ijfw` binary
56
+
57
+ - `ijfw preflight` -- 11-gate blocking quality pipeline. Replaces ad-hoc manual checks before publish.
58
+ - `ijfw dashboard start|stop|status` -- local SSE dashboard on 127.0.0.1:37891, zero deps, single-file HTML client.
59
+
60
+ ### Preflight highlights
61
+
62
+ - Gates: shellcheck, oxlint, eslint-security, PSScriptAnalyzer (CI Windows only), publint, gitleaks, audit-ci, knip, license-check, pack-smoke, upgrade-smoke.
63
+ - Blocking gates exit 1 on fail. Advisory gates warn only. Missing tools skip gracefully with install hint.
64
+ - `prepublishOnly` now runs preflight: no tag can publish with a blocking gate open.
65
+
66
+ ### Dashboard highlights
67
+
68
+ - Observation ledger at `~/.ijfw/observations.jsonl` fed by PostToolUse hooks on Claude, Codex, and Gemini.
69
+ - SSE live feed delivers new observations within ~150ms of ledger append.
70
+ - Localhost-only (127.0.0.1); non-loopback requests receive 403.
71
+ - Zero runtime dependencies. `npm ls --production`: 0 entries.
72
+
73
+ ### Unified cockpit: costs + savings + memory (Waves H + I)
74
+
75
+ - Hero bar shows live Today / 7d spend and a savings bubble (cache, memory, terse, trident savings totals).
76
+ - New endpoints: `/api/cost/today`, `/api/cost/period`, `/api/cost/history`, `/api/memory`, `/api/memory/search`, `/api/memory/recall-stats`. All localhost-guarded.
77
+ - Memory rail lists all `.ijfw/memory/` files with recall count badges and full-text BM25 search.
78
+ - Path traversal fix on `/api/memory/file`: uses `resolve()` before prefix check.
79
+ - Credit: cost tracking adapted from CodeBurn (AgentSeal, MIT) and ccusage (ryoppippi, MIT).
80
+
81
+ ### Tests
82
+
83
+ - 392 passing. Cost and memory module tests included in the mcp-server suite.
84
+
85
+ Full project changelog at <https://github.com/TheRealSeanDonahoe/ijfw/blob/main/CHANGELOG.md>.
86
+
87
+ ## [1.0.0] -- 2026-04-17
88
+
89
+ First stable release. One-command installer configures IJFW across six AI
90
+ coding agents (Claude Code, Codex, Gemini CLI, Cursor, Windsurf, Copilot).
91
+
92
+ ### Highlights
93
+
94
+ - Cross-platform: bash installer for macOS/Linux/WSL, PowerShell installer
95
+ for Windows (PS 5.1+, uses Git Bash under the hood -- no WSL required).
96
+ - Merge-safe: backs up existing platform configs before modifying, never
97
+ clobbers user MCP servers or model preferences.
98
+ - Pre-staging: configures every supported platform even if only a subset
99
+ is installed; the rest auto-activate the moment they are installed.
100
+ - Graceful fallbacks: state-machine JSONC parser for the Claude settings
101
+ merge; on parse failure, backs up the file and prints the manual
102
+ `/plugin marketplace add` + `/plugin install ijfw` commands.
103
+ - Polished output: ANSI-colored boxed banner, Live-now / Standing-by
104
+ summary, full-log redirection to `~/.ijfw/install.log`.
105
+ - Zero runtime dependencies; 4 KB tarball.
106
+
107
+ Full project changelog at <https://github.com/TheRealSeanDonahoe/ijfw/blob/main/CHANGELOG.md>.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sean Donahoe
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # @ijfw/install
2
+
3
+ One-command installer for [IJFW](https://github.com/TheRealSeanDonahoe/ijfw) -- the AI
4
+ efficiency layer for Claude Code, Codex, Gemini, Cursor, Windsurf, Copilot.
5
+
6
+ ## Install
7
+
8
+ ```bash
9
+ npm install -g @ijfw/install
10
+ ijfw demo
11
+ ```
12
+
13
+ IJFW configures every agent on your machine. The options below let you customize the install location, branch, or skip specific steps -- all are optional.
14
+
15
+ ### Options
16
+
17
+ | Flag | Default | Notes |
18
+ |------|---------|-------|
19
+ | `--dir <path>` | `$IJFW_HOME` or `~/.ijfw` | Install location |
20
+ | `--branch <name>` | latest released tag | Git branch or tag |
21
+ | `--no-marketplace` | off | Skip settings.json edits |
22
+ | `--yes` | off | Non-interactive |
23
+
24
+ ### Uninstall
25
+
26
+ ```bash
27
+ npx @ijfw/install uninstall # preserves ~/.ijfw/memory/
28
+ npx @ijfw/install uninstall --purge # removes memory too
29
+ ```
30
+
31
+ Memory is preserved across re-runs by default.
32
+
33
+ ## Preflight
34
+
35
+ Requires `node >=18`, `git`, `bash`. On native Windows use the PowerShell
36
+ installer (PS 5.1+), which shells Git Bash under the hood -- no WSL required:
37
+
38
+ ```powershell
39
+ iwr https://raw.githubusercontent.com/TheRealSeanDonahoe/ijfw/main/installer/src/install.ps1 -OutFile install.ps1
40
+ .\install.ps1 -Dir $env:USERPROFILE\.ijfw
41
+ ```
42
+
43
+ ## Build (contributors)
44
+
45
+ ```bash
46
+ cd installer
47
+ npm install
48
+ npm run build # outputs dist/install.js + dist/uninstall.js
49
+ npm test
50
+ npm run pack:check
51
+ ```
52
+
53
+ Tarball target: **<100 KB**.