Skip to content

Commit 2bb419c

Browse files
lanmowerclaude
andcommitted
chore: rename package from cc-tail to ccf / @lanmower/ccf
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent dab1520 commit 2bb419c

4 files changed

Lines changed: 18 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
## 1.0.0 — 2026-04-11
44

5-
- Initial release: `cc-tail` npm package
5+
- Initial release: `ccf` npm package
66
- `JsonlWatcher` class extending EventEmitter — watches `~/.claude/projects/` JSONL files
77
- `watch(projectsDir?)` factory — chainable, returns started watcher
88
- Events: `conversation_created`, `streaming_start`, `streaming_progress`, `streaming_complete`, `streaming_error`, `error`
99
- Dual ESM + CJS exports (`src/index.js` + `src/index.cjs`)
1010
- Zero external dependencies, Node >= 18
1111
- GitHub Actions: npm publish on `v*` tags, gh-pages deploy on every main push
12-
- Landing page at https://anentrypoint.github.io/cc-tail/ (WebJSX + RippleUI, dark/light theme)
12+
- Landing page at https://anentrypoint.github.io/ccf/ (WebJSX + RippleUI, dark/light theme)

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# cc-tail
1+
# ccf
22

33
Watch Claude Code JSONL output files and emit structured events as a Node.js EventEmitter.
44

55
## Install
66

77
```bash
8-
npm install @lanmower/cc-tail
8+
npm install @lanmower/ccf
99
```
1010

1111
## Usage
1212

