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

msdevflow

v0.8.11

Published

Install the msdevflow GitCode skill and its runtime dependencies

Readme

msdevflow

msdevflow npm 包提供一套 GitCode Agent Skills:msd 核心可以把已授权的 Issue 安全推进到代码实现、普通 PR、CI、检视意见闭环和最终合入,十个 msd-<action> 薄路由入口用于在输入阶段发现并运行单项能力。正式支持 Claude Code、Codex 和 OpenCode;Trae 的 Skills 安装与兼容机制尚未完成可靠验证,因此当前不宣称支持。

安装

环境要求:

  • Claude Code、Codex 或 OpenCode 中至少一个;
  • Node.js >=18 和 npm;
  • Git;
  • Python >=3.10,且标准库 venv 模块可用;
  • GitCode 账号;
  • Chrome 或 Edge(推荐,用于 openLiBing OAuth)。

首次安装:

npx msdevflow setup

后续升级无需卸载旧版本,显式使用 @latest 获取 npm 上的最新版:

npx msdevflow@latest setup

setup 是幂等的:内容一致时保持 current,内容不同时原子更新。

setup 默认检测 PATH 中的 Claude Code、Codex 和 OpenCode,展示完整计划并在确认后:

  1. 把一个 msd 核心和十个 msd-<action> 路由器作为整套事务原子安装或更新到所需目标;
  2. 安装或升级官方 @gitcode-cli/cli@latest
  3. 创建或修复 msdevflow 受管 Python venv,并在其中安装受审的 Playwright 依赖;
  4. 验收 Issue、PR、开放里程碑分页、Issue/PR 里程碑关联、结构化评论、行内评论、JSON、显式仓库和正文文件等 CLI 能力;
  5. GitCode CLI 未认证时打开官方 Token 创建页面,并让 CLI 自己的终端提示接收 Token。

显式选择客户端或只读预检:

npx msdevflow setup --targets claude
npx msdevflow setup --targets codex,opencode
npx msdevflow setup --targets all
npx msdevflow setup --dry-run --targets all

安装目录映射:

Claude Code                 -> ~/.claude/skills/{msd,msd-*}
Codex                       -> ~/.agents/skills/{msd,msd-*}
仅 OpenCode                 -> ~/.agents/skills/{msd,msd-*}
OpenCode + Claude Code      -> 复用 Claude 目标
OpenCode + Codex            -> 复用 Agent Skills 目标
Claude Code + Codex         -> 两套受管副本
三者同时安装                -> 两套受管副本,并提示 OpenCode 双路径发现

每个物理目标都包含完整套件,薄路由器不复制核心业务规则。已有 entry 只有在 manifest 精确匹配自身名称时才允许更新;由旧版包管理的 msdevflow 目录会在新套件全部验证后安全迁移,来源不明的目录、文件或符号链接会阻断安装。

WSL 与 Windows Agent

setup 以 Agent 可执行文件实际所在环境 决定安装侧,而不是只看命令从哪个 shell 发起:

  • Agent 只安装在 Windows:可以从 WSL 调用 Windows npx.cmd,setup 会标记 Runtime mode: windows-bridge-from-wsl,并把 Skill、Python venv 和 GitCode CLI 安装在 Windows 用户环境。
  • Agent 只安装在 WSL:必须使用 WSL 内的 Linux Node.js/npm;若误用了 Windows Node,setup 会在写入任何 Python、npm 或 Skill 文件前停止。
  • 同名 Agent 同时存在于 Windows 与 WSL:setup 不猜目标;请从目标环境的终端重新运行。

准备 WSL 原生 Agent 时先确认以下命令全部解析为 Linux 路径,而不是 /mnt/<drive>/....cmd

type -a node npm npx opencode
npx msdevflow@latest setup

示例使用 OpenCode;使用 Claude Code 或 Codex 时把 opencode 替换为实际 Agent 命令。

Windows bridge 模式应从 WSL 中解析到 Windows Agent;也可直接在 Windows Terminal/PowerShell 中运行 setup。此前失败后可直接重跑,setup 会安全复用或修复带受管 marker 的 runtime,不需要手动删除。

自定义目录:

npx msdevflow setup --skills-dir "<claude-skills-directory>"
npx msdevflow setup --agents-skills-dir "<shared-agent-skills-directory>"

