Repository navigation
Releases: darkaimzzz/AgentPack
Release list
v2.1.0
Open-source repository refactor. No functional change to the application.
- MIT license.
- Contributor and security documentation; issue templates.
- CI on every pull request; releases build and publish from a tag.
- Hackathon material removed; README rewritten as a plain install-and-use guide.
- Fixed an inconsistent package-lock.json entry that made npm ci refuse the tree.
Download: AgentPack-2.1.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node. Windows SmartScreen will warn on first launch because the artifact is unsigned.
SHA-256: 3594971bd1e0249d39064ada3d5ca79986fc6507ca029fb6cbebfb8864f3af46
AgentPack 2.0.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-2.0.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-2.0.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.6.0
An external agent reviewed the codebase and filed seven defects. All seven are fixed. It had no access to the reasoning behind the code, ran its own fault-injection fixtures, and found three P1 failures that the normal-path tests were concealing. Each was reproduced with the reviewer's own fixture before being touched, and every defect provable without a desktop window now has a regression test.
| Severity | Defect | Fix |
|---|---|---|
| P1 | A failed post-write snapshot defeated rollback, and dormancy dropped its own recovery entry | The post-image hash is taken before the copy, and the copy may fail; a written flag separates "nothing to undo" from "cannot attribute"; the dormant stash is dropped only once the live entry is demonstrably back |
| P1 | A malformed existing config leaked pre-existing credentials into errors | The TOML parser appends offending source lines to its message, and those lines can hold secrets from entries we never wrote and therefore cannot redact. Every parse error now keeps the diagnostic and drops the excerpt |
| P1 | An errored watcher stayed open and kept activating capabilities after Stop | It closes itself before reporting, and the IPC layer stops through the handle instead of discarding the only reference that could close it |
| P2 | Duplicate JSONC sections produced Installed/Verified with no readable entry | Duplicated top-level keys are refused as ambiguous, and install now reads every entry back before claiming success |
| P2 | A validly quoted marketplace table blocked Codex plugin installation | The document is parsed rather than matched with a bare-header regex |
| P2 | The rehearsal falsely passed a partial cross-agent conflict | Conflicts count as problems, and the clean-baseline guard reports partial dirtiness |
| P3 | Rollback deleted comments added after installation | Wholesale byte restore is reserved for formats that cannot carry comments; TOML and JSONC take a surgical path, and table removal no longer swallows trailing comments |
The review is published in full, unedited, at docs/INDEPENDENT-REVIEW.md.
A production pass over the whole codebase. No TODOs, no debug output outside test fixtures, no commented-out code and no silently empty catch blocks. What it did find: the Codex adapter removed plugin tables with a hand-rolled scan that duplicated the shared one — and because it was a separate copy, it never received the trailing-comment fix, so plugin removal still deleted user comments where server removal no longer did. Both paths now share one implementation. Seven helpers that nothing outside their own module imported are private again, and a branch_glob trigger variant that was declared but never implemented has been removed rather than left promising behaviour the engine does not have.
Server launches are 25× faster here. While verifying the fixes, the renderer acceptance run began failing. It would have been easy to blame the review fixes or machine load; it was neither. npm ping reports CERT_HAS_EXPIRED on this machine, and npm was retrying for a fixed ~70 seconds before falling back to a cache it already had. Health checks now ask npm to prefer that cache for the exact version each capability pins — 73 seconds per launch became under three. The network is still used when a package is genuinely missing.
Verification for this build
Run with no environment overrides:
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 31 / 31 |
| Self-check suite | 75 passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8 |
| Smoke | ok, no console errors |
Real tools/call |
3 / 3 |
| Packaged portable launch | exit 0 |
Known limits
Unchanged, and stated rather than hidden. A green tool list proves the server starts and answers, not that a credential is valid. Plugin status reads Configured, never Verified, because a plugin loads inside the agent where we cannot see it. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. Authenticated GitHub and Supabase operations have not been exercised with real accounts, and no coding-agent session has been started to confirm it loads the generated config. The artifact is unsigned.
Full assessment: docs/READINESS.md. Demo script: docs/DEMO.md.
SHA-256: 0532907D8ACE87EB963E615F691AFCEEB4EC020ADBCA2A1772D68ACCEE0B85D6
AgentPack 1.6.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-1.6.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-1.6.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.5.0
A drawn app icon, with purpose-built small sizes.
The icon file carried a single 256×256 image, so Windows was downscaling it to produce the 16 and 32px entries the taskbar actually displays — soft and muddy at the one size most people see. It now carries 16, 32, 48 and 256.
The small entries are rendered from a second, simplified drawing. Below 48px the three lamps and the D-pad turn to mush, so those sizes keep only the silhouette, the lens and the screen, with heavier strokes that survive downscaling.
| Source | Shows | |
|---|---|---|
| 48 and 256px | build/icon.svg |
lens, three lamps, screen, green button, D-pad |
| 16 and 32px (taskbar) | build/icon-small.svg |
case, lens, screen |
Both sources are SVG, consistent with the rest of this interface being drawn rather than shipped. node scripts/make-icon.mjs rebuilds the icon from them; it goes through npx rather than carrying sharp as a dependency for something that runs when the icon changes.
Unpackaged runs also get the icon now. Packaged builds take it from the executable's own resource, but npm run dev and npm run demo had no such resource and showed Electron's default.
Everything else is unchanged from 1.5.0: the startup sequence, 30 capabilities across 12 MCP servers and 18 plugins, four packs, and the Capability Load Manager.
Verification for this build
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 24 / 24 |
| Self-check suite | 75 passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8 |
| Smoke | ok, no console errors |
| Packaged portable launch | exit 0 |
| Embedded icon | 32×32 resource extracted back out of the executable and confirmed |
That last row matters more than it sounds: the icon was checked by reading it out of the finished binary, not by trusting the build log.
Known limits
Unchanged. A green tool list proves the server starts and answers, not that a credential is valid. Plugin status reads Configured, never Verified. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. The artifact is unsigned. Full assessment: docs/READINESS.md.
Demo script: docs/DEMO.md.
SHA-256: 91770653FA618EAE59FF39EE732952D60BB5D4A24D02196A65080739CF6BA78B
AgentPack 1.5.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-1.5.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-1.5.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.4.0
A startup sequence. The device opens on its hinge, its screen lights with the AgentPack wordmark, the camera pushes in, then pulls back and leaves that wordmark sitting in the app's own header. About two and a half seconds, and any click or keypress skips it.
It ships no new assets. The clamshell is two inline SVGs on HTML wrappers, so the hinge is a real 3D rotation and the artwork stays crisp at the zoom peak — a flat image could not have opened without being cut into layers, and would have blurred. The wordmark reuses the pixel typeface already vendored for the interface. No images, no audio.
The hand-off is measured, not hardcoded. The wordmark is positioned at the header's own rect and animated from the device screen, so the final keyframe is transform: none. It lands on the same pixel the header occupies, at any window size.
It costs no startup time. The intro overlays a fully mounted app rather than gating it, so the agent detection and registry load that run on mount resolve while it plays. Verified: three capability cards were already rendered underneath 200ms into the animation.
Motion preferences. The sequence respects prefers-reduced-motion, with one deliberate exception: --demo plays it regardless. Windows reports reduced motion far more often than expected — it does on the machine this was built on, even with the Settings toggle appearing to be on — and without that override the sequence would silently never play on a demo machine. AGENTPACK_BOOT=1 forces it on anywhere; AGENTPACK_NO_BOOT=1 forces it off.
Everything else is unchanged from 1.4.0: 30 capabilities across 12 MCP servers and 18 plugins, four packs, and recommendation rules that close the gap between what the detector recognises and what it can offer.
Verification for this build
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 24 / 24 |
| Self-check suite | 75 passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8 |
| Smoke | ok, no console errors |
| Packaged portable launch | exit 0 |
The animation itself was checked frame by frame rather than asserted: captures at 200 / 800 / 1400 / 1900 / 2300 / 2900ms show the closed device, the panel mid-swing, the lit screen, the camera push, the logo in flight over the revealed app, and a clean finish with the overlay gone. The skip path was verified to leave no stray elements and a still-draggable window.
Known limits
Unchanged. A green tool list proves the server starts and answers, not that a credential is valid. Plugin status reads Configured, never Verified, because a plugin loads inside the agent where we cannot see it. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. The artifact is unsigned. Full assessment: docs/READINESS.md.
Demo script: docs/DEMO.md.
SHA-256: 130F75D91DFD0F506E51B89300B657FCA7F81ECD1F525E568CA9D054582EB173
AgentPack 1.4.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-1.4.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-1.4.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.3.0
The catalogue goes from 13 capabilities to 30, and from 2 packs to 4.
The point is not the count. The detector recognised around forty signals but only five led anywhere — it would correctly identify Postgres, MongoDB, Redis, React Native or Netlify in a project and then recommend nothing for any of them. Most of this release closes that loop.
Six new MCP servers, each launched and made to answer tools/list before being listed: Memory (9 tools), Chrome DevTools (29), Git (28), SQL Database (2), MongoDB (20) and Firecrawl (27). The SQL Database entry speaks PostgreSQL, MySQL, MariaDB, SQLite and SQL Server, so one capability covers four detection signals.
Both database servers take their connection string from the environment rather than from the command line. A DSN carries a password, and command-line inputs are substituted into arguments and exported in shareable pack manifests by design — credentials are not. Verified: the connection string reaches the agent config, where the agent needs it, and appears nowhere in the install ledger.
Eleven new plugins, all from anthropics/claude-plugins-official: GitHub, Vercel, Netlify, Sentry, Linear, Notion, Expo, Prisma, Redis, Semgrep and Figma. AgentPack already registered that marketplace, so installing all eleven adds exactly one marketplace entry and no new trust surface. Plugin names are copied from that repository's manifest rather than inferred — two of them differ from the name shown in the UI.
Two new packs. Agent Craft (Superpowers, Karpathy Skills, Taste, Plannotator) needs no credentials at all, so it installs live in a demo with nothing configured. Data & Backend covers the database story.
The GitHub entry is now honest. The pinned @modelcontextprotocol/server-github is deprecated upstream, so the official GitHub plugin is offered alongside it, and the MCP's description says plainly that it is kept because it is the one of the two that works in OpenCode. Separately: the npm package published as github-mcp-server belongs to an unrelated author and is deliberately not used — it would have received the user's personal access token.
One interface fix. At the 900px minimum window width the header overflowed and pushed the window controls off the right edge, leaving no way to close a frameless window. The step indicator now collapses first, since the current step is already the page heading.
Verification for this build
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 24 / 24 |
| Self-check suite | 75 passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8 |
| Packaged portable launch | exit 0 |
Every new MCP was probed live; every new plugin was installed into a sandbox, its written plugin@marketplace id checked against the upstream manifest by hand, and then rolled back to byte-clean configs. Both new packs were installed and rolled back the same way.
Known limits
Unchanged. A green tool list proves the server starts and answers, not that a credential is valid — MongoDB and Firecrawl list their tools even with a fake key. Plugin status reads Configured, never Verified, because a plugin loads inside the agent where we cannot see it. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. The artifact is unsigned. Full assessment: docs/READINESS.md.
Demo script: docs/DEMO.md.
SHA-256: D80632B3CB22AA614296BD025DEC3F07FE07854A78BE36116BC43CFD34B3EC26
AgentPack 1.3.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-1.3.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-1.3.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.2.0
This release is the interface. The engine is unchanged.
A frameless window. The OS title bar and the unused File / Edit / View / Window menu are gone. AgentPack draws its own title bar — the header is the drag region, with its own minimise, maximise and close controls, routed through IPC channels that carry the same trusted-sender check as everything else. If a control's channel is ever missing, the app says so instead of leaving a button that quietly does nothing.
A Pokédex theme. The window is a red device case with a cream screen set into it: Pokéball status dots, selection checkboxes and install spinner, pixel headings, and chunky pressed-plastic buttons. Log output and discovered tool lists stay on a dark panel, where dense monospace text remains readable from across a room.
Everything is drawn in CSS — no image assets, and no Nintendo artwork, logos or characters. The one added file is the Press Start 2P typeface (SIL OFL), vendored with its licence so builds stay offline-reproducible.
The theme is a restyle in place: every class name and button label the test suite hooks into is unchanged, which is what made it verifiable rather than hopeful.
Verification for this build
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 24 / 24 |
| Self-check suite | all passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8 |
| Smoke | ok, no console errors |
| Packaged portable launch | exit 0 |
Known limits
Unchanged from 1.2.0. Authenticated GitHub and Supabase operations have not been exercised with real accounts, and no coding-agent session has been started to watch it load the generated config — so plugin status reads Configured, never Verified. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. The artifact is unsigned. Full assessment: docs/READINESS.md.
Demo script: docs/DEMO.md.
SHA-256: 43AB0831DD06536E31EEFF1BA9AFAEF24665AF260AB0CC39701D392D735C431A
AgentPack 1.2.0
Cross-agent package manager for MCP servers and plugins — Claude Code, Codex and OpenCode.
Download: AgentPack-1.2.0-win-x64.exe (Windows x64, portable, unsigned). Requires Node.js 22.17+ with npm on PATH; the app bundles Electron but launches MCP servers with the machine's Node.
Run AgentPack-1.2.0-win-x64.exe --demo for a sandboxed demo with three sample agent configs and a nested Next.js + Supabase project. Without --demo it reads and writes your real agent configuration.
What changed since 1.1.0
Safer writes. Every state and config write is atomic (temp file plus rename). Rollback is now ownership-aware: it compares before, after and current state entry by entry, so unrelated later edits survive, and an edit to an entry AgentPack installed produces a reported conflict instead of a silent overwrite. Installation stops writing to a config another process touched mid-run.
Process handling. Windows no longer routes npm/npx through a shell — node runs npm's own entry point directly. Server probes paginate tools/list, validate tool shape, bound their output, and clean up child process trees.
Desktop hardening. Renderer sandbox enabled, navigation and new windows blocked, IPC restricted to the owning window's main frame, and desktop mutations serialized behind a lock.
Detection. Bounded globbing with symlink and generated-directory exclusions. Nested next.config.* and supabase/config.toml inside monorepo apps now count, and real .env* files contribute variable names. DATABASE_URL alone no longer implies PostgreSQL.
Capability Load Manager. An unmeasured machine showed "0 / 0", which read as an empty machine rather than an unmeasured one. That state now shows em dashes and an explicit Measure context cost button.
Docs. docs/DEMO.md is a full demo workflow — preparation, a five-minute script with exact clicks, judge questions and a failure playbook.
Verification for this build
| Check | Result |
|---|---|
| TypeScript | clean |
| Focused regressions | 24 / 24 |
| Self-check suite | all passed |
| Engine acceptance | 14 / 14, configs restored byte-identically |
| Renderer UI (real preload + IPC) | 8 / 8; 39 tools measured across three MCP servers |
| Packaged portable launch | exit 0 |
Known limits
Authenticated GitHub and Supabase operations have not been exercised with real accounts, and no coding-agent session has been started to watch it load the generated config — so plugin status reads Configured, never Verified. Context figures are tool-schema estimates (characters divided by four), not billed tokens, and apply to an agent's next session. The artifact is unsigned. Full assessment: docs/READINESS.md.
SHA-256: A6491BD3981A30FC6AB0077365DC7F990AD298DD9C58038A9752F9782AC76CCE