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

@zhenjiawang/duomi

v0.1.1

Published

Local boundary, evidence, and memory substrate for LLM coding agents.

Readme

Duomi

Duomi 是给 coding agent 使用的本地边界、证据和记忆底座。

它不是 workflow manager,不是项目管理系统,不是 prompt handoff 工具,也不是 spec-driven development 框架。它的目标是让 LLM coding agent 能自然地工作,同时 在本地得到几个硬答案:

  • 什么是真的?
  • 我现在能改什么?
  • 我现在不能改什么?
  • 什么证据算数?
  • 什么时候必须停下来问人?
  • 哪些经验只能在现实验证之后再记住?

先读:

PRODUCT.md 包含产品图、初代使用方式和 LLM role contract。

CLI

Current primitives:

duomi init --json
duomi policy check --json
duomi check --json
duomi grant request --intent "..." --write <path> --create <path> --reference <path> --json
duomi check --grant <grant_id> --json
duomi boundary start --intent "..." --json
duomi evidence run --boundary <boundary_id> --profile <id> --json
duomi evidence run --boundary <boundary_id> -- <command>
duomi evidence status --boundary <boundary_id> --json
duomi record emit --boundary <boundary_id> --json
duomi record show <record_id> --json
duomi learn propose --record <record_id> --claim "..." --kind <kind> --json
duomi learn list --json
duomi learn apply <candidate_id> --json
duomi learn reject <candidate_id> --reason "..." --json
duomi context inventory --json
duomi context check --json
duomi context build --json
duomi context --intent "..." --json
duomi skill sync --target codex --json
duomi skill sync --target claude --json
duomi skill sync --target gemini --json
duomi skill sync --target all --json

duomi check --json is the default optimistic post-hoc check for normal existing-file edits. Explicit grants are only for high-drift mutations such as creates, sensitive paths, reference-only writes, deletes, renames, policy changes, migrations, and irreversible actions.

Phase 2 evidence binds executed command output to a runtime boundary. Starting a boundary requires a clean worktree; if existing changes are present, Duomi blocks and asks the agent to have the user commit, stash, or revert them first.

Policy bootstrap follows "LLM Draft + CLI Validate": duomi init creates a conservative default policy, while an agent or skill may help draft project-specific validation profiles. Only the checked .duomi/policy.yaml is the machine-checkable authority.

The intended human entrypoint is an agent skill, not memorizing every CLI command. For example, /duomi-init or "帮这个项目接入 Duomi" should let an agent run duomi init, inspect the repo, draft validation profiles, run duomi policy check --json, and then present the policy diff and high-impact choices for confirmation.

Agent context follows the same pattern. duomi context inventory --json mechanically reads repo signals for an LLM agent; the agent/skill drafts docs/agent/spec.md and docs/agent/metadata.yaml; duomi context check --json validates the structure; and duomi context build --json renders the quick-read context packet. CLI does not understand old projects by itself.

Human interrupts are agent-facing structured signals. When a command returns status: "interrupt", each interrupt includes the original type/path/reason plus an agent draft question, severity, and next_actions. There is no duomi interrupt approve/reject/resolve; the agent asks the human in natural language and continues through existing grant/check/evidence/record primitives.

The repo-owned bootstrap skills live under skills/. duomi skill sync --target all --json copies skills/* to ~/.codex/skills, ~/.claude/skills, and ~/.gemini/skills.

Current repo-owned skills:

  • duomi-init
  • duomi-context
  • duomi-work
  • duomi-finish

CLI / Skill Contract

Skills may remind an agent when to call the CLI and how to repair from JSON. They must not grant permissions, select target files from intent, route areas, or encode policy. The CLI is the only machine-checkable boundary authority.