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

coding-agent-story

v0.1.0

Published

Turn Claude Code transcripts into readable PR stories — locally and offline.

Downloads

130

Readme

Coding Agent Story

Turn Claude Code transcripts into readable PR stories — locally.

coding-agent-story dashboard

coding-agent-story reads the JSONL transcripts that Claude Code already writes to ~/.claude/projects/ and renders three views over them:

  • dashboard — every session you've ever run, filterable & searchable
  • session — one conversation replayed as decisions / interventions / edits
  • PR — sessions on a branch consolidated into paste-ready markdown

All processing happens on your machine. There are no network calls and no LLM calls in the default codepath.

Install

npm install -g coding-agent-story

Or run with no install:

npx coding-agent-story@latest dashboard

Requires Node ≥ 20.

For development against the source tree, use npm link:

git clone https://github.com/achreftlili/coding-agent-story.git && cd coding-agent-story
npm link    # `coding-agent-story` now resolves to your working copy

Quick start

coding-agent-story dashboard           # build + open in your browser
coding-agent-story list                # plain-text list of every session
coding-agent-story session <id>        # render a single session as HTML
coding-agent-story pr --branch foo     # consolidate sessions on a branch into a PR
coding-agent-story share               # commit this branch's sessions for reviewers
coding-agent-story dashboard --serve   # local server with 30s auto-refresh

Share sessions with reviewers

When you open a PR, reviewers usually only see the diff. With coding-agent-story share you can commit the Claude sessions that produced the diff to the branch, so anyone reviewing can replay the work locally:

# On the author's machine, with the feature branch checked out:
coding-agent-story share              # copies branch sessions → .coding-agent-story/sessions/<id>.jsonl
                           # writes .coding-agent-story/manifest.json
                           # stages + commits the files
git push

Then on the reviewer's machine, after pulling the branch:

coding-agent-story dashboard          # auto-discovers .coding-agent-story/sessions in the repo
                           # branch sessions show up with a "shared" badge

Useful flags:

  • --branch NAME — share a branch other than the current HEAD
  • --no-commit — copy + stage but let the user do the commit
  • --dry-run — print what would happen, write nothing

Heads-up on privacy. Claude transcripts can contain anything you pasted — file paths, command output, secrets, internal-only context. Open the staged JSONL files before pushing to a public repo.

Commands

| Command | What it does | |--------------------------------------|------------------------------------------------------| | coding-agent-story list | Print discovered sessions across all projects | | coding-agent-story list --json | Same, machine-readable | | coding-agent-story session <id> | Render one session as HTML to stdout | | coding-agent-story session <id> --out PATH | Write HTML to PATH | | coding-agent-story pr --branch <name> | Consolidate sessions on a branch into PR markdown | | coding-agent-story pr --branch foo --repo . | Look in a specific repo for the branch's commits | | coding-agent-story share | Commit this branch's sessions to .coding-agent-story/ for reviewers | | coding-agent-story share --no-commit | Stage the files but let the user commit | | coding-agent-story share --dry-run | Print what would happen, write nothing | | coding-agent-story dashboard | Build the dashboard and open it in your browser | | coding-agent-story dashboard --out PATH | Write the dashboard HTML to PATH, don't open | | coding-agent-story dashboard --serve | Start a local server with auto-refresh | | coding-agent-story dashboard --serve --port N | Start the server on a specific port (auto-increments if busy) | | coding-agent-story dashboard --projects A,B | Restrict to specific project paths | | coding-agent-story --version / --help | Standard CLI flags (each subcommand has its own --help) |

What it extracts

Each session is parsed into events:

  • decisions — assistant statements of intent ("I'll …", "Let me …")
  • forks — the assistant offering you a choice
  • interventions — your steering message after a fork or correction
  • actionsEdit / Write / Bash tool calls
  • outcomes — tool results

Events are grouped into chapters by file proximity and idle gaps (>5 min). For PR consolidation, actions are deduped by (file_path, tool, command) and decisions by token-set similarity > 0.85. Every intervention is preserved verbatim — those are the highest-signal moments in a session.

Privacy

  • All data stays on your machine.
  • No network calls in the default codepath. Verify in DevTools: opening the dashboard makes zero outbound requests.
  • No LLM calls. Summaries are extracted strings from your transcript.
  • Cache lives at ~/.cache/coding-agent-story/ — delete it any time.

Uninstall

npm uninstall -g coding-agent-story
rm -rf ~/.cache/coding-agent-story

Development

npm test            # unit + integration tests
npm run test:e2e    # playwright headless smoke (requires `npx playwright install chromium` once)

No runtime npm dependencies — everything is Node stdlib. Playwright is the only dev dependency.

Schema reference

See docs/transcript-schema.md for the verbatim Claude Code JSONL schema this tool reads.