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

dsh-arch-doc

v0.1.4

Published

DSH arch-doc skill plugin: analyze a codebase and generate architecture documentation (module responsibilities, dependencies, entry points and run methods).

Readme

arch-doc

License: MIT DeepSeek Harness dsh-index version

DSH 技能插件:输入代码库路径,自动生成架构文档(模块职责、依赖关系、入口点、运行方式)。

能力

  • 项目类型 / 语言 / 构建系统识别
  • 模块划分与职责总结
  • 内部 / 外部依赖提取与 Mermaid 依赖图
  • 入口点(CLI / Web / Worker / Scheduler / Library)识别
  • 运行方式(安装 / 开发 / 构建 / 测试 / 运行 / 部署)提取
  • 输出 Markdown + JSON

目录结构

arch-doc/
├── package.json                  # npm 包 + dsh.bundle.patch
├── cordis.patch.yml              # DSH bundle patch
├── plugin/index.js               # ESM 入口,注册 skills/ 为技能根
├── skills/arch-doc/SKILL.md      # 技能 frontmatter + 阶段执行 runbook
├── docs/                         # 输出模板 + 扫描规则
├── scripts/arch-profile.mjs      # 零依赖 Node 脚本:probe/scan/deps/entry
├── examples/                     # 输入/输出示例
└── test/                         # node --test 测试 + fixtures

使用

  1. 安装:dsh plugin --profile web add github:duyanta123/arch-doc#v0.1.3
  2. 使用:对 Agent 说「用 arch-doc 分析 /path/to/repo」
  3. 本地开发:profile 的 package.json 加 "arch-doc": "file:<本地路径>/arch-doc",bundles 加 "arch-doc"

输出

  • docs/ARCHITECTURE.md:结构化架构文档(按 docs/architecture-template.md 骨架)
  • docs/architecture.json:机器可读的结构化结果
  • docs/diagrams/module-dependencies.mmd:Mermaid 模块依赖图

环境要求

  • 独立脚本:Node.js >= 18(运行 scripts/arch-profile.mjs;无 Node 时 runbook 自动降级为 shell 手工探测)
  • DSH 0.1.5-rc.2 宿主:Node.js >= 22.19

脚本

node scripts/arch-profile.mjs <repo_path> --probe
node scripts/arch-profile.mjs <repo_path> --scan --max-depth 3
node scripts/arch-profile.mjs <repo_path> --deps
node scripts/arch-profile.mjs <repo_path> --entry
node scripts/arch-profile.mjs <repo_path> --all

测试

npm test
node --check scripts/arch-profile.mjs
npm run test:compat

排障

  • 生成的 ARCHITECTURE.md 里 Mermaid 图不渲染file:// 协议下浏览器直接打开时,CDN 加载的 mermaid.js 受同源策略限制无法自动渲染;用 Typora 等本地渲染编辑器打开,或把 diagrams/module-dependencies.mmd 内容粘到 mermaid.live 查看。.mmd 源文件语法本身独立有效。
  • 大仓库扫描太慢 / 输出太长--max-depth 3 起步,必要时降到 2;确认 exclude_dirs 覆盖了 node_modules.venv、构建产物等大目录。
  • 无 Node 环境时:runbook 自动降级为 shell 手工探测(find / ls / 读 package.json / go.mod / pyproject.toml),结论质量略降但流程完整。
  • 识别不到入口点:先跑 --probe 确认项目类型识别正确;混合技术栈仓库以主语言构建文件为准(如 Go+Node 混合,以 go.mod 优先)。

License

MIT