@getappz/agentflare-darwin-arm64 1.6.0 → 1.8.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.
Files changed (3) hide show
  1. package/README.md +163 -56
  2. package/bin/agentflare +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  **A single Rust binary, no Node, no runtime dependencies — across Claude Code,
13
13
  Codex, Cursor, Windsurf, VS Code, Cline, and Continue.**
14
14
 
15
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
15
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
16
16
  [![Status: Beta](https://img.shields.io/badge/status-beta-yellow.svg)](STATUS.md)
17
17
 
18
18
  </div>
@@ -22,9 +22,10 @@ Codex, Cursor, Windsurf, VS Code, Cline, and Continue.**
22
22
  ## Status: Beta
23
23
 
24
24
  agentflare is under active development. The optimization layer (lean-ctx
25
- integration, memory, Caveman/Ponytail wiring) is the most mature part — CI-gated,
26
- tested, in daily use. The multi-agent coordination layer (tasks, review, coaching,
27
- artifacts, handoffs) is newer and still finding its shape: CLI flags, MCP tool
25
+ integration, memory, `optimize output`/`code`/`context` and the always-on
26
+ runtime layer) is the most mature part — CI-gated, tested, in daily use. The
27
+ multi-agent coordination layer (tasks, review, coaching, artifacts, handoffs,
28
+ daemon, `work`) is newer and still finding its shape: CLI flags, MCP tool
28
29
  names, and on-disk formats there can change without a major version bump.
29
30
 
30
31
  See **[STATUS.md](STATUS.md)** for what's stable vs. still moving, before you
@@ -41,8 +42,14 @@ agent session.
41
42
  |---|---|---|
42
43
  | **lean-ctx** | tool I/O *within* a session — reads, shell output, search, up to 99% | [yvgude/lean-ctx](https://github.com/yvgude/lean-ctx) |
43
44
  | **memory** (built-in) | knowledge *across* sessions — decisions, facts, preferences that survive a session ending | ships in the binary, SQLite + FTS5, no separate install |
44
- | **Caveman** (Claude Code only) | conversation verbosity, ~65% | companion plugin |
45
- | **Ponytail** (Claude Code only) | code-writing over-engineering | companion plugin |
45
+ | **`agentflare optimize output`** (formerly Caveman) | opt-in markdown prose compression, ~65% in published Claude Code benchmarks | built into the binary |
46
+ | **`agentflare optimize code`** (formerly Ponytail) | code-writing minimalism, hooked into Claude Code and Codex | built into the binary |
47
+ | **`agentflare optimize context`** | on-demand BM25/FTS5 relevance scoring over a session transcript (`optimize context score`). The `PreCompact` hook is wired for upgrade compatibility but inert: Claude Code's `PreCompact` accepts no injected context, so compaction survival is left to lean-ctx | built into the binary |
48
+ | **`agentflare optimize retrieve`** | reversible-compression retrieve (CCR) — pulls back the original, full-fidelity content that output/context compression replaced, when an agent actually needs it | built into the binary |
49
+ | **runtime layer** (always-on, no CLI surface) | automatic session hygiene and model-routing nudges, surfaced via hooks | built into the binary |
50
+
51
+ `agentflare optimize` also answers to its legacy alias `agentflare flare` (and `opt`) for
52
+ backward compat with earlier install scripts.
46
53
 
47
54
  **2. Coordination** — a lightweight, local-first backend for running *more than
48
55
  one* agent (or agent session) against the same body of work, exposed as MCP
@@ -51,14 +58,32 @@ tools any MCP-capable agent can call:
51
58
  | Capability | What it's for |
52
59
  |---|---|
53
60
  | **Work items** (`item`, `claim`) | A shared backlog — create/list/search items, claim one before working it so two agents don't collide, mark done. |
54
- | **Review** (`review`) | Submit findings against a diff/PR, run consensus across reviewers, track scores over time. |
61
+ | **Autonomous work** (`work`) | Claim an item, provision a worktree, run a headless agent against it, and report back (comment + PR) — unattended, end to end. |
62
+ | **Review** (`review`) | Submit findings against a diff/PR; agentflare verifies each citation against the actual diff, dedups overlapping findings, and tags each CONFIRMED/UNIQUE/DISPUTED/UNVERIFIED. |
55
63
  | **Artifacts** (`artifact`) | Publish specs, plans, and docs as versioned, shareable pages — a durable handoff surface between agents (and to you) instead of scratch files that vanish with the session. |
56
64
  | **Handoff** (`handoff`) | Pass context to a specific agent/runtime, addressed and threaded, when work moves from one agent to another. |
57
- | **Coaching** (`coaching` CLI + hook) | Small persistent nudges surfaced to an agent — at session start today, moving toward contextual triggers (tool-name and prompt-relevance) so rules only show up when actually relevant. |
58
- | **Comments, labels, projects, webhooks, channel_send** | Threaded discussion on items, categorization, cross-project views, and outbound notifications. |
59
-
60
- Everything above is local-first (SQLite-backed), no daemon, reachable over the
61
- same stdio MCP transport agentflare already exposes for the optimization layer.
65
+ | **Coaching** (`coaching` CLI + hook) | Small persistent nudges surfaced to an agent — at session start, and via contextual triggers (BM25 relevance against the tool call/prompt) so a rule only shows up when it's actually relevant. |
66
+ | **Daemon** (`daemon`) | Background lifecycle for the coordination layer — PID file, flock lock, Unix socket/Windows named-pipe IPC, launchd/systemd autostart, cached update checks. |
67
+ | **Dashboard** (`serve`) | Read-only web dashboard over the same local-first store — boards, items, cost, claims — for a glance without an MCP client. |
68
+ | **Friction logging** (`vent`) | Append-only per-repo JSONL of tool/workflow friction as it happens; a classifier auto-files the actionable entries as backlog items. |
69
+ | **GitHub ops** (`flare_git` MCP tool, `git` CLI) | PRs, issues, releases, and workflow runs against GitHub — including a bounded `pr_wait` poll — on top of the branch-protection/provenance git shim. |
70
+ | **Skills** (`skill`) | Registry for `SKILL.md` playbooks — search (BM25), load, and eval, so an agent can pull in a project-specific procedure on demand. |
71
+ | **Auth vault** (`auth`, `vault`) | Encrypted credential storage for agent auth profiles (rotation, cooldown, health scoring); `vault` separately holds lightweight per-project secrets (unlock/lock/print-env). |
72
+ | **Global search** (`search` MCP tool) | One entrypoint across 17 sources — store, memory, code, web, social, news, GitHub, academic, datasets, websites, weather, financial, crypto, fx, indicators, YouTube, Bluesky. |
73
+ | **`@mention` references** | Inline `@I…`/`@A…`/`@search:…` references in tool output resolve across items, artifacts, and search results. |
74
+ | **Git-aware PATH shim** | Impersonates `git`; branch-protection policy resolves against the *target file's own repo*, not the host process's cwd, so a stray write can't land on `master`/`main` from the wrong worktree. |
75
+ | **Comments, labels, projects, webhooks, channel_send** | Threaded discussion on items, categorization, cross-project views, and outbound notifications (Telegram/Slack/Discord). |
76
+
77
+ A companion crate, `flare-proxy`, runs an Anthropic-compatible HTTP proxy in
78
+ front of alternate/free OpenAI-style providers — useful for routing an agent
79
+ through a different backend without changing its client code; it isn't wired
80
+ into `agentflare init` yet.
81
+
82
+ Everything above is local-first (SQLite-backed) and reachable over the same
83
+ stdio MCP transport agentflare already exposes for the optimization layer, with
84
+ no daemon required. The `daemon` and `serve` dashboard are opt-in — background
85
+ lifecycle and a read-only HTTP view over the same store, not requirements for
86
+ MCP tool use.
62
87
 
63
88
  lean-ctx and the built-in memory aren't substitutes for each other — one saves
64
89
  tokens inside a session, the other saves the re-explaining tax across sessions.
@@ -73,11 +98,9 @@ any machine that installed Claude Code without separately installing Node.
73
98
  agentflare is a single static binary; the only runtime dependency is agentflare
74
99
  itself.
75
100
 
76
- **No plugin marketplace for Claude Code or Cursor** — `agentflare init --agent X`
77
- writes the hook config directly into the target's own settings file (Claude
78
- Code's `~/.claude/settings.json`, Cursor's `.cursor/hooks.json`). Codex is the
79
- one exception: its hook system only activates through its plugin loader, so
80
- that wiring ships as a small `.codex-plugin/` manifest instead.
101
+ **No plugin marketplace required for Claude Code, Codex, or Cursor** —
102
+ `agentflare init --agent X` writes hooks into the target's own settings file
103
+ (`~/.claude/settings.json`, `~/.codex/hooks.json`, or `.cursor/hooks.json`).
81
104
 
82
105
  ## Metrics
83
106
 
@@ -90,22 +113,22 @@ comparable benchmark suite yet (see [STATUS.md](STATUS.md)).
90
113
  | Tool | Published claim | Methodology | Confidence |
91
114
  |---|---|---|---|
92
115
  | lean-ctx | 98.1% compression (`map` mode), 96.7% (`signatures`), ~99.99% cached re-read | CI-gated, reproducible via `lean-ctx benchmark report .`, measured on a 50-file repo with the GPT-4o tokenizer | High — real, reproducible, methodology named |
93
- | Caveman | 65% avg output-token reduction (range 22–87%, 10 prompts) | Committed in `benchmarks/`/`evals/` — and its own docs flag the failure mode: ~1–1.5k input-token overhead per turn can make it net-negative on already-terse workloads (`docs/HONEST-NUMBERS.md`) | High — reproducible, unusually transparent about limits |
94
- | Ponytail | ~54% less code (94% ceiling on best task), ~20% cheaper, ~27% faster, 100% safe | 12 real feature tasks on a FastAPI+React repo, Haiku 4.5, n=4 — self-corrected an earlier overgeneralized single-shot figure | High — reproducible, self-corrected once already |
116
+ | `agentflare optimize output` | 65% avg output-token reduction (range 22–87%, 10 prompts) | Committed in `benchmarks/`/`evals/` — and its own docs flag the failure mode: ~1–1.5k input-token overhead per turn can make it net-negative on already-terse workloads (`docs/HONEST-NUMBERS.md`) | High — reproducible, unusually transparent about limits |
117
+ | `agentflare optimize code` | ~54% less code (94% ceiling on best task), ~20% cheaper, ~27% faster, 100% safe | 12 real feature tasks on a FastAPI+React repo, Haiku 4.5, n=4 — self-corrected an earlier overgeneralized single-shot figure | High — reproducible, self-corrected once already |
95
118
 
96
119
  ### Real usage, one live project
97
120
 
98
121
  Not a demo — pulled live from the maintainer's own project while building this repo,
99
122
  for a sense of scale. Not a controlled benchmark; one data point, your mileage varies.
100
123
 
101
- ```
102
- lean-ctx 34.2M tokens saved 92% compression $88.45 saved (lifetime; lean-ctx gain)
103
- caveman 1.16M tokens saved (~65%) (single session; caveman-stats hook)
104
- ponytail 23 `ponytail:` shortcut markers logged, no token figure (ponytail doesn't measure per-repo savings)
105
- memory 2 sessions, 11 observations tracked, across 2 projects (agentflare memory sessions/search)
124
+ ```text
125
+ lean-ctx 34.2M tokens saved 92% compression $88.45 saved (lifetime; lean-ctx gain)
126
+ optimize output 1.16M tokens saved (~65%) (single session; via `agentflare cost`)
127
+ optimize code code-minimalism markers logged, no token figure (agentflare optimize code doesn't measure per-repo savings)
128
+ memory 2 sessions, 11 observations tracked, across 2 projects (agentflare memory sessions/search)
106
129
  ```
107
130
 
108
- Check your own: `lean-ctx gain` · `/caveman-stats` (Claude Code) · `ponytail-debt` skill ·
131
+ Check your own: `lean-ctx gain` · `agentflare cost` · `agentflare optimize code gain`/`debt` ·
109
132
  `agentflare memory context`. Don't trust this table blindly either — re-run those commands yourself.
110
133
 
111
134
  ---
@@ -221,6 +244,7 @@ immediately, no separate confirm step.
221
244
 
222
245
  ```bash
223
246
  agentflare init --agent claude-code # writes ~/.claude/settings.json hooks directly, no marketplace
247
+ agentflare init --agent codex # writes ~/.codex/hooks.json and registers the MCP server
224
248
  agentflare init --agent cursor # writes .cursor/hooks.json directly, no marketplace
225
249
  agentflare init --agent windsurf
226
250
  agentflare init --agent vscode-copilot
@@ -228,14 +252,17 @@ agentflare init --agent cline
228
252
  agentflare init --agent continue
229
253
  ```
230
254
 
231
- **Codex** is the one exception — its hook system only activates through its own
232
- plugin loader:
233
- ```
234
- codex plugin marketplace add getappz/agentflare
235
- codex plugin install agentflare
236
- ```
237
- then `agentflare init --agent codex` for the rules/lean-ctx setup (Codex's
238
- hook wiring itself comes from the plugin manifest, not `init`).
255
+ Codex loads hooks from `~/.codex/hooks.json`; `init` wires the supported
256
+ agentflare lifecycle hooks there. The `.codex-plugin/` compatibility manifest
257
+ also supports packaging those hooks in a Codex plugin. Use one hook installation
258
+ path per machine so events do not run twice. In Codex, review the installed
259
+ hooks with `/hooks` and trust them before relying on them in interactive or
260
+ headless runs. Codex requires trust for non-managed hooks. After reviewing a
261
+ work item, `mcp__flare__review(action="submit", findings=[...])` records review
262
+ completion for the item gate; an empty findings list is valid when the review
263
+ found no issues. For verification, run tests through `mcp__lean_ctx__ctx_shell`:
264
+ Codex's native Bash hook omits the process exit status, so its result cannot
265
+ prove that a test passed.
239
266
 
240
267
  Each run: writes rule files (if absent), installs lean-ctx (native `curl | sh`
241
268
  or Homebrew installer) if missing, wires hooks/MCP where the host supports
@@ -243,6 +270,47 @@ it. Detection-first — already-satisfied components are skipped, nothing gets
243
270
  clobbered. Persistent memory ships in the binary itself — nothing to install
244
271
  for it.
245
272
 
273
+ ## Inter-agent messaging
274
+
275
+ Live sessions (Claude Code, Codex, Cursor, daemon-dispatched jobs) and humans
276
+ exchange short messages through `agentflare.db`. Send from the MCP `message`
277
+ tool or the CLI; delivery lands in the recipient's context through its hooks
278
+ (or piggybacked on the next agentflare tool result on hosts without hooks).
279
+
280
+ ```bash
281
+ agentflare message send <to> "text" [--marker important|status|fyi] [--reply-to <id>]
282
+ agentflare message list # live sessions: key, name, item, team, busy
283
+ agentflare message inbox # your unread mail
284
+ agentflare message history --to team:alpha [--after <id>] [--limit N]
285
+ agentflare message watch # stream your mailbox, one line each
286
+ ```
287
+
288
+ Addresses: a session key or unique name (`message list`), `item:<id>`
289
+ (whoever works that item), `agent:<name>` (every live session of that agent),
290
+ `team:<name>` (every live session launched with `--team <name>`, except you),
291
+ or `*` (everyone).
292
+
293
+ Teams: `agentflare agents launch <agent> --team alpha --name pm` (or
294
+ `agentflare run <agent> --team alpha --name pm`) registers the session under
295
+ `team:alpha` and names it `pm`. A session that joins a team gets the last 10
296
+ `team:alpha` messages replayed at SessionStart, marked as history.
297
+
298
+ Markers decide *when* a message is pushed, never whether it is stored:
299
+
300
+ | Marker | SessionStart / PromptSubmit | PreToolUse (mid-turn) | Stop | inbox / watch / MCP piggyback |
301
+ |---|---|---|---|---|
302
+ | `important` (default) | deliver | deliver | block stop and deliver | yes |
303
+ | `status` | deliver | only once 3 or more are pending | block stop and deliver | yes |
304
+ | `fyi` | deliver | never | never blocks the stop | yes |
305
+
306
+ Codex runs sandboxed: let it write the message store by adding to
307
+ `~/.codex/config.toml`:
308
+
309
+ ```toml
310
+ [sandbox_workspace_write]
311
+ writable_roots = ["~/.agentflare"]
312
+ ```
313
+
246
314
  ## Docs-only fallback (Aider, other AGENTS.md readers)
247
315
 
248
316
  ```bash
@@ -255,25 +323,61 @@ curl -sL https://raw.githubusercontent.com/getappz/agentflare/master/AGENTS.md >
255
323
 
256
324
  ```
257
325
  src/
258
- ├── paths.rs # home-dir resolution (AGENTFLARE_HOME_OVERRIDE for tests —
259
- │ # dirs::home_dir() ignores HOME/USERPROFILE overrides on
260
- │ # Windows, learned the hard way)
261
- ├── state.rs # ~/.agentflare/state.json — on/off flag for the hooks
262
- ├── rule_text.rs # shared rule copy (Exa, git, lean-ctx usage)
263
- ├── memory/ # built-in persistent memory (SQLite + FTS5)
264
- ├── compact.rs # ephemeral FTS5/BM25 relevance scorer (PreCompact hook)
265
- ├── coaching/ # session nudges: rule storage, CRUD, CLI presentation
266
- ├── claims.rs, review.rs # work-item claiming, review/consensus (coordination layer)
267
- ├── artifacts.rs, channels.rs # artifact publishing, outbound notifications
268
- ├── mcp_server.rs, mcp_prompts.rs # MCP stdio server exposing both layers as tools
269
- ├── auth.rs, auth_crypt.rs, auth_db.rs, auth_runner.rs # auth profile vault
270
- ├── components.rs # registry: each entry checks + fixes itself, host-aware
271
- ├── init.rs # `agentflare init --agent X` — runs every component,
272
- │ # wires hooks directly for claude-code/cursor
273
- ├── hook.rs # `agentflare hook session-start|prompt-submit|... --agent X`
274
- └── main.rs # clap CLI, dispatch across 45 modules
275
-
276
- .codex-plugin/ # Codex only — its hooks require the plugin loader
326
+ ├── main.rs # clap CLI entrypoint, dispatch across the modules below
327
+ ├── cli/ # one file per top-level subcommand (init, hook, optimize, work,
328
+ │ # vent, auth, vault, git, review, skill, memory, ...) — thin clap
329
+ │ # wiring; the real logic lives in the modules it calls into
330
+ ├── mcp_server/ # one file per mcp__flare__* MCP tool (item, artifact, asset,
331
+ │ # claim, review, handoff, memory_tool, flare_git, flare_docs,
332
+ │ # search, skill, comment, builtin_tools, types) + tests/
333
+ ├── optimize/ # the optimization layer:
334
+ │ # output.rs — agentflare optimize output (prose compression)
335
+ │ # code.rs — agentflare optimize code (code minimalism)
336
+ │ # context.rs — BM25/FTS5 session-transcript compaction
337
+ │ # retrieve.rs — reversible-compression retrieve (CCR)
338
+ │ # runtime.rs — always-on session-hygiene/model-routing nudges
339
+ ├── coaching/ # session nudges: rule storage, CRUD, session-start +
340
+ │ # contextual BM25-triggered presentation
341
+ ├── memory/ # built-in persistent memory (SQLite + FTS5): embeddings,
342
+ │ # search, sessions, relations, summaries
343
+ ├── github/ # GitHub API client backing `flare_git`/`git` — actions,
344
+ │ # issues, pulls, releases, identity, auth
345
+ ├── dashboard/ # `agentflare serve` read-only dashboard backend
346
+ │ # (pairs with the top-level dashboard/web static frontend)
347
+ ├── vent/ # friction capture, auto-classification into backlog items
348
+ ├── mentions/ # @mention inline reference parsing/resolution (@I/@A/@search)
349
+ ├── ipc/ # daemon transport — Unix socket / Windows named pipe
350
+ ├── dev_install/ # `agentflare dev-install` — build the current checkout,
351
+ │ # install over the running binary
352
+ ├── update/ # self-update check + binary swap
353
+ ├── ui/ # terminal UI helpers (spinner, cliclack prompts)
354
+ ├── core/ # small shared primitives (codesigning helpers)
355
+ ├── rule_text.rs # shared rule copy (Exa, git, lean-ctx usage) — paths.rs/state.rs
356
+ │ # moved to crates/agentflare-bin-lib
357
+ ├── compact.rs # legacy FTS5/BM25 PreCompact scorer, superseded by
358
+ │ # optimize/context.rs but still wired into the hook path
359
+ ├── claims.rs, review.rs # work-item claiming, review/consensus core logic
360
+ ├── artifacts.rs, channels.rs # artifact publishing, outbound notifications core logic
361
+ ├── auth.rs, auth_crypt.rs,
362
+ │ auth_db.rs, auth_runner.rs # auth-profile vault (credential rotation/health scoring)
363
+ ├── vault.rs # lightweight per-project secrets vault (unlock/lock/env)
364
+ ├── daemon.rs, daemon_autostart.rs,
365
+ │ daemon_client.rs # daemon lifecycle: PID file, flock, autostart, IPC client
366
+ ├── mcp_server.rs, mcp_prompts.rs # MCP stdio server wiring, exposes mcp_server/* + native
367
+ │ # Claude Code slash commands for `/optimize*`
368
+ ├── components.rs # registry: each entry checks + fixes itself, host-aware
369
+ ├── init.rs # `agentflare init --agent X` — runs every component,
370
+ │ # wires hooks directly for claude-code/cursor
371
+ └── hook.rs # `agentflare hook session-start|prompt-submit|... --agent X`
372
+
373
+ crates/ # 28-member Cargo workspace: flare-code, flare-output, flare-search-kit,
374
+ # agentflare-store, agentflare-backend, agentflare-db-kit, agent-registry,
375
+ # skill-registry, gateway-registry, flare-docs, flare-git-core,
376
+ # flare-git-shim, agentflare-shim, agentflare-artifacts, agentflare-jobs,
377
+ # flare-proxy, flare-vault, agentflare-bin-lib, ...
378
+ dashboard/web/ # static frontend served by `agentflare serve`
379
+ .codex-plugin/ # optional Codex plugin compatibility manifest
380
+ hooks/ # Codex plugin lifecycle hooks
277
381
  install.sh, install.ps1 # installers (checksum-verified download / local build)
278
382
  .github/workflows/ # ci.yml (build+test), release.yml (cross-compile on tag)
279
383
  ```
@@ -285,7 +389,7 @@ Adding a new managed component means adding one entry to `components.rs` — nei
285
389
 
286
390
  ## What Gets Created
287
391
 
288
- **Claude Code**: `~/.claude/rules/{exa,git,lean-ctx}.md`, `~/.claude/settings.json` hooks section, `~/.config/{caveman,ponytail}/config.json`, `~/.agentflare/` (includes the built-in memory database).
392
+ **Claude Code**: `~/.claude/rules/{exa,git,lean-ctx}.md`, `~/.claude/settings.json` hooks section, `~/.agentflare/` (includes the built-in memory database and the optimize layer's own state — no more separate `~/.config/{caveman,ponytail}/` now that both are built into the binary).
289
393
 
290
394
  **Codex**: project-local `AGENTS.md` (only if absent), `~/.agentflare/`.
291
395
 
@@ -302,13 +406,16 @@ Nothing is created if it already exists.
302
406
  ## Uninstall
303
407
 
304
408
  Remove the binary (see Install section above), then remove whatever `init`
305
- wrote for the hosts you set up — see "What Gets Created" above. Ponytail/
306
- Caveman plugins themselves stay installed (uninstall separately if wanted).
409
+ wrote for the hosts you set up — see "What Gets Created" above. `optimize
410
+ output`/`optimize code` are part of the same binary now — no longer separate
411
+ plugins — so there's nothing left to uninstall separately for them. If you
412
+ have a config left over from before they were absorbed, `agentflare uninstall`
413
+ also cleans up the legacy `~/.config/{caveman,ponytail}/config.json`.
307
414
 
308
415
  ---
309
416
 
310
417
  <div align="center">
311
418
 
312
- MIT License
419
+ Apache License 2.0
313
420
 
314
421
  </div>
package/bin/agentflare CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getappz/agentflare-darwin-arm64",
3
- "version": "1.6.0",
3
+ "version": "1.8.1",
4
4
  "description": "Optimize AI CLI agents for cost and performance",
5
5
  "bin": {
6
6
  "agentflare": "bin/agentflare"