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

vibe-tent

v0.1.0

Published

Manage intent, context, permissions, and task delegation between users and coding agents with an Obsidian plugin and CLI.

Readme

Tent / 帷幄

vibe 于帷幄之中

user 和 coding agent 的协作,本质是把代表你意图的 goal,经由 prompt 交给 agent,最终得到 output。当你同时指挥多个 agent,这个过程很快会失控:谁在做什么、能改哪里、进行到哪一步、交付是否可信——都散落在各处。

Tent(帷幄)承载这套协作——在 Obsidian 中可视化地管理 goalpromptoutput,划定 agent 权限、派活与验收,产出可追踪回真实代码仓。你运筹,agent 执行,决策权始终在你。

示例demo

快速开始

环境:Node.js 20+、Git、Obsidian 1.5+(仅桌面端)。

安装有三种方式,任选其一。

1) prompt agent 安装(推荐) —— 把下面这段发给你的 coding agent(Claude Code / Codex),它会问你要 vault 路径并完成全部安装:

Install the Tent plugin and CLI for me (github.com/cucarol/tent):
1. Clone the repo and run `npm ci && npm run build`.
2. Ask me for my Obsidian vault path, then copy `main.js`, `manifest.json`, and `styles.css` into `<vault>/.obsidian/plugins/tent/`.
3. Run `npm link`, then run `tent skill-install`.
When done, tell me to enable Tent in Obsidian's community-plugin settings.

2) BRAT —— 用 BRAT 添加 cucarol/tent,自动安装并保持更新。

3) 手动安装 —— 构建后把 main.jsmanifest.jsonstyles.css 拷入 <vault>/.obsidian/plugins/tent/

以上任一方式装好后,在 Obsidian 第三方插件设置中启用 Tent; 在你的 agent 里运行 tent-genesis 创建第一顶帐, 之后每个新会话运行 tent-role 进入工作。

架构与概念

Tent 在你的 Obsidian 中创建一个文件夹存放 markdown 文档;真实产出(代码、文档)所在的 workspace 由你指定。

它由三部分组成:core(规则与文件契约)、agent 侧 skill 层(agent 如何进入并使用一顶帐)、Obsidian UI(可视化操作)。

OKF 兼容:一顶 Tent(帐) 本质是一个 OKF v0.1 bundle;tent okf-sync 生成 OKF 索引/日志并投影 wiki-link,让这批 markdown 同时是一份可被其它工具读取的开放知识库。 https://github.com/GoogleCloudPlatform/knowledge-catalog

core

core 是 Tent(帐) 的地基:一套纯文件约定,加上操作它的 tent CLI。状态、意图、权限、协作管道全部落在带 frontmatter 的 markdown 和 .tent/ 注册表里——不依赖 Obsidian,也不用 Git 存状态。UI 只是它的可视化外壳,整套流程用 CLI 就能跑完。

  • box(框) —— 每份带 frontmatter 的 markdown 即一个 box:bx- id 随移动保持稳定,父子层级表达归属,正文是任务本体。tent new-box <name> <type> [parentId] 建框,tent fork <boxId> 复制整棵子树。
  • type / status / tags / 权限 —— typegoal / prompt / output)决定语义与默认读写,status(todo / doing / done)表进度,tags 做横向检索,每个 box 另有 R/W 权限。type 存在 .tent/types.json,可自定义名称、默认 R/W 与描述。
  • 派活与认领 —— tent dispatch <boxId> <role> --prompt <text> 只写入一份任务信封和一段接力 prompt,并不替 agent 占用;目标 agent 执行 tent task-ack 才真正认领,框转入占用态。派活既可 user → agent(U2A),也可 agent → agent(A2A);Tent 从不自动唤醒 agent,接手始终由目标 agent 的 task-ack 完成。
  • 执行与隔离 —— dispatch 会从 Tent 唯一的 workspace 指针自动解析并创建 worktree + branch,每个 role 一条独立车道,多个 agent 同时干活互不干扰。真实代码、commit、branch 都发生在 workspace,Tent 侧只存状态。
  • 交付与裁决 —— 完成后 agent 用 tent report <boxId> --commits <sha> 交付成果、或用 tent propose <boxId> 提议,二者都投递到「待裁」;你确认(tent complete)或驳回。确认一份带 commit 的 report 即把改动合入 workspace,框标记完成。全程你是唯一决策者,agent 的交付只有经你确认才生效。

skill

agent 侧有两个 skill,覆盖「创建」和「进入」两件事。

  1. tent-genesis(每个项目一次) —— 用于创建并初始化帐,agent 寻求 工作区 的路径,然后创建一顶帐。
  2. tent-role(每个会话一次) —— 一个 agent 会话运行该 skill 创建或者认领某个 role:读取自己的信箱、已认领的框与权限,再开始工作。

Obsidian UI

可选的可视化层,把上面这套 core 摊在面板里操作:左侧是整棵 box 树,右侧是选中 box 的详情面板,含三个 tab——笔记(box 正文)、派活(把框交给某个 role)、待裁(逐个确认或驳回 report / proposal)。

https://github.com/user-attachments/assets/092cec70-e68d-4298-a2fc-c5d58921a14d

贡献与安全

开发规则、仓库结构与本地开发流程见 CONTRIBUTING.md,漏洞私密上报指引见 SECURITY.md

许可证

MIT