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

@sushanglewis/lincoln-recorder

v1.6.3

Published

Cross-tool terminal UI for recording Lincoln interviews

Readme

Lincoln TUI

Lincoln TUI 是 Lincoln 工作流的终端录音入口。它提供一个基于键盘的交互界面,让产品经理可以快速录制访谈、查看录音状态,并在停止后获得下一步处理命令。

功能

  • Ready Screen:启动前确认 session、topic、design、branch
  • 菜单选择器:↑/↓ 切换选项,Enter 确认,q / Esc 退出
  • 实时录音界面:显示录音时长和音量条(bar / dot / wave 三种样式)
  • 停止确认:自动给出 claude process-interview <sessionId> 命令
  • 配置分层:CLI 参数 > 项目级 .lincolnrc > 用户级 ~/.lincolnrc > 默认值

安装

cd tools/lincoln
npm install
npm run build
npm link

安装后,全局可用:

lincoln-record --help

使用

基本用法

lincoln-record 2026-06-28-checkout-interview \
  --topic "结算流程 redesign 需求访谈" \
  --design-id checkout-redesign \
  --branch lincoln/2026-06-28-recording-checkout-redesign

使用项目级配置 .lincolnrc

# 在项目根目录创建 .lincolnrc
cat > .lincolnrc <<EOF
topic: "结算流程 redesign 需求访谈"
design-id: checkout-redesign
branch: lincoln/2026-06-28-recording-checkout-redesign
audio-meter-style: wave
EOF

# 直接运行
lincoln-record 2026-06-28-checkout-interview

用户级配置

cat > ~/.lincolnrc <<EOF
topic: "默认访谈主题"
design-id: default-design
branch: main
EOF

配置优先级:CLI 参数 > .lincolnrc > ~/.lincolnrc > 默认值

快捷键

| 按键 | Ready Screen | Recording Screen | Stopped Screen | |------|--------------|------------------|----------------| | ↑ / ↓ | 移动菜单选择 | — | — | | Enter | 确认选中项(开始录音 / 退出) | 停止录音 | 退出 | | q / Esc | 退出 | 取消录音并退出 | 退出 | | Ctrl+C | 退出 | 取消录音并退出 | 退出 |

界面说明

Ready Screen

╭────────────────────────────────────────╮
│ ● ● ●        Lincoln Recorder          │
│                                        │
│ Session: 2026-06-28-checkout-interview │
│ Topic: 结算流程 redesign 需求访谈      │
│ Design: checkout-redesign              │
│ Branch: lincoln/...                    │
│                                        │
│ ▸ 开始录音 [Enter]                     │
│   退出     [q / Esc]                   │
╰────────────────────────────────────────╯

Recording Screen

录音中显示当前时长和实时音量条。

Stopped Screen

Stopped
Session 2026-06-28-checkout-interview saved.

Run this command in your terminal to generate knowledge artifacts:
claude process-interview 2026-06-28-checkout-interview

[any key] Exit

复制命令并在同一终端运行,即可触发访谈转写和摘要。

CLI 选项

lincoln-record [session-id] [options]

Options:
  --topic       访谈主题
  --design-id   设计 ID
  --branch      Lincoln feature 分支名
  --session-id  显式指定 session ID
  --no-tui      不使用终端 UI 运行
  --help, -h    显示帮助

开发

cd tools/lincoln

# 安装依赖
npm install

# 开发模式(监听)
npm run dev

# 类型检查
npm run typecheck

# 运行测试
npm test

# 构建
npm run build

测试

使用 Vitest + ink-testing-library

npm test

测试覆盖:

  • 配置加载与合并
  • Ready Screen 渲染和菜单选择
  • 按键处理(Enter、q、Esc、方向键)
  • 录音生命周期(start、stop、cancel)
  • 停止后命令显示
  • useRecorder hooks 依赖稳定性

架构

tools/lincoln/
├── src/
│   ├── main.ts              # CLI 入口
│   ├── config/              # 配置加载
│   ├── components/          # Ink UI 组件
│   ├── hooks/               # 通用 React hooks
│   └── recording/           # 录音子进程控制
├── tests/                   # Vitest 测试
├── package.json
├── tsconfig.json
└── README.md

与 lincoln-record 的关系

Lincoln TUI 本身不直接访问音频设备。它通过子进程启动 tools/lincoln-record Rust CLI,由后者完成本地录音与转写(whisper-rs + Metal 加速、说话人分离)。

TUI 只负责呈现界面和管理用户输入。停止录音后,TUI 打印命令,由用户手动触发 claude process-interview,避免嵌套 Claude Code 会话。

依赖

  • Node.js >= 20
  • lincoln-record(Rust 本地录音转写 CLI,见 tools/lincoln-record/,需用 cargo 构建)
  • claude CLI(用于后续 process-interview 步骤)

许可证

MIT