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

@boltdoggy/boli

v0.1.4

Published

AI coding assistant in your terminal

Downloads

92

Readme

boli

一个受 Claude Code 启发的智能命令行助手。

想了解更多背景?参见 产品介绍 想了解文档驱动开发在本项目中的实践?参见 Showcase 说明

功能特性

  • 单次模式:直接执行单次任务,无上下文保留
  • REPL 模式:持续对话,支持上下文和输入历史(上下键切换)
  • 工具调用:读文件、写文件、编辑、搜索、执行 Shell、向用户提问
  • 内置 Skills/init/loop/commit 等快捷命令
  • 流式 TUI:基于 Ink 的终端交互界面

环境要求

  • Bun
  • pnpm
  • ANTHROPIC_API_KEY 环境变量(或放在 .env 文件中)

安装与使用

从 npm 安装

# 全局安装
npm install -g @boltdoggy/boli

# 单次模式
boli "帮我写一个快速排序"

# 单次模式,不注入项目上下文
boli --no-context "帮我写一个快速排序"

# REPL 模式
boli

不想全局安装时,也可以用 npx

npx @boltdoggy/boli "帮我写一个快速排序"

从源码开发

# 安装依赖
pnpm install

# 从源码直接运行(无需构建)
bun run src/cmd/cli.ts "帮我写一个快速排序"

# 构建产物
pnpm run build

# 用 pnpm 链接本地包进行测试
pnpm link --global
boli "帮我写一个快速排序"

项目架构

src/
├── cmd/           # CLI 入口与参数解析
├── domain/        # 核心领域模型(message、session、skill、tool)
├── infra/         # 基础设施(LLM、文件系统、Shell、配置、持久化)
├── interactive/   # Ink 交互界面(REPL、用户输入、流式渲染)
└── skills/        # 内置 skill 实现
  • domain 层:纯业务逻辑,无框架依赖
  • infra 层:对接外部系统,隔离实现细节
  • interactive 层:负责所有终端交互

开发指引

# 从源码直接运行(无需构建)
bun run src/cmd/cli.ts "帮我写一个快速排序"

# 开发运行 REPL 模式
pnpm run dev

# 类型检查
pnpm exec tsc --noEmit

# 构建
pnpm run build

添加新 Skill

  1. src/domain/skill.ts 中定义 Skill 接口与元数据
  2. src/skills/ 下实现具体逻辑
  3. src/agent/skill-registry.ts 中注册

相关文档

| 文档 | 说明 | |------|------| | docs/guides/product.md | 产品定位与核心能力介绍 | | docs/guides/showcase.md | 文档驱动开发实践说明 | | docs/requirements/cli-tool-requirements.md | CLI 工具需求文档 | | docs/design/cli-tool-design.md | CLI 工具架构设计 | | docs/adr/ | 架构决策记录 |

当前状态

| 功能/变更 | 状态 | |-----------|------| | CLI 工具 MVP(单次/REPL 模式、基础工具调用) | ✅ 已完成 | | P1 增强(/init/loop、输入历史) | ✅ 已完成 | | 测试框架引入 | ⬜ 待进行 | | 打包分发 | ⬜ 待进行 |


本仓库遵循严格的文档驱动开发流程,详见 CLAUDE.mddocs/guides/showcase.md