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

nium-wiki

v0.1.1

Published

Professional-grade project Wiki generator (aligned with the Karpathy LLM Wiki compile-not-retrieve pattern), powered by AI coding tools

Readme

Nium-Wiki

English | 中文

AI 编程工具(如 Claude Code)的 Skill,将代码库转化为高质量 Wiki。自动分析项目结构,生成带图表和交叉引用的文档。灵感来自 DeepWiki、ZRead、Code Wiki。

特性

  • 🚀 深度代码分析:语义级理解代码逻辑,不仅限于语法解析
  • 📊 Mermaid 图表:自动生成架构图、数据流图、依赖关系图
  • 🔗 交叉链接文档:文档间双向链接,源码可追溯
  • 幂等增量更新:随时可重复运行 —— SHA256 变更检测结合依赖图传播,只重写受影响文档,其余文档保持原样
  • 追加式生成:新增模块、追加副语言、手改的域首页都能在多次运行中共存,无需整仓重建,不覆盖已有内容
  • 💡 预编译,而非检索:对齐 Karpathy LLM Wiki 模式——文档预编译,增量更新
  • 🌐 多语言支持:支持 JS/TS/Python/Go/Rust/Java 等 10+ 语言
  • 🧭 基于依赖图的模块发现:跨语言无关的依赖图驱动模块划分,配合两阶段事实抽取,API 文档更准确
  • 🔒 完全离线:零外部依赖,适用于气隙网络环境
  • 📝 专业输出:企业级文档质量标准与自动审计

快速上手

安装

在使用 Nium-Wiki 之前,需要先将其添加为 AI 编程工具的 skill:

npx skills add https://github.com/niuma996/nium-wiki --skill nium-wiki

Nium-Wiki 作为AI编程工具 skill 使用(如Claude Code),直接对 AI 说:

# 在 Claude Code 中输入:
> 生成wiki
> 创建文档
> 更新wiki
> 重新构建wiki

Skill 会自动执行完整流程:初始化 → 项目分析 → 深度代码阅读 → 生成文档 → 构建索引 → 质量审计。

代码变更后增量更新:

> 更新wiki

通过 SHA256 哈希检测变更文件。incremental 命令结合 diff 分析、依赖图遍历和文档间传播,精准定位受影响的 Wiki 页面——仅重写变更部分,不多做。

生成产物结构

.nium-wiki/
├── config.json              # 语言和排除规则配置
├── meta.json                # 版本、时间戳、统计信息
├── cache/
│   ├── structure.json       # 项目结构快照
│   ├── source-index.json    # SHA256 文件哈希(变更检测)
│   ├── doc-index.json       # 源文件 ↔ 文档双向映射
│   ├── dep-graph.json       # import/require 依赖图
│   └── facts/               # 模块事实抽取缓存(每模块一份)
└── wiki/                    # 生成的文档
    ├── index.md             # 项目首页
    ├── architecture.md      # 系统架构 + Mermaid 图表
    ├── getting-started.md   # 快速开始指南
    ├── doc-map.md           # 文档关系图
    ├── api/                 # API 参考文档
    ├── <domain>/            # 按业务域组织的模块文档
    │   ├── _index.md        # 域概览
    │   └── <module>.md      # 模块文档
    └── ...

多语言支持

# 初始化时指定主语言(第一语言) + 副语言
npx nium-wiki init --lang zh/en

副语言文档生成在 wiki_{lang}/ 目录下(如 .nium-wiki/wiki_en/),与 wiki/ 保持相同的目录结构。

本地预览

# 安装
npm install -g nium-wiki

# 启动本地文档服务器(默认端口 4000)
npx nium-wiki serve

# 指定端口
npx nium-wiki serve --port 3000

# 指定 Wiki 目录
npx nium-wiki serve .nium-wiki/wiki

浏览器访问 http://localhost:4000 即可预览生成的文档,支持全文搜索、侧边栏导航、Mermaid 图表渲染,以及源码抽屉——点击 Wiki 中任意源码链接时自动打开。