1313
```js
14-
import { watch } from '@lanmower/cc-tail';
14+
import { watch } from '@lanmower/ccf';
1515

1616
const watcher = watch()
1717
.on('conversation_created', ({ conversation }) => {
@@ -30,7 +30,7 @@ process.on('SIGINT', () => watcher.stop());
3030
CommonJS:
3131

3232
```js
33-
const { watch, JsonlWatcher } = require('@lanmower/cc-tail');
33+
const { watch, JsonlWatcher } = require('@lanmower/ccf');
3434
```
3535

3636
## API

docs/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>cc-tail — Watch Claude Code JSONL events in real-time</title>
6+
<title>ccf — Watch Claude Code JSONL events in real-time</title>
77
<link rel="preconnect" href="https://fonts.googleapis.com" />
88
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" />
99
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/rippleui@1.12.1/dist/css/styles.css" />
@@ -16,14 +16,14 @@
1616
<div class="header-inner">
1717
<a href="#" class="brand">
1818
<span class="brand-icon"></span>
19-
<span class="brand-name">cc-tail</span>
19+
<span class="brand-name">ccf</span>
2020
<span class="brand-version" id="pkgVersion">v1.0.0</span>
2121
</a>
2222
<nav class="header-nav">
2323
<a href="#install">Install</a>
2424
<a href="#events">Events</a>
2525
<a href="#api">API</a>
26-
<a href="https://github.com/AnEntrypoint/cc-tail" target="_blank" rel="noopener">GitHub</a>
26+
<a href="https://github.com/AnEntrypoint/ccf" target="_blank" rel="noopener">GitHub</a>
2727
<button class="btn btn-ghost btn-sm theme-toggle" id="themeToggle" aria-label="Toggle theme">
2828
<span class="theme-icon"></span>
2929
</button>
@@ -38,12 +38,12 @@
3838
<div class="hero-badge">Zero dependencies · ESM + CJS · Node ≥ 18</div>
3939
<h1 class="hero-title">Watch Claude Code output<br /><span class="hero-accent">as it happens.</span></h1>
4040
<p class="hero-subtitle">
41-
cc-tail tails <code>~/.claude/projects/</code> JSONL files and emits structured events —
41+
ccf tails <code>~/.claude/projects/</code> JSONL files and emits structured events —
4242
streaming starts, tool calls, results — as a standard Node.js EventEmitter.
4343
</p>
4444
<div class="hero-actions">
4545
<div class="install-box">
46-
<code class="install-cmd" id="installCmd">npm install @lanmower/cc-tail</code>
46+
<code class="install-cmd" id="installCmd">npm install @lanmower/ccf</code>
4747
<button class="copy-btn" id="copyInstall" aria-label="Copy install command"></button>
4848
</div>
4949
</div>
@@ -58,7 +58,7 @@ <h1 class="hero-title">Watch Claude Code output<br /><span class="hero-accent">a
5858
<span class="dot red"></span><span class="dot yellow"></span><span class="dot green"></span>
5959
<span class="card-title">ESM / TypeScript</span>
6060
</div>
61-
<pre class="code-block"><code><span class="kw">import</span> <span class="br">{</span> watch <span class="br">}</span> <span class="kw">from</span> <span class="str">'@lanmower/cc-tail'</span><span class="pu">;</span>
61+
<pre class="code-block"><code><span class="kw">import</span> <span class="br">{</span> watch <span class="br">}</span> <span class="kw">from</span> <span class="str">'@lanmower/ccf'</span><span class="pu">;</span>
6262

6363
<span class="kw">const</span> watcher <span class="pu">=</span> watch<span class="pu">()</span>
6464
<span class="pu">.</span>on<span class="pu">(</span><span class="str">'conversation_created'</span><span class="pu">,</span> <span class="pu">({</span> conversation <span class="pu">})</span> <span class="pu">=&gt;</span> <span class="br">{</span>
@@ -80,7 +80,7 @@ <h1 class="hero-title">Watch Claude Code output<br /><span class="hero-accent">a
8080
<span class="dot red"></span><span class="dot yellow"></span><span class="dot green"></span>
8181
<span class="card-title">CommonJS</span>
8282
</div>
83-
<pre class="code-block"><code><span class="kw">const</span> <span class="br">{</span> watch<span class="pu">,</span> JsonlWatcher <span class="br">}</span> <span class="pu">=</span> require<span class="pu">(</span><span class="str">'@lanmower/cc-tail'</span><span class="pu">)</span><span class="pu">;</span>
83+
<pre class="code-block"><code><span class="kw">const</span> <span class="br">{</span> watch<span class="pu">,</span> JsonlWatcher <span class="br">}</span> <span class="pu">=</span> require<span class="pu">(</span><span class="str">'@lanmower/ccf'</span><span class="pu">)</span><span class="pu">;</span>
8484

8585
<span class="co">// Use default ~/.claude/projects dir</span>
8686
<span class="kw">const</span> watcher <span class="pu">=</span> watch<span class="pu">()</span><span class="pu">;</span>
@@ -115,15 +115,15 @@ <h2 class="section-title">API</h2>
115115
<section class="section section-alt demo-section" id="demo">
116116
<div class="container">
117117
<h2 class="section-title">Live Event Stream</h2>
118-
<p class="section-sub">This is what cc-tail emits when Claude Code runs.</p>
118+
<p class="section-sub">This is what ccf emits when Claude Code runs.</p>
119119
<div id="demoRoot"></div>
120120
</div>
121121
</section>
122122
</main>
123123

124124
<footer class="site-footer">
125125
<div class="container">
126-
<p>MIT License · <a href="https://github.com/AnEntrypoint/cc-tail">AnEntrypoint/cc-tail</a> · Built with <a href="https://webjsx.org">WebJSX</a> + <a href="https://ripple-ui.com">RippleUI</a></p>
126+
<p>MIT License · <a href="https://github.com/AnEntrypoint/ccf">AnEntrypoint/ccf</a> · Built with <a href="https://webjsx.org">WebJSX</a> + <a href="https://ripple-ui.com">RippleUI</a></p>
127127
</div>
128128
</footer>
129129

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "@lanmower/cc-tail",
2+
"name": "@lanmower/ccf",
33
"version": "1.0.2",
44
"description": "Watch Claude Code JSONL output files and emit structured events as a Node.js EventEmitter",
55
"type": "module",
@@ -26,9 +26,9 @@
2626
"license": "MIT",
2727
"repository": {
2828
"type": "git",
29-
"url": "git+https://github.com/AnEntrypoint/cc-tail.git"
29+
"url": "git+https://github.com/AnEntrypoint/ccf.git"
3030
},
31-
"homepage": "https://anentrypoint.github.io/cc-tail",
31+
"homepage": "https://anentrypoint.github.io/ccf",
3232
"engines": {
3333
"node": ">=18"
3434
}

0 commit comments

Comments
 (0)