npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

agent-analyzer

v0.1.16

Published

Local-first deterministic profiler for agentic coding logs.

Readme

Agent Analyzer

Deterministic performance profiler for AI coding workflows.

This repo starts with a Docker-local, end-to-end implementation:

  • run the analyzer locally against target-sized recent supported agent logs per source
  • write a sanitized report JSON that the user can inspect before upload
  • upload only the sanitized report JSON
  • detect waste patterns and ecosystem fingerprints
  • generate a private-link report JSON
  • download a free report pack and generate a plugin artifact from the same scan
  • view the report in a static local web UI

The production target is CDN + local deterministic CLI + report-only upload + durable private-link report storage. Local development intentionally avoids cloud dependencies so the complete flow can be tested before any infrastructure is provisioned.

Launch Command

The public launch path is one copy/paste command:

npx --yes agent-analyzer@latest run

That command fetches a scriptless npm package, runs the bundled native Go binary, selects recent logs per supported agent source to target roughly 5 MB locally, writes agent-analyzer-report.json, shows the upload boundary, asks for confirmation, uploads only sanitized report JSON, and opens the private report page.

For users who do not want npm/NPX, versioned GitHub Release archives with checksums.txt remain available. See docs/distribution.md.

There is intentionally no browser upload form. Agent logs live in hidden tool-specific directories, which are awkward for Finder/browser upload flows. The public launch path is local-first:

  1. npx --yes agent-analyzer@latest run starts the local native analyzer.
  2. The analyzer selects recent logs per supported source, currently Claude Code, Claude Desktop, Codex, OpenCode, Claude Desktop MCP, Cursor, Kiro, and Google Antigravity, targeting roughly 5 MB total per source, parses and redacts them locally, and writes agent-analyzer-report.json.
  3. The CLI prints the upload boundary and asks for confirmation.
  4. After confirmation, it sends only the sanitized report to POST /api/client-reports.
  5. The private report opens at /r/{job_id}/{report_token} and remains available for later review.
  6. The report page offers a free zip download containing a branded token-saving field guide PDF, a personalized PDF report, the sanitized report JSON, a plugin preview, and a partner voucher. The custom plugin artifact is generated from the sanitized report data.

Legacy raw-log token upload and email/full-scan endpoints still exist for internal compatibility tests. They are not the public onboarding path.

Paid delivery contract: docs/remediation/plugin-artifacts.md.

Local Runthrough

The analyze subcommand accepts a log path either as a positional argument or via the --log flag. The two forms are mutually exclusive; passing both, or passing more than one positional, fails fast with a non-zero exit:

# positional form (equivalent to using --log):
agent-analyzer analyze ~/.claude/projects/some-session.jsonl --out ./report.json

# explicit --log form:
agent-analyzer analyze --log ~/.claude/projects/some-session.jsonl --out ./report.json

# force a source-specific parser for an explicit path:
agent-analyzer analyze --source claude_desktop --log ~/Library/Application\ Support/Claude/audit.jsonl --out ./report.json

If neither form is supplied, the CLI auto-discovers target-sized recent logs per supported source. It aims for roughly 5 MB total per source, combines up to five small logs when that gets closer to the target, and falls back to a single huge log when only oversized sessions are available.

SQLite extraction is included in automatic discovery for Cursor, Kiro, Google Antigravity, and bounded Codex diagnostic logs. The CLI opens readable stores in SQLite read-only mode, extracts only bounded known rows, and does not write database snapshots or modify source stores.

docker compose up --build

Open http://localhost:8080 and use the displayed one-line local analyze/review/upload flow. The smoke scripts also exercise the free report pack, plugin artifact download, and legacy token path with testdata/fixtures/sample-claude.jsonl for backend compatibility.

Smoke test:

./scripts/smoke-local.sh

If Docker Desktop is unavailable, the same API/worker path can be checked with:

./scripts/smoke-native.sh

Local load gate:

COMPOSE_PROJECT_NAME=agent-log-analyzer-load docker compose up --build -d
./scripts/load-local.sh 25
COMPOSE_PROJECT_NAME=agent-log-analyzer-load docker compose down -v

Aggregate analytics summary, for retained analytics.Event JSONL only:

go run ./cmd/analytics-summary --input /tmp/agent-log-analyzer/analytics/events.jsonl --min-cohort 10

AWS-backend local smoke with LocalStack:

./scripts/smoke-aws-local.sh

Development

go test ./...
go run ./cmd/api
go run ./cmd/worker

Useful local env vars:

  • CLAUDE_ANALYZER_DATA_DIR, default /tmp/agent-log-analyzer
  • CLAUDE_ANALYZER_ADDR, default :8080
  • CLAUDE_ANALYZER_WORKER_INTERVAL, default 2s

Privacy Posture

Raw logs are treated as toxic. The launch UX parses and redacts locally, emits aggregate-safe ecosystem IDs only, and uploads only sanitized report JSON. Operational logs forbid raw prompt/tool text.

See docs/data-retention-and-analytics.md.

Cloud launch checklist: docs/cloud-launch-todo.md.

License

Agent Analyzer is source-available, not open source. You may inspect, clone, and run the software for personal/internal evaluation and development testing, but production, hosted, commercial, redistribution, and managed-service uses require a separate written license.

See LICENSE.