关系图谱

在预览服务器右上角点击 Graph 按钮,即可在 /_graph 打开交互式关系图谱。

图谱可视化了项目中所有节点和边的关系:

  • 蓝色节点 — 源代码文件(.ts.js.py 等)
  • 橙色节点 — 文档文件(.md
  • — 三种关系类型:
    • import — 一个源文件导入另一个源文件
    • refers — 文档文件引用源文件(或反向)
    • links — 文档文件链接到另一个文档文件

对于大型项目(节点数 > 500),图谱优先加载文档节点及其直接关联的源码节点,再沿 import 边向外扩散,直到约 500 个节点可见。点击任意源码节点可按需展开其隐藏的 import 邻居。

点击节点可高亮选中:关联节点保持原色,无关节点变暗。右侧详情面板显示选中节点的入边和出边信息。

Wiki 生成效果展示

生成效果示例可参考 claude-code-sourcemap-wiki,这是一个使用 Nium-Wiki 生成的完整项目示例。

配置说明

初始化后会在 .nium-wiki/config.json 生成默认配置:

{
  "language": "zh",
  "exclude": [
    "node_modules", ".git", "dist", "build",
    "coverage", "__pycache__", "venv", ".venv"
  ],
  "useGitignore": true
}

| 字段 | 类型 | 默认值 | 说明 | |------|------|--------|------| | language | string | en | 文档语言,支持 zhenjakofrde。使用 / 分隔可配置多语言,如 zh/en(主语言为中文,副语言为英文) | | exclude | string[] | 见上方 | 排除的目录列表,不参与代码分析和文档生成 | | useGitignore | boolean | true | 是否自动读取 .gitignore 中的目录排除规则并合并到排除列表 |

除了 config.json 中的自定义排除项,工具还内置了一组通用排除目录(.git.idea.vscodenode_modulesdist 等)和各语言处理器提供的排除规则(如 Python 的 __pycache__、Go 的 vendor 等),无需手动配置。

离线优先设计

Nium-Wiki 设计为完全离线运行,零外部依赖, 完美适用于企业内部网络和气隙环境:

预览服务器

  • ✅ 所有前端资源(Docsify、Prism.js、Mermaid)均本地打包
  • ✅ 无 CDN 请求或外部 API 调用

Token 开销说明

Nium-Wiki 的核心设计是利用 AI 编程工具在日常使用中对项目的理解(Explore 过程),引导工具以结构化方式输出文档,而非从零开始分析整个代码库。

| 场景 | Token 开销 | 说明 | |------|-----------|------| | 首次生成(已有 Explore 上下文) | 中等 | AI 工具已理解项目结构,直接进入文档生成阶段,开销取决于项目规模 | | 首次生成(全新项目) | 较大 | 需要完整的代码阅读和分析过程,相当于一次深度 Explore + 文档生成 | | 增量更新 | 很小 | 通过 SHA256 哈希检测代码变更,定位受影响的文档进行局部更新 | | 多语言翻译 | 很小 | 在主语言文档生成完毕后进行翻译,同样支持增量更新逻辑 |

对于已经使用 AI 编程工具一段时间的项目,首次生成的开销通常在可接受范围内。日常使用中以增量更新为主,开销很小。

开发中的功能

  • 持续优化文档效果,减少模型交互次数
  • 集中式文档管理服务
  • 智能检索工具(跨工程)
  • Karpathy LLM Wiki Schema 层融合:在现有模块事实(ModuleFacts)Schema 基础上,继续扩展 Wiki 组织规则(域划分、章节契约、跨文档关系)并以此驱动章节级增量更新

应用场景

  • 企业文档管理:为内部项目生成全面技术文档
  • 开源项目:自动维护最新文档
  • 代码审查:可视化架构和依赖关系
  • 新人入职:帮助新开发者快速理解代码库
  • 气隙环境:完全离线工作

贡献

欢迎贡献代码!请随时提交 Pull Request。

许可证

MIT

链接


由 Nium-Wiki 用 ❤️ 生成