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

betalist-cli

v0.1.1

Published

Unofficial CLI for BetaList — discover tomorrow's startups, today

Readme

一个面向公开 BetaList 发现流程的命令行工具。

你可以直接在 shell 里读取最新 startup、按 slug 查看单个项目详情、列出 markets,并输出为终端友好的文本、JSON 或 YAML。

默认的 HTML 路径不需要登录。API Token 不是必需项,只是在可用时作为增强能力使用。

当前 v0.1 范围包含:lateststartupmarketsdoctorconfig

安装

npm install -g betalist-cli

需要 Node.js >= 20

安装后可以这样用:

bl --help
betalist --help

快速开始

bl latest
bl latest --limit 5 --json
bl startup dusk-ai
bl startup dusk-ai --yaml
bl markets
bl doctor
bl config show

命令

| 命令 | 说明 | |---|---| | bl latest | 查看最新 startup,支持分页 | | bl startup <slug> | 查看某个 startup 页面详情 | | bl markets | 列出 BetaList 的 markets / browse categories | | bl doctor | 检查网站连通性、选择器状态、可选 API 访问能力和缓存状态 | | bl config show | 显示当前生效的配置 | | bl config set <key> <value> | 更新一个字符串类型的配置值 | | bl config cache-clear | 清空本地缓存 |

输出格式

lateststartupmarkets 这几个数据命令遵循以下输出规则:

| 场景 | 默认输出 | |---|---| | 交互式终端 | 人类可读的表格 / 文本 | | 管道 / 重定向 | JSON | | --json | JSON | | --yaml | YAML |

CLI 会遵守 NO_COLORFORCE_COLOR

结构化输出会包含这些元信息:

  • ok
  • schemaVersion
  • dataSource
  • providerChain
  • fetchedAt
  • cacheHit
  • degraded
  • warnings
  • error

Startup Slug

bl startup <slug> 目前只接受 BetaList 的 slug:

bl startup dusk-ai

例如:

https://betalist.com/startups/dusk-ai -> dusk-ai

当前还不支持直接把完整的 BetaList URL 作为命令参数传入。

配置

配置不是必需的,默认即可直接使用。

如果你想调整行为:

bl config show
bl config set api.token YOUR_TOKEN
bl config set api.baseUrl http://api.betalist.com/v1
bl config cache-clear

配置文件路径:

~/.betalist-cli/config.yaml

也可以通过环境变量覆盖,例如:

  • BL_API_TOKEN=...
  • BL_API_BASE_URL=http://api.betalist.com/v1
  • BL_CACHE_ENABLED=false
  • BL_CACHE_DIR=/tmp/betalist-cli-cache
  • BL_REQUEST_DELAY=2500
  • BL_REQUEST_TIMEOUT=15000

config set 当前会把写入值当作字符串处理。布尔值和数字更适合直接编辑 YAML 文件,或者使用环境变量覆盖。

数据来源

  • 默认模式使用 BetaList 的公开 HTML 页面,不需要认证。
  • 配置 api.tokenBL_API_TOKEN 后,latestmarkets 会优先尝试 BetaList API,失败时回退到 HTML。
  • startup 详情目前即使配置了 token,也仍然使用 HTML 解析。
  • doctor 只有在存在 token 时才会检查可选 API。

说明

  • 这是一个非官方项目,与 BetaList 没有官方关联。
  • 通过 HTML 解析得到的字段都属于 best-effort,BetaList 页面结构变化时可能需要更新。
  • doctor --fix 目前的修复动作主要是清空本地缓存。
  • 搜索、regions,以及按 market / region 继续浏览的能力还没有作为 v0.1 的 CLI 命令暴露出来。

License

MIT