@detergent-software/atk 3.0.0-dev.2 → 3.0.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +79 -37
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +119 -154
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/cache.d.ts.map +1 -1
  9. package/build/commands/cache.js +13 -15
  10. package/build/commands/cache.js.map +1 -1
  11. package/build/commands/config.d.ts +1 -1
  12. package/build/commands/config.d.ts.map +1 -1
  13. package/build/commands/config.js +7 -3
  14. package/build/commands/config.js.map +1 -1
  15. package/build/commands/diff.d.ts.map +1 -1
  16. package/build/commands/diff.js +4 -117
  17. package/build/commands/diff.js.map +1 -1
  18. package/build/commands/freeze.d.ts +1 -2
  19. package/build/commands/freeze.d.ts.map +1 -1
  20. package/build/commands/freeze.js +17 -37
  21. package/build/commands/freeze.js.map +1 -1
  22. package/build/commands/info.d.ts +1 -2
  23. package/build/commands/info.d.ts.map +1 -1
  24. package/build/commands/info.js +36 -35
  25. package/build/commands/info.js.map +1 -1
  26. package/build/commands/init.d.ts.map +1 -1
  27. package/build/commands/init.js +39 -405
  28. package/build/commands/init.js.map +1 -1
  29. package/build/commands/install.d.ts.map +1 -1
  30. package/build/commands/install.js +49 -34
  31. package/build/commands/install.js.map +1 -1
  32. package/build/commands/list.d.ts +2 -2
  33. package/build/commands/list.d.ts.map +1 -1
  34. package/build/commands/list.js +138 -27
  35. package/build/commands/list.js.map +1 -1
  36. package/build/commands/outdated.d.ts.map +1 -1
  37. package/build/commands/outdated.js +20 -10
  38. package/build/commands/outdated.js.map +1 -1
  39. package/build/commands/pin.d.ts +1 -2
  40. package/build/commands/pin.d.ts.map +1 -1
  41. package/build/commands/pin.js +44 -47
  42. package/build/commands/pin.js.map +1 -1
  43. package/build/commands/prune.d.ts.map +1 -1
  44. package/build/commands/prune.js +76 -151
  45. package/build/commands/prune.js.map +1 -1
  46. package/build/commands/publish.d.ts +3 -1
  47. package/build/commands/publish.d.ts.map +1 -1
  48. package/build/commands/publish.js +67 -390
  49. package/build/commands/publish.js.map +1 -1
  50. package/build/commands/search.d.ts.map +1 -1
  51. package/build/commands/search.js +14 -19
  52. package/build/commands/search.js.map +1 -1
  53. package/build/commands/setup.d.ts +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +48 -253
  56. package/build/commands/setup.js.map +1 -1
  57. package/build/commands/sync.d.ts.map +1 -1
  58. package/build/commands/sync.js +43 -169
  59. package/build/commands/sync.js.map +1 -1
  60. package/build/commands/thaw.d.ts +1 -2
  61. package/build/commands/thaw.d.ts.map +1 -1
  62. package/build/commands/thaw.js +19 -37
  63. package/build/commands/thaw.js.map +1 -1
  64. package/build/commands/uninstall.d.ts.map +1 -1
  65. package/build/commands/uninstall.js +106 -221
  66. package/build/commands/uninstall.js.map +1 -1
  67. package/build/commands/unpin.d.ts +1 -2
  68. package/build/commands/unpin.d.ts.map +1 -1
  69. package/build/commands/unpin.js +23 -38
  70. package/build/commands/unpin.js.map +1 -1
  71. package/build/commands/update.d.ts.map +1 -1
  72. package/build/commands/update.js +37 -25
  73. package/build/commands/update.js.map +1 -1
  74. package/build/commands/why.d.ts +1 -1
  75. package/build/commands/why.d.ts.map +1 -1
  76. package/build/commands/why.js +14 -6
  77. package/build/commands/why.js.map +1 -1
  78. package/build/components/AssetDetail.d.ts +1 -3
  79. package/build/components/AssetDetail.d.ts.map +1 -1
  80. package/build/components/AssetDetail.js +24 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +5 -2
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +37 -40
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/BrowseExpandedBundle.d.ts +7 -0
  87. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  88. package/build/components/BrowseExpandedBundle.js +19 -0
  89. package/build/components/BrowseExpandedBundle.js.map +1 -1
  90. package/build/components/BrowseExpandedRow.d.ts +4 -1
  91. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedRow.js +24 -3
  93. package/build/components/BrowseExpandedRow.js.map +1 -1
  94. package/build/components/BrowseList.d.ts +3 -1
  95. package/build/components/BrowseList.d.ts.map +1 -1
  96. package/build/components/BrowseList.js +52 -42
  97. package/build/components/BrowseList.js.map +1 -1
  98. package/build/components/DiffView.d.ts +0 -2
  99. package/build/components/DiffView.d.ts.map +1 -1
  100. package/build/components/DiffView.js +11 -5
  101. package/build/components/DiffView.js.map +1 -1
  102. package/build/components/DryRunBanner.d.ts +3 -3
  103. package/build/components/DryRunBanner.d.ts.map +1 -1
  104. package/build/components/DryRunBanner.js +2 -2
  105. package/build/components/DryRunBanner.js.map +1 -1
  106. package/build/components/FilterBar.d.ts +10 -3
  107. package/build/components/FilterBar.d.ts.map +1 -1
  108. package/build/components/FilterBar.js +4 -4
  109. package/build/components/FilterBar.js.map +1 -1
  110. package/build/components/FrozenSkippedHint.d.ts +11 -0
  111. package/build/components/FrozenSkippedHint.d.ts.map +1 -0
  112. package/build/components/FrozenSkippedHint.js +12 -0
  113. package/build/components/FrozenSkippedHint.js.map +1 -0
  114. package/build/components/HelpBar.d.ts.map +1 -1
  115. package/build/components/HelpBar.js +3 -3
  116. package/build/components/HelpBar.js.map +1 -1
  117. package/build/components/InitSuccess.d.ts +5 -0
  118. package/build/components/InitSuccess.d.ts.map +1 -0
  119. package/build/components/InitSuccess.js +20 -0
  120. package/build/components/InitSuccess.js.map +1 -0
  121. package/build/components/InstallSummary.d.ts +3 -3
  122. package/build/components/InstallSummary.d.ts.map +1 -1
  123. package/build/components/InstallSummary.js +2 -2
  124. package/build/components/InstallSummary.js.map +1 -1
  125. package/build/components/Link.d.ts +7 -0
  126. package/build/components/Link.d.ts.map +1 -0
  127. package/build/components/Link.js +6 -0
  128. package/build/components/Link.js.map +1 -0
  129. package/build/components/ListActionBar.d.ts +11 -0
  130. package/build/components/ListActionBar.d.ts.map +1 -0
  131. package/build/components/ListActionBar.js +30 -0
  132. package/build/components/ListActionBar.js.map +1 -0
  133. package/build/components/ListBrowseList.d.ts +27 -0
  134. package/build/components/ListBrowseList.d.ts.map +1 -0
  135. package/build/components/ListBrowseList.js +57 -0
  136. package/build/components/ListBrowseList.js.map +1 -0
  137. package/build/components/ListExpandedRow.d.ts +38 -0
  138. package/build/components/ListExpandedRow.d.ts.map +1 -0
  139. package/build/components/ListExpandedRow.js +46 -0
  140. package/build/components/ListExpandedRow.js.map +1 -0
  141. package/build/components/ListHelpBar.d.ts +19 -0
  142. package/build/components/ListHelpBar.d.ts.map +1 -0
  143. package/build/components/ListHelpBar.js +11 -0
  144. package/build/components/ListHelpBar.js.map +1 -0
  145. package/build/components/OrphanListItem.d.ts +15 -0
  146. package/build/components/OrphanListItem.d.ts.map +1 -0
  147. package/build/components/OrphanListItem.js +6 -0
  148. package/build/components/OrphanListItem.js.map +1 -0
  149. package/build/components/PromptField.d.ts +19 -0
  150. package/build/components/PromptField.d.ts.map +1 -0
  151. package/build/components/PromptField.js +7 -0
  152. package/build/components/PromptField.js.map +1 -0
  153. package/build/components/StatusBadge.d.ts +1 -1
  154. package/build/components/StatusBadge.d.ts.map +1 -1
  155. package/build/components/StatusBadge.js +4 -0
  156. package/build/components/StatusBadge.js.map +1 -1
  157. package/build/components/SyncAllInSync.d.ts +14 -0
  158. package/build/components/SyncAllInSync.d.ts.map +1 -0
  159. package/build/components/SyncAllInSync.js +10 -0
  160. package/build/components/SyncAllInSync.js.map +1 -0
  161. package/build/components/SyncDriftedList.d.ts +24 -0
  162. package/build/components/SyncDriftedList.d.ts.map +1 -0
  163. package/build/components/SyncDriftedList.js +17 -0
  164. package/build/components/SyncDriftedList.js.map +1 -0
  165. package/build/components/SyncNoAssets.d.ts +12 -0
  166. package/build/components/SyncNoAssets.d.ts.map +1 -0
  167. package/build/components/SyncNoAssets.js +9 -0
  168. package/build/components/SyncNoAssets.js.map +1 -0
  169. package/build/components/index.d.ts +14 -2
  170. package/build/components/index.d.ts.map +1 -1
  171. package/build/components/index.js +14 -2
  172. package/build/components/index.js.map +1 -1
  173. package/build/hooks/useBrowseState.d.ts +41 -1
  174. package/build/hooks/useBrowseState.d.ts.map +1 -1
  175. package/build/hooks/useBrowseState.js +142 -12
  176. package/build/hooks/useBrowseState.js.map +1 -1
  177. package/build/hooks/useConfirmation.d.ts +18 -0
  178. package/build/hooks/useConfirmation.d.ts.map +1 -0
  179. package/build/hooks/useConfirmation.js +56 -0
  180. package/build/hooks/useConfirmation.js.map +1 -0
  181. package/build/hooks/useInitState.d.ts +72 -0
  182. package/build/hooks/useInitState.d.ts.map +1 -0
  183. package/build/hooks/useInitState.js +372 -0
  184. package/build/hooks/useInitState.js.map +1 -0
  185. package/build/hooks/useListActions.d.ts +15 -0
  186. package/build/hooks/useListActions.d.ts.map +1 -0
  187. package/build/hooks/useListActions.js +155 -0
  188. package/build/hooks/useListActions.js.map +1 -0
  189. package/build/hooks/useListState.d.ts +151 -0
  190. package/build/hooks/useListState.d.ts.map +1 -0
  191. package/build/hooks/useListState.js +448 -0
  192. package/build/hooks/useListState.js.map +1 -0
  193. package/build/hooks/usePruneState.d.ts +76 -0
  194. package/build/hooks/usePruneState.d.ts.map +1 -0
  195. package/build/hooks/usePruneState.js +246 -0
  196. package/build/hooks/usePruneState.js.map +1 -0
  197. package/build/hooks/usePublishState.d.ts +115 -0
  198. package/build/hooks/usePublishState.d.ts.map +1 -0
  199. package/build/hooks/usePublishState.js +673 -0
  200. package/build/hooks/usePublishState.js.map +1 -0
  201. package/build/hooks/useSetupState.d.ts +57 -0
  202. package/build/hooks/useSetupState.d.ts.map +1 -0
  203. package/build/hooks/useSetupState.js +236 -0
  204. package/build/hooks/useSetupState.js.map +1 -0
  205. package/build/hooks/useUninstallState.d.ts +102 -0
  206. package/build/hooks/useUninstallState.d.ts.map +1 -0
  207. package/build/hooks/useUninstallState.js +342 -0
  208. package/build/hooks/useUninstallState.js.map +1 -0
  209. package/build/lib/adapter.d.ts +21 -0
  210. package/build/lib/adapter.d.ts.map +1 -1
  211. package/build/lib/adapter.js +59 -1
  212. package/build/lib/adapter.js.map +1 -1
  213. package/build/lib/checksum.d.ts +39 -0
  214. package/build/lib/checksum.d.ts.map +1 -1
  215. package/build/lib/checksum.js +101 -13
  216. package/build/lib/checksum.js.map +1 -1
  217. package/build/lib/config.d.ts +38 -18
  218. package/build/lib/config.d.ts.map +1 -1
  219. package/build/lib/config.js +107 -55
  220. package/build/lib/config.js.map +1 -1
  221. package/build/lib/detector.d.ts +2 -11
  222. package/build/lib/detector.d.ts.map +1 -1
  223. package/build/lib/detector.js +2 -64
  224. package/build/lib/detector.js.map +1 -1
  225. package/build/lib/diagnostics.d.ts +7 -0
  226. package/build/lib/diagnostics.d.ts.map +1 -1
  227. package/build/lib/diagnostics.js +54 -34
  228. package/build/lib/diagnostics.js.map +1 -1
  229. package/build/lib/diff-command.d.ts +40 -0
  230. package/build/lib/diff-command.d.ts.map +1 -0
  231. package/build/lib/diff-command.js +145 -0
  232. package/build/lib/diff-command.js.map +1 -0
  233. package/build/lib/diff.d.ts +7 -0
  234. package/build/lib/diff.d.ts.map +1 -1
  235. package/build/lib/diff.js +15 -10
  236. package/build/lib/diff.js.map +1 -1
  237. package/build/lib/format.d.ts +6 -0
  238. package/build/lib/format.d.ts.map +1 -0
  239. package/build/lib/format.js +18 -0
  240. package/build/lib/format.js.map +1 -0
  241. package/build/lib/github.d.ts +8 -0
  242. package/build/lib/github.d.ts.map +1 -1
  243. package/build/lib/github.js +9 -0
  244. package/build/lib/github.js.map +1 -1
  245. package/build/lib/gitignore.d.ts +17 -0
  246. package/build/lib/gitignore.d.ts.map +1 -1
  247. package/build/lib/gitignore.js +17 -1
  248. package/build/lib/gitignore.js.map +1 -1
  249. package/build/lib/installer.d.ts +1 -0
  250. package/build/lib/installer.d.ts.map +1 -1
  251. package/build/lib/installer.js +7 -7
  252. package/build/lib/installer.js.map +1 -1
  253. package/build/lib/lockfile.d.ts +19 -17
  254. package/build/lib/lockfile.d.ts.map +1 -1
  255. package/build/lib/lockfile.js +43 -67
  256. package/build/lib/lockfile.js.map +1 -1
  257. package/build/lib/publisher.d.ts +35 -0
  258. package/build/lib/publisher.d.ts.map +1 -1
  259. package/build/lib/publisher.js +210 -16
  260. package/build/lib/publisher.js.map +1 -1
  261. package/build/lib/registry.d.ts +20 -5
  262. package/build/lib/registry.d.ts.map +1 -1
  263. package/build/lib/registry.js +41 -30
  264. package/build/lib/registry.js.map +1 -1
  265. package/build/lib/schemas/config.d.ts +31 -3
  266. package/build/lib/schemas/config.d.ts.map +1 -1
  267. package/build/lib/schemas/config.js +21 -2
  268. package/build/lib/schemas/config.js.map +1 -1
  269. package/build/lib/schemas/index.d.ts +1 -1
  270. package/build/lib/schemas/index.d.ts.map +1 -1
  271. package/build/lib/schemas/index.js +1 -1
  272. package/build/lib/schemas/index.js.map +1 -1
  273. package/build/lib/schemas/lockfile.d.ts +18 -2
  274. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  275. package/build/lib/schemas/lockfile.js +10 -1
  276. package/build/lib/schemas/lockfile.js.map +1 -1
  277. package/build/lib/search.d.ts +15 -1
  278. package/build/lib/search.d.ts.map +1 -1
  279. package/build/lib/search.js +65 -65
  280. package/build/lib/search.js.map +1 -1
  281. package/build/lib/setup.d.ts +28 -0
  282. package/build/lib/setup.d.ts.map +1 -0
  283. package/build/lib/setup.js +98 -0
  284. package/build/lib/setup.js.map +1 -0
  285. package/build/lib/sync.d.ts +109 -0
  286. package/build/lib/sync.d.ts.map +1 -0
  287. package/build/lib/sync.js +221 -0
  288. package/build/lib/sync.js.map +1 -0
  289. package/build/lib/tool-resolver.d.ts +29 -6
  290. package/build/lib/tool-resolver.d.ts.map +1 -1
  291. package/build/lib/tool-resolver.js +54 -15
  292. package/build/lib/tool-resolver.js.map +1 -1
  293. package/build/lib/updater.d.ts +7 -4
  294. package/build/lib/updater.d.ts.map +1 -1
  295. package/build/lib/updater.js +12 -7
  296. package/build/lib/updater.js.map +1 -1
  297. package/build/lib/version.js +1 -1
  298. package/build/lib/version.js.map +1 -1
  299. package/package.json +79 -65
  300. package/tool-adapters/claude-code.json +1 -1
  301. package/tool-adapters/copilot-cli.json +1 -1