--skills-dir 未配合 --targets 使用时保留旧语义,只安装 Claude Code 目标。没有检测到客户端时,交互运行会要求选择目标;非交互运行必须提供 --targets。安装完成后重启或重新加载对应客户端。如果机器已有 Python 版本的 gitcode,setup 会保留它,并为 npm CLI 创建 gitcode-npm 命令;否则使用 gitcode

setup 在所有平台使用独立受管 venv,不向系统 Python 安装包:

Windows:     %LOCALAPPDATA%\msdevflow\python
macOS/Linux: ${XDG_DATA_HOME:-$HOME/.local/share}/msdevflow/python

可用 MSDEVFLOW_PYTHON_DIR 覆盖,值必须是绝对路径或以 ~ 开头;setup 与后续 action 必须使用同一配置。venv 属于 CPython 标准库,但精简发行版可能未安装;Debian/Ubuntu 通常需要用户自行安装 python3-venv。setup 不执行 sudo,不回退到全局 pip,也不使用 --break-system-packages。Windows 官方 Python 和 Homebrew Python 通常已包含 venv

运行与 action 补全

从目标仓库目录启动客户端。直接调用核心 msd 会运行完整作者 E2E:

  • Claude Code:输入并提交 /msd
  • Codex:使用 $msd 或从 /skills 选择;
  • OpenCode:打开 /skills,选择 msd,再提交插入的 /msd@ 用于文件、reference 或 agent,不用于选择 Skill。

核心流程为:

Issue 发现/核验
-> 需求分析与方案确认
-> 建分支、开发、本地验证
-> commit、push、创建普通 PR
-> 当前 head 的 CI 通过
-> 等待外部 reviewer
-> 处理 feedback 并重新通过 CI(可重复)
-> 独立审批门禁满足
-> 用户确认当前 PR 的最终合入
-> 远端回读 PR 已 merged

调用正文可提供 Issue/PR URL、仓库路径、canonical、source 和模式。核心 msd 不显示运行时 Question 菜单;完整 E2E 在 pr-open 后不再询问是否继续,直接进入 ci

这是可暂停、可恢复的流程。外部检视或审批有新进展后,可再次提交 /msd 和 PR 信息:

恢复 https://gitcode.com/<canonical-owner>/<repo>/pulls/<number> 的完整作者 E2E。
本地仓库:<local-repository-absolute-path>
canonical:<canonical-owner>/<repo>
source:<your-account>/<repo>
使用 guided 模式,从权威远端和本地事实定位当前位置并继续。

独立 action

Claude Code/OpenCode 输入 /msd-、Codex 输入 $msd- 即可筛选十个独立入口。每个入口只运行对应 action,完成后立即停止;前置条件不足时不会隐式补跑上游流程。/msd action=<name>$msd action=<name> 仍是兼容调用,但参数本身不提供跨客户端枚举补全。

| action | 用途 | 完成状态或结果 | |---|---|---| | discover | 只读发现当前账号负责的候选 Issue | 列出候选和排除证据 | | create-issue | 按模板创建 Issue,并确定性选择开放里程碑 | issue-created(仓库存在 triaged 时一并追加) | | issue | 接取并核验指定 Issue | verified | | develop | 分析、设计、实现和本地验证 | locally-verified | | pr | commit、push、创建普通 PR并继承 Issue 里程碑,随后触发并监控 CI | ci-passed | | ci | 探测 CI 适配器,监控、诊断并修复当前 PR 的 CI | ci-passed | | openlibing-auth | 验证 GitCode → openLiBing OAuth | openlibing-authenticated | | feedback | 处理自己 PR 收到的检视意见 | feedback-resolvedwaiting-for-review | | code-review | 独立检视他人的 PR | review-findingsreview-passedreview-incomplete | | merge | 核验门禁并在最终确认后合入 | mergedwaitingblocked |

示例:

/msd-create-issue
在 Ascend/example 提一个 bug:升级后首次启动失败……
使用 guided 模式,确认完整预览后再创建。
/msd-ci
PR:https://gitcode.com/Ascend/example/pulls/456
本地仓库:D:\work\example
/msd-code-review
PR:https://gitcode.com/Ascend/example/pulls/789

code-review 只能检视其他作者的 PR。发现问题时只发布高置信度、可操作的 finding;完整检视未发现问题且没有有效未解决意见时,经用户针对当前 PR/head 明确确认后,只评论并回读精确的 /lgtm,不发布检视摘要或其他前置评论。它不发送 /approve/merge,也不修改作者代码。

