# cytostack/openwolf

Portable project memory across Claude Code, Codex and OpenCode, plus token accounting measured from harness transcripts. Local file I/O, no API calls, no telemetry.

Repository: https://github.com/cytostack/openwolf
Canonical: https://ross.abutalabs.com/products/openwolf
Homepage: https://openwolf.com
Language: TypeScript
License: AGPL-3.0
License Family: copyleft
Topics: anthropic, claude-ai, claude-code, cli, developer-tools, middleware, open-source, token-optimization, codex, openai, opencode, agent-memory, context-engineering, observability
Last push: 2026-08-22T19:58:57+00:00

## Health v2 (maintenance only)
Score: 81/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 98, longevity 12
- inputs: {"age_days": 171, "days_push": 11, "days_rel": 13, "gap_med": 0.0, "n_releases_24m": 9}
- flags: young
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2268, forks 201 (observed 2026-08-28T04:06:32.893011+00:00)

## What it is
OpenWolf is a Node.js CLI that maintains a single portable project memory (a .wolf/ directory) shared across coding agents like Claude Code, Codex, and OpenCode. It intercepts tool output to condense oversized Bash results, indexes symbols for cheap lookup, and measures real token usage per session from harness transcripts with no API calls or telemetry.

## Use cases
- share project memory between Claude Code and Codex
- stop grep dumps from flooding my agent context
- track token usage per coding agent session
- find symbols without reading whole files into context
- keep agent conventions and bug fixes across sessions
- attribute prompt cache breakage to model switches or compaction
- reduce LLM API costs from repeated file reads

## When to choose
- you use multiple coding agents (Claude Code, Codex, OpenCode) on the same project and want shared memory
- you want measured, per-session token accounting instead of a monthly invoice
- you need local-only tooling with no API calls or telemetry
- long agent sessions suffer from context bloat from Bash output and repeated reads

## When to avoid
- you don't use any supported coding agent (Claude Code, Codex, OpenCode, Cursor, Gemini CLI)
- you need cloud-synced memory across machines
- you're uncomfortable with lifecycle hooks and a background daemon (pm2) running in your projects
- you require a permissive license - it's AGPL-3.0

## Facets
- artifact type: cli-tool
- maturity: active
- function: developer-tools, middleware, monitoring, analytics, search-engine, logging, cli
- domain: developer-tools, large-language-models
- platform: cli, cross-platform, windows
- tags: agent-memory, context-engineering, token-optimization, claude-code, codex, opencode, observability, prompt-cache, local-first, no-telemetry, command-line, ai-agents, automation, nodejs, macos, linux

## Member repositories
- cytostack/openwolf (main) score 81

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:32.893011+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:42:01.760174+00:00, confidence not recorded.
  - readme: https://github.com/cytostack/openwolf (fetched 2026-08-28T04:06:32.893011+00:00, sha 60d6a82b8599)
  - homepage: https://openwolf.com (fetched 2026-08-29T10:22:45.744328+00:00, sha 75fdc30414ca)
  - site_page: https://openwolf.com/getting-started.html (fetched 2026-08-29T10:22:45.753523+00:00, sha 07526e23a857)
  - site_page: https://openwolf.com/getting-started (fetched 2026-08-29T10:22:45.755541+00:00, sha 07526e23a857)
  - registry_npm: https://registry.npmjs.org/openwolf (fetched 2026-08-29T10:22:45.757323+00:00, sha 1b2590563fab)
- Data as of 2026-08-30T08:39:29.467469+00:00.