package/README.md ADDED
@@ -0,0 +1,361 @@
1
+ # Agentic Tool Kit (ATK)
2
+
3
+ A CLI-based asset manager for AI coding tools. Think `npm` but for skills, agents, rules, hooks, memory templates, and MCP configs that extend AI coding assistants like Claude Code.
4
+
5
+ ## Why ATK?
6
+
7
+ AI coding assistants become far more capable with the right configuration — curated prompts, custom agents, hook scripts, and MCP server setups. But sharing and maintaining these assets across projects and teams is painful. ATK solves this with:
8
+
9
+ - A **searchable registry** of versioned, validated assets
10
+ - **One-command install** with automatic dependency resolution
11
+ - **Integrity tracking** via lockfile with SHA-256 checksums
12
+ - **Trust levels** (vetted / community / experimental) with security review metadata
13
+ - A **tool adapter layer** so assets get placed correctly for each AI tool
14
+
15
+ ## Quick Start
16
+
17
+ ### Prerequisites
18
+
19
+ - **Node.js** >= 24.0.0
20
+ - **pnpm** 10.5.2+
21
+
22
+ ### Installation
23
+
24
+ ```bash
25
+ npm install -g @detergent-software/atk
26
+ ```
27
+
28
+ #### Dev Channel
29
+
30
+ To install the latest pre-release version from the `develop` branch, use the `@dev` dist-tag:
31
+
32
+ ```bash
33
+ npm install -g @detergent-software/atk@dev
34
+ ```
35
+
36
+ Dev releases follow the format `x.y.z-dev.N` and include features and fixes that haven't been promoted to a stable release yet. Use this to preview upcoming changes or test in-progress work.
37
+
38
+ ### Basic Usage
39
+
40
+ ```bash
41
+ # Search for assets
42
+ atk search "planning"
43
+
44
+ # Browse the registry interactively
45
+ atk browse
46
+
47
+ # View asset details
48
+ atk info plan-feature
49
+
50
+ # Install an asset (dependencies resolved automatically)
51
+ atk install plan-feature
52
+
53
+ # List installed assets
54
+ atk list
55
+
56
+ # Check for updates
57
+ atk outdated
58
+
59
+ # Update all installed assets
60
+ atk update
61
+ ```
62
+
63
+ ## Commands
64
+
65
+ | Command | Description |
66
+ | ----------------------- | ----------------------------------------------------------------- |
67
+ | `atk audit` | Verify installed asset integrity via checksums |
68
+ | `atk browse` | Interactively browse the registry with filtering |
69
+ | `atk cache` | Manage the registry cache |
70
+ | `atk config` | Manage user configuration (`~/.atkrc.json`) |
71
+ | `atk diff <asset>` | Show changes between installed and latest versions |
72
+ | `atk doctor` | Run environment diagnostics |
73
+ | `atk info <asset>` | Show detailed asset information |
74
+ | `atk init` | Scaffold a new asset or bundle |
75
+ | `atk install <asset>` | Install an asset with dependency resolution |
76
+ | `atk list` | List all installed assets |
77
+ | `atk outdated` | Show assets with available updates |
78
+ | `atk pin <asset>` | Pin an asset to its current version |
79
+ | `atk prune` | Remove orphaned dependencies |
80
+ | `atk publish` | Publish an asset or bundle to the registry |
81
+ | `atk search <query>` | Search for assets by keyword, type, or tag |
82
+ | `atk sync` | Re-apply all installed assets from the lockfile |
83
+ | `atk uninstall <asset>` | Remove an asset and clean up placed files |
84
+ | `atk unpin <asset>` | Remove a version pin |
85
+ | `atk update [asset]` | Update installed assets to latest versions |
86
+ | `atk why <asset>` | Explain why an asset is installed (direct, dependency, or orphan) |
87
+
88
+ ## Asset Types
89
+
90
+ | Type | Description | Example |
91
+ | -------------------- | ---------------------------------------- | ------------------------------------------------------- |
92
+ | **Skills** | Reusable prompt-based workflows | `plan-feature` — orchestrated implementation planning |
93
+ | **Agents** | Specialized sub-agents for complex tasks | `clarification-agent` — gathers context-aware questions |
94
+ | **Rules** | Project or user-level behavior rules | Configuration conventions, coding standards |
95
+ | **Hooks** | Shell scripts triggered by tool events | Pre-commit validation, post-install setup |
96
+ | **Memory Templates** | Persistent memory structures | Project context templates |
97
+ | **MCP Configs** | Model Context Protocol server configs | External tool integrations |
98
+
99
+ ## How It Works
100
+
101
+ 1. **Registry** — Assets live in the `assets/` directory, each with a `manifest.json` declaring metadata, dependencies, trust level, and security review info. CI validates asset and bundle changes on pull requests, rebuilds `registry.json` and `schemas/` on pushes to `develop` and `main`, and promotes asset-only changes to `main` through a dedicated promotion branch.
102
+
103
+ 2. **Tool Adapters** — JSON adapter files define how assets are placed for each AI tool. The Claude Code adapter knows to put skills in `.claude/commands/`, agents in `.claude/agents/`, etc. New tools can be supported by adding adapter files — no CLI code changes needed.
104
+
105
+ 3. **Lockfile** — When you install an asset, ATK records it in `.atk-lock.json` with file paths, SHA-256 checksums, and timestamps. This enables auditing, syncing across machines, and precise uninstallation.
106
+
107
+ 4. **Dependency Resolution** — Assets can declare dependencies on other assets. ATK resolves the full dependency graph (depth-first with circular dependency detection) and installs everything in the correct order.
108
+
109
+ ## Authoring Assets
110
+
111
+ ### Scaffolding a New Asset
112
+
113
+ Use `atk init` to scaffold a new asset or bundle with starter files:
114
+
115
+ ```bash
116
+ # Interactive — prompts for name, description, author, tags
117
+ atk init skill
118
+
119
+ # Non-interactive — provide all fields via flags
120
+ atk init agent --name my-agent --description "Does a thing" --author "Jane Doe"
121
+
122
+ # Fork from an installed asset as a starting point
123
+ atk init skill --from plan-feature --name my-planner
124
+
125
+ # Skip the registry name-availability check (offline mode)
126
+ atk init rule --offline
127
+ ```
128
+
129
+ Supported types: `skill`, `agent`, `rule`, `hook`, `memory-template`, `mcp-config`, `bundle`.
130
+
131
+ This creates a directory with:
132
+
133
+ - `manifest.json` (or `bundle.json` for bundles) — pre-filled metadata with a `$schema` reference
134
+ - Entrypoint file (e.g., `SKILL.md`, `my-agent.md`, `my-hook.sh`) — type-appropriate starter content
135
+ - `README.md` — documentation template
136
+
137
+ To scope the asset to an organization, use the `@org/name` format:
138
+
139
+ ```bash
140
+ atk init skill --name @acme/my-skill
141
+ ```
142
+
143
+ This sets the `org` field in the generated manifest automatically.
144
+
145
+ ### Publishing to the Registry
146
+
147
+ After editing your asset, publish it to the registry via PR:
148
+
149
+ ```bash
150
+ # Preview what would happen without creating a PR
151
+ atk publish ./my-skill --dry-run
152
+
153
+ # Publish (creates a branch, commits files, opens a PR)
154
+ atk publish ./my-skill
155
+
156
+ # Include a custom note in the PR description
157
+ atk publish ./my-skill --message "Adds support for monorepo projects"
158
+ ```
159
+
160
+ The publish workflow:
161
+
162
+ 1. **Detects** whether the directory contains a `manifest.json` (asset) or `bundle.json` (bundle)
163
+ 2. **Validates** the manifest — checks required fields, file existence, name format, and semver version
164
+ 3. **Checks the registry** — determines if this is a new asset or an update to an existing one
165
+ 4. **Version bump** — if updating and the manifest version hasn't been bumped, prompts for `patch`, `minor`, or `major`
166
+ 5. **Builds a plan** — lists files, target registry path, branch name, and PR metadata
167
+ 6. **Executes** — clones the registry repo, creates a branch, copies files, commits, pushes, and opens a PR against the `develop` branch
168
+
169
+ The PR is reviewed and merged through the normal GitHub workflow. Once merged, CI rebuilds `registry.json` and the asset becomes available.
170
+
171
+ ## Organizations
172
+
173
+ Organizations provide namespace scoping for assets. They allow teams to maintain their own versions of assets that can shadow global ones.
174
+
175
+ ### Setting Your Org
176
+
177
+ There are three ways to set the active org, in priority order:
178
+
179
+ 1. **CLI flag** (highest priority):
180
+
181
+ ```bash
182
+ atk search planning --org acme
183
+ atk install my-skill --org acme
184
+ ```
185
+
186
+ 2. **Lockfile** — stored per-project in `.atk-lock.json` when assets are installed with an org context
187
+
188
+ 3. **User config** (lowest priority):
189
+ ```bash
190
+ atk config set org acme
191
+ ```
192
+
193
+ The resolved org follows the chain: CLI flag > lockfile org > config org. If none are set, only global (unscoped) assets are visible.
194
+
195
+ ### Org-Scoped Assets
196
+
197
+ To create an org-scoped asset, set the `org` field in `manifest.json`:
198
+
199
+ ```json
200
+ {
201
+ "name": "my-skill",
202
+ "org": "acme",
203
+ "type": "skill",
204
+ "version": "1.0.0",
205
+ ...
206
+ }
207
+ ```
208
+
209
+ Or use the `@org/name` format when scaffolding:
210
+
211
+ ```bash
212
+ atk init skill --name @acme/my-skill
213
+ ```
214
+
215
+ The `org` value must be kebab-case (lowercase letters, numbers, hyphens, starting with a letter).
216
+
217
+ ### Shadowing
218
+
219
+ When an org is active, asset resolution follows these rules:
220
+
221
+ - **Org-scoped assets** matching the active org are always visible
222
+ - **Global assets** are visible unless an org-scoped asset exists with the same name and type (shadowed)
223
+ - **Without an org context**, only global (unscoped) assets are visible
224
+
225
+ This lets teams override global assets with org-specific versions while still inheriting the rest of the global registry.
226
+
227
+ ### Implicit Org Creation
228
+
229
+ There is no separate "create org" step. Publishing the first asset with an `org` value creates the namespace automatically. Org assets are stored under `assets/<type>s/@<org>/<name>/` in the registry.
230
+
231
+ ## Configuration
232
+
233
+ Manage user-level settings stored in `~/.atkrc.json`:
234
+
235
+ ```bash
236
+ # List all config keys with current values
237
+ atk config
238
+
239
+ # Get a single value
240
+ atk config org
241
+
242
+ # Set a value
243
+ atk config org acme
244
+
245
+ # Reset a key to its default
246
+ atk config org --reset
247
+ ```
248
+
249
+ ### Available Keys
250
+
251
+ | Key | Default | Description |
252
+ | ----------------- | --------------- | --------------------------------------------------- |
253
+ | `registryUrl` | _(GitHub repo)_ | Override registry URL |
254
+ | `registryBranch` | `main` | Override registry branch for API calls |
255
+ | `defaultTool` | `claude-code` | Default tool when `--tool` is not specified |
256
+ | `cacheDir` | `~/.atk/cache/` | Override cache directory |
257
+ | `cacheTtlMinutes` | `60` | Cache TTL in minutes for registry data |
258
+ | `githubToken` | _(not set)_ | GitHub token override (defaults to `gh auth token`) |
259
+ | `org` | _(not set)_ | Default organization scope for asset resolution |
260
+
261
+ ## Development
262
+
263
+ ### Setup
264
+
265
+ ```bash
266
+ git clone https://github.com/EmergentSoftware/agentic-toolkit.git
267
+ cd agentic-toolkit
268
+ pnpm install
269
+ pnpm build
270
+ ```
271
+
272
+ ### Commands
273
+
274
+ ```bash
275
+ pnpm dev # Watch mode (tsc --watch)
276
+ pnpm build # Full TypeScript build
277
+ pnpm test # Run tests (Vitest)
278
+ pnpm test:watch # Tests in watch mode
279
+ pnpm lint # ESLint
280
+ pnpm lint:fix # Auto-fix lint issues
281
+ pnpm typecheck # Type checking (tsc --noEmit)
282
+ pnpm format # Format with Prettier
283
+ pnpm format:check # Check formatting
284
+ ```
285
+
286
+ ### Project Structure
287
+
288
+ ```
289
+ ├── src/
290
+ │ ├── commands/ # Pastel file-based command routes
291
+ │ ├── lib/ # Core business logic
292
+ │ ├── lib/schemas/ # Zod schema definitions
293
+ │ ├── components/ # Ink terminal UI components
294
+ │ └── hooks/ # Custom React hooks
295
+ ├── build/ # Compiled output
296
+ ├── tool-adapters/ # Tool placement definitions (JSON)
297
+ ├── schemas/ # Auto-generated JSON Schema files
298
+ └── scripts/ # Build and validation scripts
299
+ ```
300
+
301
+ ### Deployment Pipeline
302
+
303
+ This project uses a fully automated release pipeline powered by [Conventional Commits](https://www.conventionalcommits.org/), [commitlint](https://commitlint.js.org/), and [semantic-release](https://semantic-release.gitbook.io/).
304
+
305
+ #### Conventional Commits
306
+
307
+ All commits must follow the Conventional Commits format. The commit type determines what kind of release is produced:
308
+
309
+ | Prefix | Release | Example |
310
+ | ----------------------------- | --------------- | ----------------------------------- |
311
+ | `feat:` | Minor (`0.x.0`) | `feat: add browse command` |
312
+ | `fix:` | Patch (`0.0.x`) | `fix: correct checksum validation` |
313
+ | `perf:` | Patch | `perf: speed up registry fetch` |
314
+ | `refactor:` | Patch | `refactor: simplify resolver logic` |
315
+ | `style:` | Patch | `style: update header colors` |
316
+ | `docs:` | Patch | `docs: add install instructions` |
317
+ | `chore:` | No release | `chore: update dev dependencies` |
318
+ | `feat!:` / `BREAKING CHANGE:` | Major (`x.0.0`) | `feat!: redesign config format` |
319
+
320
+ #### Commitlint
321
+
322
+ Commit messages are validated by [commitlint](https://commitlint.js.org/) (extending `@commitlint/config-conventional`) in two places:
323
+
324
+ - **Locally** — via a commit-msg Git hook that checks messages before they are committed
325
+ - **CI** — the Validate workflow lints all commit messages in a PR against the base branch
326
+
327
+ Non-conforming commits will be rejected.
328
+
329
+ #### Semantic Release
330
+
331
+ [semantic-release](https://semantic-release.gitbook.io/) automates versioning, changelog generation, npm publishing, git tagging, and GitHub Releases based on commit messages. No manual version bumps are needed — the version in `package.json` is managed entirely by the pipeline.
332
+
333
+ The release workflow runs on two branches:
334
+
335
+ | Branch | Trigger | npm Tag | Version Format | Example |
336
+ | --------- | ------------------------ | -------- | -------------- | ------------- |
337
+ | `main` | Push to `main` | `latest` | `x.y.z` | `1.2.0` |
338
+ | `develop` | PR merged into `develop` | `dev` | `x.y.z-dev.N` | `1.3.0-dev.1` |
339
+
340
+ **Pipeline steps:**
341
+
342
+ 1. **Release** — on push to `main` or `develop`, invokes `semantic-release` which:
343
+ - Analyzes commits since the last release to determine the version bump
344
+ - Generates release notes grouped by type (Features, Bug Fixes, Performance, etc.)
345
+ - Updates `CHANGELOG.md`
346
+ - Publishes the package to npm
347
+ - Creates a git tag and GitHub Release
348
+ - Commits the updated changelog and `package.json` version
349
+
350
+ #### PR Validation
351
+
352
+ Pull requests targeting `main` or `develop` run linting, type checking, tests, and commitlint.
353
+
354
+ ## Tech Stack
355
+
356
+ **Runtime:** Node.js >= 24, TypeScript 5.7+, ES2024
357
+ **CLI:** Pastel (file-based routing) + Ink (React for terminals) + React 19
358
+ **Validation:** Zod 4 (runtime schemas + JSON Schema export)
359
+ **Auth:** GitHub CLI (`gh auth token`) / `GITHUB_TOKEN`
360
+ **Distribution:** npm (`@detergent-software` scope)
361
+ **CI/CD:** GitHub Actions + semantic-release
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;iBAmBlB,CAAC;AAaH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAyHtE"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;iBAmBlB,CAAC;AAWH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAwNtE"}
@@ -6,10 +6,11 @@ import { z } from 'zod';
6
6
  import { FileStatusIcon, Spinner } from '../components/index.js';
7
7
  import { useCommand } from '../hooks/useCommand.js';
8
8
  import { resolveInstalledPaths } from '../lib/adapter.js';
9
- import { verifyChecksums } from '../lib/checksum.js';
9
+ import { verifyChecksums, verifyConfigEntries } from '../lib/checksum.js';
10
+ import { isFrozenInConfig, loadProjectConfig } from '../lib/config.js';
10
11
  import { readLockfile } from '../lib/lockfile.js';
11
12
  import { findProjectRoot } from '../lib/paths.js';
12
- import { resolveTool } from '../lib/tool-resolver.js';
13
+ import { resolveTools } from '../lib/tool-resolver.js';
13
14
  export const description = 'Verify asset integrity via checksum validation';
14
15
  export const options = z.object({
15
16
  projectRoot: z
@@ -30,39 +31,64 @@ export const options = z.object({
30
31
  export default function Audit({ options: { projectRoot, tool } }) {
31
32
  const state = useCommand(async (progress) => {
32
33
  const projectDir = findProjectRoot(projectRoot);
33
- const { adapter, tool: resolvedTool } = await resolveTool(tool);
34
+ const resolved = await resolveTools(tool);
34
35
  progress('Reading lockfile...');
35
36
  const lockfile = await readLockfile(projectDir);
36
- if ((lockfile.assets ?? []).length === 0) {
37
- return { entries: [], tool: resolvedTool };
38
- }
39
- const entries = [];
40
- for (const asset of lockfile.assets ?? []) {
41
- progress(`Verifying ${asset.name}...`);
42
- if (asset.frozen) {
43
- entries.push({ asset, failures: [], status: 'frozen' });
37
+ const projectConfig = await loadProjectConfig(projectDir);
38
+ const toolResults = [];
39
+ for (const { adapter: toolAdapter, tool: toolName } of resolved) {
40
+ const toolAssets = lockfile.assets ?? [];
41
+ if (toolAssets.length === 0) {
42
+ toolResults.push({ entries: [], tool: toolName });
44
43
  continue;
45
44
  }
46
- const resolved = resolveInstalledPaths(asset, adapter, projectDir);
47
- const filesToCheck = resolved.files.map((f) => ({
48
- checksum: f.checksum,
49
- path: join(projectDir, f.installedPath),
50
- }));
51
- const failures = await verifyChecksums(filesToCheck);
52
- let assetStatus = 'ok';
53
- if (failures.length > 0) {
54
- const hasMissing = failures.some((f) => f.actual.startsWith('FILE_NOT_FOUND'));
55
- const hasModified = failures.some((f) => !f.actual.startsWith('FILE_NOT_FOUND'));
56
- if (hasMissing && !hasModified) {
57
- assetStatus = 'missing';
45
+ const entries = [];
46
+ for (const asset of toolAssets) {
47
+ progress(`Verifying ${asset.name} for ${toolName}...`);
48
+ if (isFrozenInConfig(projectConfig, asset.name, asset.type, asset.org)) {
49
+ entries.push({ asset, configFailures: [], failures: [], status: 'frozen' });
50
+ continue;
51
+ }
52
+ const resolvedPaths = resolveInstalledPaths(asset, toolAdapter, projectDir);
53
+ const filesToCheck = resolvedPaths.files.map((f) => ({
54
+ checksum: f.checksum,
55
+ path: join(projectDir, f.installedPath),
56
+ }));
57
+ const failures = await verifyChecksums(filesToCheck);
58
+ // Verify config entries if the asset has any
59
+ const configFailures = asset.configEntries?.length
60
+ ? await verifyConfigEntries(asset.configEntries, projectDir)
61
+ : [];
62
+ // Determine overall asset status with priority:
63
+ // modified > config-modified > missing > config-missing > ok
64
+ let assetStatus = 'ok';
65
+ // File-level status
66
+ if (failures.length > 0) {
67
+ const hasModified = failures.some((f) => !f.actual.startsWith('FILE_NOT_FOUND'));
68
+ if (hasModified) {
69
+ assetStatus = 'modified';
70
+ }
71
+ else {
72
+ assetStatus = 'missing';
73
+ }
58
74
  }
59
- else {
60
- assetStatus = 'modified';
75
+ // Config-level status (only escalate, never downgrade)
76
+ if (configFailures.length > 0) {
77
+ const hasConfigModified = configFailures.some((f) => f.reason === 'CONFIG_CHECKSUM_MISMATCH');
78
+ const hasConfigMissing = configFailures.some((f) => f.reason === 'CONFIG_FILE_NOT_FOUND' || f.reason === 'CONFIG_KEY_NOT_FOUND');
79
+ if (hasConfigModified && assetStatus !== 'modified') {
80
+ assetStatus = 'config-modified';
81
+ }
82
+ else if (hasConfigMissing && assetStatus === 'ok') {
83
+ assetStatus = 'config-missing';
84
+ }
61
85
  }
86
+ entries.push({ asset, configFailures, failures, status: assetStatus });
62
87
  }
63
- entries.push({ asset, failures, status: assetStatus });
88
+ entries.sort((a, b) => a.asset.type.localeCompare(b.asset.type) || a.asset.name.localeCompare(b.asset.name));
89
+ toolResults.push({ entries, tool: toolName });
64
90
  }
65
- return { entries, tool: resolvedTool };
91
+ return toolResults;
66
92
  }, [tool]);
67
93
  if (state.status === 'loading') {
68
94
  return _jsx(Spinner, { message: state.message });
@@ -70,15 +96,31 @@ export default function Audit({ options: { projectRoot, tool } }) {
70
96
  if (state.status === 'error') {
71
97
  return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
72
98
  }
73
- const { entries, tool: resolvedTool } = state.data;
74
- if (entries.length === 0) {
75
- return _jsxs(Text, { dimColor: true, children: ["No assets installed for ", resolvedTool, ". Nothing to audit."] });
76
- }
77
- const okCount = entries.filter((e) => e.status === 'ok').length;
78
- const frozenCount = entries.filter((e) => e.status === 'frozen').length;
79
- const modifiedCount = entries.filter((e) => e.status === 'modified').length;
80
- const missingCount = entries.filter((e) => e.status === 'missing').length;
81
- const allOk = modifiedCount === 0 && missingCount === 0;
82
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { bold: true, children: ["Integrity audit for ", _jsx(Text, { color: 'cyan', children: resolvedTool })] }), _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(FileStatusIcon, { status: entry.status }), " ", _jsx(Text, { bold: true, children: entry.asset.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), entry.status === 'ok' && _jsx(Text, { color: 'green', children: " \u2014 intact" }), entry.status === 'frozen' && _jsx(Text, { color: 'cyan', children: " \u2014 frozen (content-locked)" }), entry.status === 'modified' && _jsx(Text, { color: 'yellow', children: " \u2014 modified" }), entry.status === 'missing' && _jsx(Text, { color: 'red', children: " \u2014 files missing" })] }), entry.failures.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', f.actual.startsWith('FILE_NOT_FOUND') ? '✕ missing:' : '⚠ changed:', " ", f.path] }, f.path)))] }, `${entry.asset.type}/${entry.asset.name}`))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [okCount > 0 && _jsxs(Text, { color: 'green', children: [okCount, " ok"] }), okCount > 0 && (frozenCount > 0 || modifiedCount > 0 || missingCount > 0) && _jsx(Text, { children: ", " }), frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [frozenCount, " frozen"] }), frozenCount > 0 && (modifiedCount > 0 || missingCount > 0) && _jsx(Text, { children: ", " }), modifiedCount > 0 && _jsxs(Text, { color: 'yellow', children: [modifiedCount, " modified"] }), modifiedCount > 0 && missingCount > 0 && _jsx(Text, { children: ", " }), missingCount > 0 && _jsxs(Text, { color: 'red', children: [missingCount, " missing"] })] }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: "atk sync" }), " to restore assets to their expected state."] })] }))] }));
99
+ const toolResults = state.data;
100
+ return (_jsx(Box, { flexDirection: 'column', children: toolResults.map(({ entries, tool: resolvedTool }, index) => {
101
+ if (entries.length === 0) {
102
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { dimColor: true, children: ["No assets installed for ", resolvedTool, ". Nothing to audit."] }), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
103
+ }
104
+ const okCount = entries.filter((e) => e.status === 'ok').length;
105
+ const frozenCount = entries.filter((e) => e.status === 'frozen').length;
106
+ const modifiedCount = entries.filter((e) => e.status === 'modified').length;
107
+ const missingCount = entries.filter((e) => e.status === 'missing').length;
108
+ const configModifiedCount = entries.filter((e) => e.status === 'config-modified').length;
109
+ const configMissingCount = entries.filter((e) => e.status === 'config-missing').length;
110
+ const allOk = modifiedCount === 0 &&
111
+ missingCount === 0 &&
112
+ configModifiedCount === 0 &&
113
+ configMissingCount === 0;
114
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { bold: true, children: ["Integrity audit for ", _jsx(Text, { color: 'cyan', children: resolvedTool })] }), _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(FileStatusIcon, { status: entry.status }), " ", _jsx(Text, { bold: true, children: entry.asset.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), entry.status === 'ok' && _jsx(Text, { color: 'green', children: " \u2014 intact" }), entry.status === 'frozen' && _jsx(Text, { color: 'cyan', children: " \u2014 frozen (content-locked)" }), entry.status === 'modified' && _jsx(Text, { color: 'yellow', children: " \u2014 modified" }), entry.status === 'missing' && _jsx(Text, { color: 'red', children: " \u2014 files missing" }), entry.status === 'config-modified' && (_jsx(Text, { color: 'magenta', children: " \u2014 config modified" })), entry.status === 'config-missing' && (_jsx(Text, { color: 'red', children: " \u2014 config entries missing" }))] }), entry.failures.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', f.actual.startsWith('FILE_NOT_FOUND') ? '✕ missing:' : '⚠ changed:', " ", f.path] }, f.path))), entry.configFailures.map((cf) => (_jsxs(Text, { dimColor: true, children: [' ', cf.reason === 'CONFIG_CHECKSUM_MISMATCH'
115
+ ? `⚠ config changed: ${cf.file} → ${cf.key}`
116
+ : `✕ config missing: ${cf.file} → ${cf.key}`] }, `${cf.file}:${cf.key}`)))] }, `${entry.asset.type}/${entry.asset.name}`))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { children: [
117
+ okCount > 0 && (_jsxs(Text, { color: 'green', children: [okCount, " ok"] }, 'ok')),
118
+ frozenCount > 0 && (_jsxs(Text, { color: 'cyan', children: [frozenCount, " frozen"] }, 'frozen')),
119
+ modifiedCount > 0 && (_jsxs(Text, { color: 'yellow', children: [modifiedCount, " modified"] }, 'modified')),
120
+ configModifiedCount > 0 && (_jsxs(Text, { color: 'magenta', children: [configModifiedCount, " config modified"] }, 'config-modified')),
121
+ missingCount > 0 && (_jsxs(Text, { color: 'red', children: [missingCount, " missing"] }, 'missing')),
122
+ configMissingCount > 0 && (_jsxs(Text, { color: 'red', children: [configMissingCount, " config missing"] }, 'config-missing')),
123
+ ].filter(Boolean).flatMap((el, i) => (i > 0 ? [_jsx(Text, { children: ", " }, `sep-${i}`), el] : [el])) }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: "atk sync" }), " to restore assets to their expected state."] })] })), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
124
+ }) }));
83
125
  }
84
126
  //# sourceMappingURL=audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;iBAqClB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAAwE,CAAC;AAE1F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAC9D,EAAE,KAAK,2CA2SP"}
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqCxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;iBAqClB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAAwE,CAAC;AAE1F,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAC9D,EAAE,KAAK,2CA2MP"}