{"_id":"@c956180462/awbs","_rev":"4-95d8e5f44a6e2d1d6901e7e8df4070c8","name":"@c956180462/awbs","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@c956180462/awbs","version":"0.0.1","keywords":["agent","workspace","filesystem","git","cli"],"license":"MIT","_id":"@c956180462/awbs@0.0.1","maintainers":[{"name":"c956180462","email":"c956180462@outlook.com"}],"homepage":"https://github.com/a956180462/AWBS#readme","bugs":{"url":"https://github.com/a956180462/AWBS/issues"},"bin":{"awbs":"bin/awbs.js"},"dist":{"shasum":"fc235b81cf0e7982a1d962d9da442411c3aa0100","tarball":"https://registry.npmjs.org/@c956180462/awbs/-/awbs-0.0.1.tgz","fileCount":50,"integrity":"sha512-4Ylq8vfhVzMvkzz93P/K7BVXw59uzrfThZgIwJvTnAM2lNt2zCBhmXHQzuBK78HXphbIzl0Nz1G8Vf0bLUTGWg==","signatures":[{"sig":"MEQCIDPaOj7d3r0JLk0qP+thGI4eBpv3yjfgKOqiKbJIc3udAiBJGoTAzWid1svEyyADgku1ABw77S4fQmoe8ehpar5ydA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320637},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"350717605ec297e9263c2b49ff0f7b8f16809c7e","scripts":{"awbs":"node src/cli.ts","test":"node --test --test-concurrency=1 tests/*.test.ts"},"_npmUser":{"name":"c956180462","email":"c956180462@outlook.com"},"repository":{"url":"git+https://github.com/a956180462/AWBS.git","type":"git"},"_npmVersion":"11.12.1","description":"Agent Work Base Space CLI prototype for file-system database workspaces.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/awbs_0.0.1_1779506232247_0.41167154532981165","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@c956180462/awbs","version":"0.0.2","keywords":["agent","workspace","filesystem","git","cli"],"license":"MIT","_id":"@c956180462/awbs@0.0.2","maintainers":[{"name":"c956180462","email":"c956180462@outlook.com"}],"homepage":"https://github.com/a956180462/AWBS#readme","bugs":{"url":"https://github.com/a956180462/AWBS/issues"},"bin":{"awbs":"bin/awbs.js"},"dist":{"shasum":"1daa36abc7e11c2554683c1ef9dc371d25462237","tarball":"https://registry.npmjs.org/@c956180462/awbs/-/awbs-0.0.2.tgz","fileCount":84,"integrity":"sha512-JkwWzgcNacxnFZRsO7DwJi1/DWUbmriJv+RunrXWy19wiV1ei7Tz4D5skGw3YTL/CI0C3vPRuY+UOBScgwExCA==","signatures":[{"sig":"MEUCIC9RljP5T1XJqlcSehGi/dhNm87mY+ao+np8vfJkrAt8AiEAqhOkTHIyqnTevgfDIZ7d784T4msPaChXrQuYvni4KB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468195},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"b43713a6bfc6d0e735d84b7d63e02de4edd6079d","scripts":{"awbs":"node src/cli.ts","test":"node --test --test-concurrency=1 tests/*.test.ts","build":"tsc -p tsconfig.json","prepare":"npm run build","prebuild":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"c956180462","email":"c956180462@outlook.com"},"repository":{"url":"git+https://github.com/a956180462/AWBS.git","type":"git"},"_npmVersion":"11.12.1","description":"Agent Work Base Space CLI prototype for file-system database workspaces.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/awbs_0.0.2_1779507257523_0.6416125894206783","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@c956180462/awbs","version":"0.0.3","keywords":["agent","workspace","filesystem","git","cli"],"license":"MIT","_id":"@c956180462/awbs@0.0.3","maintainers":[{"name":"c956180462","email":"c956180462@outlook.com"}],"homepage":"https://github.com/a956180462/AWBS#readme","bugs":{"url":"https://github.com/a956180462/AWBS/issues"},"bin":{"awbs":"bin/awbs.js"},"dist":{"shasum":"e74803f65a7b841e111658dcc2c68b320a5a7388","tarball":"https://registry.npmjs.org/@c956180462/awbs/-/awbs-0.0.3.tgz","fileCount":84,"integrity":"sha512-a52yEcZNeWYhjLWvaQ/s+4M/DMlXUKIjFXUoZ978MFKDjDaNTEDfR1H1tJeYBc1Bjv4UTpeySg5UVxFjD9w8tQ==","signatures":[{"sig":"MEYCIQDZRAqrFt5w+ReJiI8eky0DsXW3rGcUG68eZ69fI5ijMQIhAMsqcNwLBulUK3dzg2v+Usep4vtthOMfU3uA4yFdIwKz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488151},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"ee0e543d5698ee7b751d746361445b5f5876552b","scripts":{"awbs":"node src/cli.ts","test":"node --test --test-concurrency=1 tests/*.test.ts","build":"tsc -p tsconfig.json","prepare":"npm run build","prebuild":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"c956180462","email":"c956180462@outlook.com"},"repository":{"url":"git+https://github.com/a956180462/AWBS.git","type":"git"},"_npmVersion":"11.12.1","description":"Agent Work Base Space CLI prototype for file-system database workspaces.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/awbs_0.0.3_1779515999527_0.25377802087333245","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@c956180462/awbs","version":"0.0.4","description":"Agent Work Base Space CLI prototype for file-system database workspaces.","license":"MIT","type":"module","bin":{"awbs":"bin/awbs.js"},"repository":{"type":"git","url":"git+https://github.com/a956180462/AWBS.git"},"bugs":{"url":"https://github.com/a956180462/AWBS/issues"},"homepage":"https://github.com/a956180462/AWBS#readme","keywords":["agent","workspace","filesystem","git","cli"],"scripts":{"awbs":"node src/cli.ts","prebuild":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","build":"tsc -p tsconfig.json","prepare":"npm run build","test":"node --test --test-concurrency=1 tests/*.test.ts"},"engines":{"node":">=24.0.0"},"devDependencies":{"@types/node":"^24.12.4","typescript":"^6.0.3"},"gitHead":"c4340f2e7afcadfc55d1c51ca26d1fb1753b014f","_id":"@c956180462/awbs@0.0.4","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-2VpHO4duGqMUzm6Xr3l2oLpyx3ZrYpnQwd9aNarsH+YflUxlQ9mlmr4k+NzLU4gWnJWUk61TMHPrYawPNqlJOw==","shasum":"d02da0d4c78711f46a7bd4822c1461b33ce64295","tarball":"https://registry.npmjs.org/@c956180462/awbs/-/awbs-0.0.4.tgz","fileCount":86,"unpackedSize":508931,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEFG60pA5bta4Q4+DKCh9F+hnvKaZE84p6jHz0G2vmS4AiBHx1rI4JxILMLy0Cq+Y8mK9UKmzIBPJw/4XoxeGP/m1g=="}]},"_npmUser":{"name":"c956180462","email":"c956180462@outlook.com"},"directories":{},"maintainers":[{"name":"c956180462","email":"c956180462@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/awbs_0.0.4_1779525326855_0.7830826218905338"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-23T03:17:12.101Z","modified":"2026-05-23T08:35:27.128Z","0.0.1":"2026-05-23T03:17:12.395Z","0.0.2":"2026-05-23T03:34:17.676Z","0.0.3":"2026-05-23T05:59:59.702Z","0.0.4":"2026-05-23T08:35:27.007Z"},"bugs":{"url":"https://github.com/a956180462/AWBS/issues"},"license":"MIT","homepage":"https://github.com/a956180462/AWBS#readme","keywords":["agent","workspace","filesystem","git","cli"],"repository":{"type":"git","url":"git+https://github.com/a956180462/AWBS.git"},"description":"Agent Work Base Space CLI prototype for file-system database workspaces.","maintainers":[{"name":"c956180462","email":"c956180462@outlook.com"}],"readme":"# AWBS\n\nAWBS is short for **Agent Work Base Space**.\n\n中文：AWBS 是一个面向 agent 工作流的文件系统数据库底座。它把标准文件系统当作数据库主体，把 Git 当作版本管理器，把某一步工作需要的文件复制成独立的工作空间视图，再通过 changeset 把允许的变更写回数据库。\n\nEnglish: AWBS is an agent-oriented file-system database foundation. It treats ordinary files as the database body, Git as the version manager, copy-based workspace views as the working surface, and changesets as the write-back format.\n\nAWBS is intentionally **not** a sandbox system. Its core concern is workflow workspace management: what an agent can see for this step, what it is allowed to change, how those changes are collected, and how valid changes return to the Git-managed database.\n\nAWBS 不是沙箱系统。它关心的是 agent 工作流的工作目录管理：这一步能看到什么、允许改什么、改完后如何收集变更、哪些变更可以写回 Git 管理的文件系统数据库。\n\n## 文档入口\n\n- [文档目录](./docs/README.md)：所有产品文档、参考文档、任务记录和归档材料的总入口。\n- [标准手册](./docs/MANUAL.md)：基于 003 可信数据链的正式使用、接入和维护手册。\n- [产品文档](./docs/PRODUCT.md)：AWBS 是什么、解决什么问题、不解决什么问题。\n- [使用文档](./docs/USAGE.md)：从安装、初始化、创建 view 到 apply changeset 的操作手册。\n- [全链路文档](./docs/FULL_CHAIN.md)：AWBS 从 init 到 trusted chain 推进的完整数据流。\n- [开发学习文档](./docs/DEVELOPMENT_LEARNING.md)：源码分层、关键机制和学习顺序。\n- [当前特性总览](./docs/reference/AWBS_CURRENT_FEATURES.md)：当前初版已经实现的能力清单。\n- [核心设计文档](./docs/reference/AWBS_CORE_DESIGN.md)：设计思想、架构、可信事实层和长期边界。\n\n## 当前效果\n\n这个仓库现在已经是一个可运行的 v0/001/002/003/005/006/007 CLI 原型，已经打通了最小闭环：\n\n```text\ninit\n  -> authority session start\n  -> ledger bootstrap\n  -> index rebuild/query\n  -> summary set/get/list\n  -> view create/inspect/revoke\n  -> workspace 工作\n  -> changeset collect/inspect/apply\n  -> Git commit\n```\n\n当前已经具备这些能力：\n\n- 可以在一个目录中初始化 AWBS 数据库；如果不是 Git repo，会自动 `git init`。\n- 可以使用磁盘 SQLite + FTS5 建立持久索引：默认写入 `.awbs/index/files.sqlite`。\n- 可以查询文件路径、摘要和 active/removed 状态。\n- 可以通过 `summary` 命令写入、读取、列出外部摘要；摘要永远由上层业务或外部工具生成。\n- 可以创建 copy-based 工作空间视图，不重命名目录，只按原路径复制。\n- 每个 view 都有唯一 UUID，并在 `.awbs/authority` 下生成密封契约。\n- workspace 里的 `.awbs-view.json` 只作为展示/索引，不再作为权限事实源。\n- collect/apply 会回查密封 authority contract，而不是信任 workspace 明文。\n- 只读路径被修改时，changeset 会变成 invalid，apply 永远拒绝。\n- view revoke 后，基于该 view 的新 collect/apply 会被拒绝。\n- `awbs ledger bootstrap` 会创建 AWBS 可信数据链，并维护 `refs/awbs/trusted`。\n- `ledger verify` 不只检查 ref 是否存在；它会校验 trusted commit 的父提交、提交消息、变更路径和 ledger 记录的最终路径 hash。\n- `awbs authority session start` 会把本地 authority key 托管到同用户后台 session daemon，并删除磁盘 `local.json`。\n- 可信写入命令必须由 host controller 通过 stdin 提供 `controllerToken`。\n- `controllerToken` 不直接进入 session IPC；AWBS 使用带 nonce 的 HMAC controller proof，并要求可信写入成功响应带 response proof。\n- session 异常退出后，可以用上层应用提供的 `recoverySecret` 显式恢复 `local.json`。\n- `view create` 和 `index rebuild` 默认基于 AWBS trusted commit，不读取污染工作区。\n- `changeset apply` 只接受基于当前 trusted commit 的 valid changeset；成功后推进 AWBS trusted chain。\n- 外部 Git commit 可以存在，但不会自动进入 AWBS 认证数据库。\n- `db audit` 可以报告当前 `HEAD`、工作树和 trusted chain 的偏离。\n- `db clean-rebuild` 可以从 trusted commit 重建干净数据库目录，并把旧目录整体保留为 backup。\n- 已经有 Node 内置测试覆盖架构、authority、changeset、SQLite 索引和 CLI 闭环。\n- 当前仓库已经是 public GitHub repository，并带 MIT License。\n- 当前 npm 包名是 `@c956180462/awbs`，全局命令仍然是 `awbs`。\n\n摘要边界是硬边界：AWBS 永远不会内置 AI 摘要模型、API 配置、提示词或业务理解逻辑。AWBS 只保存和索引上层写入的摘要。\n\n## 还没有做什么\n\n- 还没有实现操作系统级只读属性、文件级 ACL 或强安全沙箱。\n- 还没有实现跨机器 authority key 迁移。\n- 还没有实现 workflow/run/step 的完整记录层。\n- 还没有实现 backup purge；003 只保留 backup，不自动删除。\n- 还没有实现 B 模式：独立 OS 用户、系统 keychain、系统服务形式的 AWBS Authority Service。\n\n## 安装与运行\n\n要求：\n\n- Node.js `>=24.0.0`\n- Git\n\n从 npm 安装：\n\n```powershell\nnpm install -g @c956180462/awbs\nawbs --help\n```\n\n如果曾经安装过 `0.0.1`，请升级到 `0.0.2` 或更新版本。`0.0.1` 的包入口仍指向 `.ts` 源码，在全局安装后可能触发 Node.js 的 `ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING`。`0.0.2+` 发布包会先编译到 `dist/`，全局命令加载的是 JavaScript。\n\n`0.0.3+` 进一步加固 trusted chain：`refs/awbs/trusted` 指向的 commit 必须被 sealed ledger head entry 解释，不能只靠手动改 Git ref 进入 AWBS 认证数据库。\n\n从本地仓库全局安装：\n\n```powershell\nnpm install -g .\nawbs --help\n```\n\n开发时也可以直接运行：\n\n```powershell\nnpm run awbs -- --help\nnode src\\cli.ts --help\n```\n\n## 基本使用流程\n\n```powershell\nawbs init\ngit add .\ngit commit -m \"initialize database\"\n\n# recoverySecret / controllerToken 应由上层应用的非 AI 控制层注入。\n'{\"recoverySecret\":\"dev-recovery\",\"controllerToken\":\"dev-controller\"}' | awbs authority session start --control-stdin\n'dev-controller' | awbs ledger bootstrap --control-token-stdin\n\nawbs index rebuild\nawbs index query\n\n'dev-controller' | awbs view create --out ..\\awbs-workspace --read A --write B --control-token-stdin\n# 在 ..\\awbs-workspace 里工作\n\nawbs changeset collect --workspace ..\\awbs-workspace\nawbs changeset inspect <changesetId>\n'dev-controller' | awbs changeset apply <changesetId> --control-token-stdin\n'dev-controller' | awbs authority session stop --control-token-stdin\n```\n\n## CLI 命令\n\n```text\nawbs init\nawbs index rebuild\nawbs index query [term] [--status active|removed|all] [--json]\nawbs summary set <path> (--text <summary> | --file <file>)\nawbs summary get <path> [--json]\nawbs summary list [--json]\nawbs view create --out <workspace> [--read A] [--write B] --control-token-stdin\nawbs view inspect <viewId> [--json]\nawbs view revoke <viewId> --control-token-stdin\nawbs changeset collect --workspace <workspace>\nawbs changeset inspect <changesetDir|id> [--json]\nawbs changeset apply <changesetDir|id> --control-token-stdin\nawbs ledger bootstrap [--json] --control-token-stdin\nawbs ledger inspect [--json]\nawbs ledger verify [--json]\nawbs db audit [--json]\nawbs db clean-rebuild [--json]\nawbs db backups list [--json]\nawbs authority session start --control-stdin [--json]\nawbs authority session status [--json]\nawbs authority session stop --control-token-stdin [--json]\nawbs authority session recover --recovery-secret-stdin [--json]\nawbs authority verify [--json]\nawbs authority repair-mirrors --control-token-stdin [--json]\n```\n\n## 设计文档\n\n- [docs/README.md](./docs/README.md)：文档目录总入口。\n- [docs/PRODUCT.md](./docs/PRODUCT.md)：产品定位、适用场景和边界。\n- [docs/USAGE.md](./docs/USAGE.md)：CLI 使用手册。\n- [docs/FULL_CHAIN.md](./docs/FULL_CHAIN.md)：全链路运行机制。\n- [docs/DEVELOPMENT_LEARNING.md](./docs/DEVELOPMENT_LEARNING.md)：开发学习路径和源码结构。\n- [docs/reference/AWBS_CORE_DESIGN.md](./docs/reference/AWBS_CORE_DESIGN.md)：核心思想、当前能力、技术架构、索引设计和 npm 包状态。\n- [docs/reference/AWBS_CURRENT_FEATURES.md](./docs/reference/AWBS_CURRENT_FEATURES.md)：当前系统已实现特性的集中总览。\n- [docs/tasks/TASK_001_VIEW_AUTHORITY.md](./docs/tasks/TASK_001_VIEW_AUTHORITY.md)：视图鉴权器、密封契约、明文镜像和鉴权目录总账。\n- [docs/tasks/TASK_003_AUTHORITY_LEDGER_AND_DB_AUDIT.md](./docs/tasks/TASK_003_AUTHORITY_LEDGER_AND_DB_AUDIT.md)：AWBS 可信数据链、数据库审计和可信重建设计。\n- [docs/tasks/TASK_004_TRUSTED_AUTHORITY_LAYER.md](./docs/tasks/TASK_004_TRUSTED_AUTHORITY_LAYER.md)：可信事实层、hash-linked ledger、Authority Service 和 trust anchor 设计。\n- [docs/tasks/TASK_005_AUTHORITY_SESSION.md](./docs/tasks/TASK_005_AUTHORITY_SESSION.md)：A 模式运行期本地钥匙托管、controller token 和恢复流程。\n- [docs/tasks/TASK_006_TRUST_BOUNDARY_HARDENING.md](./docs/tasks/TASK_006_TRUST_BOUNDARY_HARDENING.md)：可信边界加固、路径策略和 changeset payload 校验。\n- [docs/tasks/TASK_007_TRUSTED_OPERATION_ENTRY.md](./docs/tasks/TASK_007_TRUSTED_OPERATION_ENTRY.md)：可信操作入口与 verify / repair 拆分。\n\n## Development Status\n\nThis repository is currently a runnable CLI prototype for AWBS v0/001/002/003/005/006/007.\n\nIt already supports:\n\n- Git-backed AWBS project initialization.\n- Persistent disk SQLite indexing with FTS5.\n- External summary read/write commands.\n- Copy-based workspace view creation.\n- Sealed view authority contracts.\n- View inspection and revocation.\n- Changeset collection, inspection, and apply.\n- Readonly-path violation detection.\n- Stale base commit rejection.\n- Read-only authority verification and controller-token-gated mirror repair.\n- AWBS trusted chain bootstrap and verification.\n- Trusted commit binding verification: parent commit, commit message, changed paths, and applied path hashes must match the sealed ledger head entry.\n- Ephemeral local authority sessions for trusted writes.\n- Controller-token-gated trusted write commands.\n- Recovery-secret-based local key recovery after a crashed session.\n- Trusted-commit-based view projection and index rebuild.\n- Database audit for divergence from the AWBS trusted chain.\n- Clean database rebuild from the trusted commit with backup preservation.\n- Node test coverage for the main closed loop.\n- Public npm package under `@c956180462/awbs`, with the global command name `awbs`.\n\nSummary generation is deliberately outside AWBS. AWBS never ships a built-in AI summarizer, model configuration, API key flow, prompt layer, or business-specific content understanding. Upper-layer applications may generate summaries however they want and write them through AWBS summary commands.\n\nIt does not yet provide:\n\n- OS-level readonly enforcement.\n- File-level ACL.\n- Strong sandbox isolation.\n- Cross-machine authority key migration.\n- Full workflow/run/step history.\n- Backup purge.\n- OS-level B mode with an independent OS user, OS keychain, or standalone AWBS Authority Service.\n\n## English Quick Start\n\nRequirements:\n\n- Node.js `>=24.0.0`\n- Git\n\nInstall from npm:\n\n```powershell\nnpm install -g @c956180462/awbs\nawbs --help\n```\n\nIf you installed `0.0.1`, upgrade to `0.0.2` or later. Version `0.0.1` pointed the package bin at TypeScript source, which can fail under `node_modules` with `ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING`. Starting from `0.0.2+`, the npm package runs compiled JavaScript from `dist/`.\n\nStarting from `0.0.3+`, the trusted chain also binds `refs/awbs/trusted` to the sealed ledger head entry by checking commit parent, commit message, changed paths, and applied path hashes.\n\nInstall from a local checkout:\n\n```powershell\nnpm install -g .\nawbs --help\n```\n\nBasic flow:\n\n```powershell\nawbs init\ngit add .\ngit commit -m \"initialize database\"\n\n'{\"recoverySecret\":\"dev-recovery\",\"controllerToken\":\"dev-controller\"}' | awbs authority session start --control-stdin\n'dev-controller' | awbs ledger bootstrap --control-token-stdin\n\nawbs index rebuild\nawbs index query\n\n'dev-controller' | awbs view create --out ..\\awbs-workspace --read A --write B --control-token-stdin\n# Work inside ..\\awbs-workspace\n\nawbs changeset collect --workspace ..\\awbs-workspace\nawbs changeset inspect <changesetId>\n'dev-controller' | awbs changeset apply <changesetId> --control-token-stdin\n'dev-controller' | awbs authority session stop --control-token-stdin\n```\n\n## Maintenance And Contributions\n\n中文：这个仓库是公开的个人研究型开源项目，更新节奏随缘。你可以阅读、fork、改造和自用；issue 或 pull request 可以提，但不保证处理，也不承诺接受外部代码合入。本仓库不会开放外部直接提交权限。\n\nEnglish: This is a public personal research project with irregular maintenance. You are welcome to read, fork, modify, and use it for your own work. Issues and pull requests may be opened, but there is no guarantee of review, merge, or ongoing support. External direct commit access is not granted.\n\n## Development\n\n```powershell\nnpm run build\nnode bin\\awbs.js --help\nnpm test\nnpm pack --dry-run\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}