PR 与检视规则

  • 创建普通 PR,不创建 Draft PR,也不执行 Ready;
  • create-issue 只在开放里程碑唯一时自动选择,多个时由用户选择,没有时明确为 none,不会创建或猜测里程碑;
  • pr 继承已核验目标 Issue 的里程碑,并在远端写后回读确认;
  • 完整 E2E 在 pr-open 后无需确认直接进入 ci,独立 pr action 同样在创建 PR 后触发并监控 CI,两者到此为止行为一致;
  • 不主动请求检视,不触发检视机器人;
  • 作者流程不会调用 code-review,也不会自行制造 LGTM/approve;
  • CI、review 和 merge 结论始终绑定当前 PR head SHA;
  • 最终 merge 无论运行模式如何,都需要用户针对当前 PR 明确确认。

CI 适配器

cipr 的 CI 阶段先用 gitcode_verify.py detect-ci 做只读探测,再选择适配器:

  • openlibing:按 openLiBing 机器人评论中与当前 head 匹配的 commitID 定位 run;
  • actions:按 run detail 的 pull_request_id 绑定 PR,并取该 PR 的最新 run_number/attempt
  • hybrid:两类证据同时存在,两条路径都必须通过才算 CI 通过;
  • unknown:证据不足时阻断并报告缺失项,不猜测。

探测和监控全程只读:空列表或 403 不证明仓库不支持 Actions,可查询也不代表可触发或重跑,因此不会用试跑流水线来探测权限,也不会自动修改仓库 workflow、runner 或密钥。Actions 运行中的 INITQUEUEDRUNNING 属于正常中间态,会继续等待而不是判定失败。触发评论(如 compile)先发送带尾签的说明评论,再单独发送精确 payload,两次写入都按写前评论集合和写后唯一 ID 校验,避免把历史同名评论当成本次触发。

中文和远端写入

Agent 写入的 PR/Issue 正文、评论和 discussion 回复末尾会附加:

——msdevflow

所有人类可读远端文本通过 UTF-8 安全通道写入,并从 GitCode 逐字回读。中文变成 ?、出现乱码、截断或尾签损坏时,流程会停止并优先原地修复。

compile/lgtm/merge 等严格机器协议保持原样,不附加尾签。

安全边界

msdevflow

  • 不读取、打印或转存 GitCode Token;
  • Token 只粘贴到 GitCode CLI 自己的终端提示,不放入 Agent 对话、命令参数、项目文件、URL 或日志;
  • openLiBing Token 只在当前 Python 认证进程内短暂使用,不输出、不落盘;
  • 永远不会自动下载 Playwright Chromium;
  • 优先使用系统 Chrome/Edge,其次使用已经安装的 Playwright Chromium;
  • 浏览器不可用时只返回可复制的 OAuth URL,并标记验证未完成;
  • 不跳过 hooks、测试、CI、review 或 approval;
  • 不为了启用 CI 自动迁移或修改仓库的 workflow、runner、权限或密钥;
  • 不默认 force push、重写共享历史、关闭 Issue或删除分支;
  • 所有远端写都显式指定目标仓库,并在结果不确定时先回读而不是盲目重试。

常见阻塞

客户端找不到 msdmsd-<action>

按目标确认核心和相应路由器的 manifest 都存在,然后重启或重新加载客户端:

Claude Code: ~/.claude/skills/msd/SKILL.md
             ~/.claude/skills/msd-<action>/SKILL.md
Codex:       ~/.agents/skills/msd/SKILL.md
             ~/.agents/skills/msd-<action>/SKILL.md
OpenCode:    上述任一路径(按 setup 计划)

Claude Code/OpenCode 可输入 /msd- 筛选 action;Codex 使用 $msd-。可运行 npx msdevflow setup --dry-run --targets <clients> 检查目标映射。

blocked: bootstrap-required

重新运行:

npx msdevflow setup

GitCode 尚未登录

使用 setup 选定的命令:

<gitcode-command> auth login --web
<gitcode-command> auth status --json

用户在官方页面创建 Token,并只粘贴到 GitCode CLI 自己的终端提示;不要把 Token 交给 Agent 或放入命令参数、项目文件、URL 或日志。

blocked: browser-required

安装或修复系统 Chrome/Edge 后恢复原流程。不要运行 playwright install chromium 作为默认解决方案。

waiting-for-review

这是作者流程等待独立 reviewer 的正常状态。检视意见或审批状态变化后,使用 PR URL 恢复完整 E2E。

详细文档

完整 action、恢复、模板、CI、review、UTF-8 和安全契约见 skill/msd/README.md

Contributors