va-claw 0.1.0

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 (316) hide show
  1. package/CONTRIBUTING.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +337 -0
  4. package/bin/va-claw +3 -0
  5. package/bin/va-claw.mjs +3 -0
  6. package/docs/README.md +6 -0
  7. package/index.html +728 -0
  8. package/package.json +43 -0
  9. package/packages/channels/discord/dist/.tsbuildinfo +1 -0
  10. package/packages/channels/discord/dist/cli-runner.d.ts +18 -0
  11. package/packages/channels/discord/dist/cli-runner.d.ts.map +1 -0
  12. package/packages/channels/discord/dist/cli-runner.js +58 -0
  13. package/packages/channels/discord/dist/cli-runner.js.map +1 -0
  14. package/packages/channels/discord/dist/cli-runner.test.d.ts +2 -0
  15. package/packages/channels/discord/dist/cli-runner.test.d.ts.map +1 -0
  16. package/packages/channels/discord/dist/cli-runner.test.js +173 -0
  17. package/packages/channels/discord/dist/cli-runner.test.js.map +1 -0
  18. package/packages/channels/discord/dist/discord-client.d.ts +3 -0
  19. package/packages/channels/discord/dist/discord-client.d.ts.map +1 -0
  20. package/packages/channels/discord/dist/discord-client.js +49 -0
  21. package/packages/channels/discord/dist/discord-client.js.map +1 -0
  22. package/packages/channels/discord/dist/format.d.ts +6 -0
  23. package/packages/channels/discord/dist/format.d.ts.map +1 -0
  24. package/packages/channels/discord/dist/format.js +19 -0
  25. package/packages/channels/discord/dist/format.js.map +1 -0
  26. package/packages/channels/discord/dist/format.test.d.ts +2 -0
  27. package/packages/channels/discord/dist/format.test.d.ts.map +1 -0
  28. package/packages/channels/discord/dist/format.test.js +63 -0
  29. package/packages/channels/discord/dist/format.test.js.map +1 -0
  30. package/packages/channels/discord/dist/index.d.ts +3 -0
  31. package/packages/channels/discord/dist/index.d.ts.map +1 -0
  32. package/packages/channels/discord/dist/index.js +2 -0
  33. package/packages/channels/discord/dist/index.js.map +1 -0
  34. package/packages/channels/discord/dist/prompt.d.ts +4 -0
  35. package/packages/channels/discord/dist/prompt.d.ts.map +1 -0
  36. package/packages/channels/discord/dist/prompt.js +28 -0
  37. package/packages/channels/discord/dist/prompt.js.map +1 -0
  38. package/packages/channels/discord/dist/prompt.test.d.ts +2 -0
  39. package/packages/channels/discord/dist/prompt.test.d.ts.map +1 -0
  40. package/packages/channels/discord/dist/prompt.test.js +130 -0
  41. package/packages/channels/discord/dist/prompt.test.js.map +1 -0
  42. package/packages/channels/discord/dist/runtime.d.ts +11 -0
  43. package/packages/channels/discord/dist/runtime.d.ts.map +1 -0
  44. package/packages/channels/discord/dist/runtime.js +66 -0
  45. package/packages/channels/discord/dist/runtime.js.map +1 -0
  46. package/packages/channels/discord/dist/runtime.test.d.ts +2 -0
  47. package/packages/channels/discord/dist/runtime.test.d.ts.map +1 -0
  48. package/packages/channels/discord/dist/runtime.test.js +107 -0
  49. package/packages/channels/discord/dist/runtime.test.js.map +1 -0
  50. package/packages/channels/discord/dist/types.d.ts +30 -0
  51. package/packages/channels/discord/dist/types.d.ts.map +1 -0
  52. package/packages/channels/discord/dist/types.js +2 -0
  53. package/packages/channels/discord/dist/types.js.map +1 -0
  54. package/packages/channels/discord/package.json +21 -0
  55. package/packages/channels/dist/.tsbuildinfo +1 -0
  56. package/packages/channels/dist/index.d.ts +14 -0
  57. package/packages/channels/dist/index.d.ts.map +1 -0
  58. package/packages/channels/dist/index.js +25 -0
  59. package/packages/channels/dist/index.js.map +1 -0
  60. package/packages/channels/package.json +23 -0
  61. package/packages/channels/slack/dist/.tsbuildinfo +1 -0
  62. package/packages/channels/slack/dist/cli.d.ts +7 -0
  63. package/packages/channels/slack/dist/cli.d.ts.map +1 -0
  64. package/packages/channels/slack/dist/cli.js +53 -0
  65. package/packages/channels/slack/dist/cli.js.map +1 -0
  66. package/packages/channels/slack/dist/cli.test.d.ts +2 -0
  67. package/packages/channels/slack/dist/cli.test.d.ts.map +1 -0
  68. package/packages/channels/slack/dist/cli.test.js +43 -0
  69. package/packages/channels/slack/dist/cli.test.js.map +1 -0
  70. package/packages/channels/slack/dist/index.d.ts +7 -0
  71. package/packages/channels/slack/dist/index.d.ts.map +1 -0
  72. package/packages/channels/slack/dist/index.js +28 -0
  73. package/packages/channels/slack/dist/index.js.map +1 -0
  74. package/packages/channels/slack/dist/message.d.ts +15 -0
  75. package/packages/channels/slack/dist/message.d.ts.map +1 -0
  76. package/packages/channels/slack/dist/message.js +38 -0
  77. package/packages/channels/slack/dist/message.js.map +1 -0
  78. package/packages/channels/slack/dist/slack.test.d.ts +2 -0
  79. package/packages/channels/slack/dist/slack.test.d.ts.map +1 -0
  80. package/packages/channels/slack/dist/slack.test.js +23 -0
  81. package/packages/channels/slack/dist/slack.test.js.map +1 -0
  82. package/packages/channels/slack/dist/types.d.ts +22 -0
  83. package/packages/channels/slack/dist/types.d.ts.map +1 -0
  84. package/packages/channels/slack/dist/types.js +2 -0
  85. package/packages/channels/slack/dist/types.js.map +1 -0
  86. package/packages/channels/slack/package.json +21 -0
  87. package/packages/channels/telegram/dist/.tsbuildinfo +1 -0
  88. package/packages/channels/telegram/dist/cli.d.ts +13 -0
  89. package/packages/channels/telegram/dist/cli.d.ts.map +1 -0
  90. package/packages/channels/telegram/dist/cli.js +53 -0
  91. package/packages/channels/telegram/dist/cli.js.map +1 -0
  92. package/packages/channels/telegram/dist/cli.test.d.ts +2 -0
  93. package/packages/channels/telegram/dist/cli.test.d.ts.map +1 -0
  94. package/packages/channels/telegram/dist/cli.test.js +167 -0
  95. package/packages/channels/telegram/dist/cli.test.js.map +1 -0
  96. package/packages/channels/telegram/dist/index.d.ts +7 -0
  97. package/packages/channels/telegram/dist/index.d.ts.map +1 -0
  98. package/packages/channels/telegram/dist/index.js +21 -0
  99. package/packages/channels/telegram/dist/index.js.map +1 -0
  100. package/packages/channels/telegram/dist/message.d.ts +6 -0
  101. package/packages/channels/telegram/dist/message.d.ts.map +1 -0
  102. package/packages/channels/telegram/dist/message.js +33 -0
  103. package/packages/channels/telegram/dist/message.js.map +1 -0
  104. package/packages/channels/telegram/dist/telegram.test.d.ts +2 -0
  105. package/packages/channels/telegram/dist/telegram.test.d.ts.map +1 -0
  106. package/packages/channels/telegram/dist/telegram.test.js +25 -0
  107. package/packages/channels/telegram/dist/telegram.test.js.map +1 -0
  108. package/packages/channels/telegram/dist/types.d.ts +20 -0
  109. package/packages/channels/telegram/dist/types.d.ts.map +1 -0
  110. package/packages/channels/telegram/dist/types.js +2 -0
  111. package/packages/channels/telegram/dist/types.js.map +1 -0
  112. package/packages/channels/telegram/package.json +21 -0
  113. package/packages/cli/dist/.tsbuildinfo +1 -0
  114. package/packages/cli/dist/bin/va-claw.d.mts +3 -0
  115. package/packages/cli/dist/bin/va-claw.d.mts.map +1 -0
  116. package/packages/cli/dist/bin/va-claw.mjs +4 -0
  117. package/packages/cli/dist/bin/va-claw.mjs.map +1 -0
  118. package/packages/cli/dist/channel-handlers.d.ts +8 -0
  119. package/packages/cli/dist/channel-handlers.d.ts.map +1 -0
  120. package/packages/cli/dist/channel-handlers.js +80 -0
  121. package/packages/cli/dist/channel-handlers.js.map +1 -0
  122. package/packages/cli/dist/deps-exports.d.ts +3 -0
  123. package/packages/cli/dist/deps-exports.d.ts.map +1 -0
  124. package/packages/cli/dist/deps-exports.js +3 -0
  125. package/packages/cli/dist/deps-exports.js.map +1 -0
  126. package/packages/cli/dist/deps.d.ts +3 -0
  127. package/packages/cli/dist/deps.d.ts.map +1 -0
  128. package/packages/cli/dist/deps.js +81 -0
  129. package/packages/cli/dist/deps.js.map +1 -0
  130. package/packages/cli/dist/handlers.d.ts +33 -0
  131. package/packages/cli/dist/handlers.d.ts.map +1 -0
  132. package/packages/cli/dist/handlers.js +207 -0
  133. package/packages/cli/dist/handlers.js.map +1 -0
  134. package/packages/cli/dist/index.d.ts +10 -0
  135. package/packages/cli/dist/index.d.ts.map +1 -0
  136. package/packages/cli/dist/index.js +9 -0
  137. package/packages/cli/dist/index.js.map +1 -0
  138. package/packages/cli/dist/install-files.d.ts +11 -0
  139. package/packages/cli/dist/install-files.d.ts.map +1 -0
  140. package/packages/cli/dist/install-files.js +72 -0
  141. package/packages/cli/dist/install-files.js.map +1 -0
  142. package/packages/cli/dist/memory-status.d.ts +3 -0
  143. package/packages/cli/dist/memory-status.d.ts.map +1 -0
  144. package/packages/cli/dist/memory-status.js +45 -0
  145. package/packages/cli/dist/memory-status.js.map +1 -0
  146. package/packages/cli/dist/output.d.ts +8 -0
  147. package/packages/cli/dist/output.d.ts.map +1 -0
  148. package/packages/cli/dist/output.js +45 -0
  149. package/packages/cli/dist/output.js.map +1 -0
  150. package/packages/cli/dist/platform.d.ts +6 -0
  151. package/packages/cli/dist/platform.d.ts.map +1 -0
  152. package/packages/cli/dist/platform.js +31 -0
  153. package/packages/cli/dist/platform.js.map +1 -0
  154. package/packages/cli/dist/program.d.ts +5 -0
  155. package/packages/cli/dist/program.d.ts.map +1 -0
  156. package/packages/cli/dist/program.js +116 -0
  157. package/packages/cli/dist/program.js.map +1 -0
  158. package/packages/cli/dist/test-helpers.d.ts +7 -0
  159. package/packages/cli/dist/test-helpers.d.ts.map +1 -0
  160. package/packages/cli/dist/test-helpers.js +91 -0
  161. package/packages/cli/dist/test-helpers.js.map +1 -0
  162. package/packages/cli/dist/types.d.ts +82 -0
  163. package/packages/cli/dist/types.d.ts.map +1 -0
  164. package/packages/cli/dist/types.js +2 -0
  165. package/packages/cli/dist/types.js.map +1 -0
  166. package/packages/cli/dist/wait.d.ts +2 -0
  167. package/packages/cli/dist/wait.d.ts.map +1 -0
  168. package/packages/cli/dist/wait.js +25 -0
  169. package/packages/cli/dist/wait.js.map +1 -0
  170. package/packages/cli/package.json +29 -0
  171. package/packages/daemon/dist/.tsbuildinfo +1 -0
  172. package/packages/daemon/dist/cli-adapter.d.ts +14 -0
  173. package/packages/daemon/dist/cli-adapter.d.ts.map +1 -0
  174. package/packages/daemon/dist/cli-adapter.js +30 -0
  175. package/packages/daemon/dist/cli-adapter.js.map +1 -0
  176. package/packages/daemon/dist/index.d.ts +5 -0
  177. package/packages/daemon/dist/index.d.ts.map +1 -0
  178. package/packages/daemon/dist/index.js +4 -0
  179. package/packages/daemon/dist/index.js.map +1 -0
  180. package/packages/daemon/dist/runner.d.ts +2 -0
  181. package/packages/daemon/dist/runner.d.ts.map +1 -0
  182. package/packages/daemon/dist/runner.js +18 -0
  183. package/packages/daemon/dist/runner.js.map +1 -0
  184. package/packages/daemon/dist/runtime.d.ts +24 -0
  185. package/packages/daemon/dist/runtime.d.ts.map +1 -0
  186. package/packages/daemon/dist/runtime.js +83 -0
  187. package/packages/daemon/dist/runtime.js.map +1 -0
  188. package/packages/daemon/dist/service-files.d.ts +13 -0
  189. package/packages/daemon/dist/service-files.d.ts.map +1 -0
  190. package/packages/daemon/dist/service-files.js +84 -0
  191. package/packages/daemon/dist/service-files.js.map +1 -0
  192. package/packages/daemon/dist/service.d.ts +4 -0
  193. package/packages/daemon/dist/service.d.ts.map +1 -0
  194. package/packages/daemon/dist/service.js +31 -0
  195. package/packages/daemon/dist/service.js.map +1 -0
  196. package/packages/daemon/dist/types.d.ts +11 -0
  197. package/packages/daemon/dist/types.d.ts.map +1 -0
  198. package/packages/daemon/dist/types.js +2 -0
  199. package/packages/daemon/dist/types.js.map +1 -0
  200. package/packages/daemon/dist/wake-cycle.d.ts +17 -0
  201. package/packages/daemon/dist/wake-cycle.d.ts.map +1 -0
  202. package/packages/daemon/dist/wake-cycle.js +58 -0
  203. package/packages/daemon/dist/wake-cycle.js.map +1 -0
  204. package/packages/daemon/package.json +22 -0
  205. package/packages/identity/dist/.tsbuildinfo +1 -0
  206. package/packages/identity/dist/defaults.d.ts +5 -0
  207. package/packages/identity/dist/defaults.d.ts.map +1 -0
  208. package/packages/identity/dist/defaults.js +70 -0
  209. package/packages/identity/dist/defaults.js.map +1 -0
  210. package/packages/identity/dist/index.d.ts +6 -0
  211. package/packages/identity/dist/index.d.ts.map +1 -0
  212. package/packages/identity/dist/index.js +5 -0
  213. package/packages/identity/dist/index.js.map +1 -0
  214. package/packages/identity/dist/path.d.ts +3 -0
  215. package/packages/identity/dist/path.d.ts.map +1 -0
  216. package/packages/identity/dist/path.js +16 -0
  217. package/packages/identity/dist/path.js.map +1 -0
  218. package/packages/identity/dist/render.d.ts +4 -0
  219. package/packages/identity/dist/render.d.ts.map +1 -0
  220. package/packages/identity/dist/render.js +34 -0
  221. package/packages/identity/dist/render.js.map +1 -0
  222. package/packages/identity/dist/storage.d.ts +4 -0
  223. package/packages/identity/dist/storage.d.ts.map +1 -0
  224. package/packages/identity/dist/storage.js +27 -0
  225. package/packages/identity/dist/storage.js.map +1 -0
  226. package/packages/identity/dist/types.d.ts +29 -0
  227. package/packages/identity/dist/types.d.ts.map +1 -0
  228. package/packages/identity/dist/types.js +2 -0
  229. package/packages/identity/dist/types.js.map +1 -0
  230. package/packages/identity/dist/wizard.d.ts +3 -0
  231. package/packages/identity/dist/wizard.d.ts.map +1 -0
  232. package/packages/identity/dist/wizard.js +37 -0
  233. package/packages/identity/dist/wizard.js.map +1 -0
  234. package/packages/identity/package.json +21 -0
  235. package/packages/identity/test/identity.test.mjs +71 -0
  236. package/packages/identity/test/storage.test.mjs +91 -0
  237. package/packages/identity/vendor/clack-prompts/index.d.ts +10 -0
  238. package/packages/identity/vendor/clack-prompts/index.js +55 -0
  239. package/packages/identity/vendor/clack-prompts/package.json +11 -0
  240. package/packages/memory/dist/.tsbuildinfo +1 -0
  241. package/packages/memory/dist/default-store.d.ts +21 -0
  242. package/packages/memory/dist/default-store.d.ts.map +1 -0
  243. package/packages/memory/dist/default-store.js +52 -0
  244. package/packages/memory/dist/default-store.js.map +1 -0
  245. package/packages/memory/dist/embedding.d.ts +6 -0
  246. package/packages/memory/dist/embedding.d.ts.map +1 -0
  247. package/packages/memory/dist/embedding.js +56 -0
  248. package/packages/memory/dist/embedding.js.map +1 -0
  249. package/packages/memory/dist/forgetting-curve.d.ts +3 -0
  250. package/packages/memory/dist/forgetting-curve.d.ts.map +1 -0
  251. package/packages/memory/dist/forgetting-curve.js +21 -0
  252. package/packages/memory/dist/forgetting-curve.js.map +1 -0
  253. package/packages/memory/dist/index.d.ts +5 -0
  254. package/packages/memory/dist/index.d.ts.map +1 -0
  255. package/packages/memory/dist/index.js +4 -0
  256. package/packages/memory/dist/index.js.map +1 -0
  257. package/packages/memory/dist/memory-store.d.ts +39 -0
  258. package/packages/memory/dist/memory-store.d.ts.map +1 -0
  259. package/packages/memory/dist/memory-store.js +417 -0
  260. package/packages/memory/dist/memory-store.js.map +1 -0
  261. package/packages/memory/dist/sqlite.d.ts +19 -0
  262. package/packages/memory/dist/sqlite.d.ts.map +1 -0
  263. package/packages/memory/dist/sqlite.js +195 -0
  264. package/packages/memory/dist/sqlite.js.map +1 -0
  265. package/packages/memory/dist/types.d.ts +43 -0
  266. package/packages/memory/dist/types.d.ts.map +1 -0
  267. package/packages/memory/dist/types.js +2 -0
  268. package/packages/memory/dist/types.js.map +1 -0
  269. package/packages/memory/package.json +18 -0
  270. package/packages/skills/dist/.tsbuildinfo +1 -0
  271. package/packages/skills/dist/frontmatter.d.ts +3 -0
  272. package/packages/skills/dist/frontmatter.d.ts.map +1 -0
  273. package/packages/skills/dist/frontmatter.js +85 -0
  274. package/packages/skills/dist/frontmatter.js.map +1 -0
  275. package/packages/skills/dist/index.d.ts +6 -0
  276. package/packages/skills/dist/index.d.ts.map +1 -0
  277. package/packages/skills/dist/index.js +5 -0
  278. package/packages/skills/dist/index.js.map +1 -0
  279. package/packages/skills/dist/paths.d.ts +13 -0
  280. package/packages/skills/dist/paths.d.ts.map +1 -0
  281. package/packages/skills/dist/paths.js +43 -0
  282. package/packages/skills/dist/paths.js.map +1 -0
  283. package/packages/skills/dist/search.d.ts +3 -0
  284. package/packages/skills/dist/search.d.ts.map +1 -0
  285. package/packages/skills/dist/search.js +20 -0
  286. package/packages/skills/dist/search.js.map +1 -0
  287. package/packages/skills/dist/store.d.ts +8 -0
  288. package/packages/skills/dist/store.d.ts.map +1 -0
  289. package/packages/skills/dist/store.js +75 -0
  290. package/packages/skills/dist/store.js.map +1 -0
  291. package/packages/skills/dist/types.d.ts +9 -0
  292. package/packages/skills/dist/types.d.ts.map +1 -0
  293. package/packages/skills/dist/types.js +2 -0
  294. package/packages/skills/dist/types.js.map +1 -0
  295. package/packages/skills/package.json +18 -0
  296. package/skills/install-va-claw.md +180 -0
  297. package/vendor/commander/index.d.ts +16 -0
  298. package/vendor/commander/index.js +110 -0
  299. package/vendor/commander/package.json +11 -0
  300. package/vendor/croner/LICENSE +22 -0
  301. package/vendor/croner/README.md +339 -0
  302. package/vendor/croner/dist/croner.cjs +1 -0
  303. package/vendor/croner/dist/croner.d.cts +693 -0
  304. package/vendor/croner/dist/croner.d.ts +693 -0
  305. package/vendor/croner/dist/croner.js +1 -0
  306. package/vendor/croner/dist/croner.umd.js +1 -0
  307. package/vendor/croner/package.json +73 -0
  308. package/vendor/discord.js/index.d.ts +22 -0
  309. package/vendor/discord.js/index.js +37 -0
  310. package/vendor/discord.js/package.json +7 -0
  311. package/vendor/grammy/index.d.ts +43 -0
  312. package/vendor/grammy/index.js +89 -0
  313. package/vendor/grammy/package.json +7 -0
  314. package/vendor/slack-bolt/index.d.ts +29 -0
  315. package/vendor/slack-bolt/index.js +72 -0
  316. package/vendor/slack-bolt/package.json +7 -0
@@ -0,0 +1,36 @@
1
+ # Contributing
2
+
3
+ Thanks for your interest in va-claw.
4
+
5
+ ## Local development
6
+
7
+ - `pnpm install`
8
+ - `pnpm build`
9
+ - `pnpm test`
10
+
11
+ Run all three before opening a pull request.
12
+
13
+ ## Code standards
14
+
15
+ - TypeScript strict mode
16
+ - ESM modules
17
+ - Keep each source file under 200 lines when editing/adding
18
+ - Prefer clear CLI output and concise implementation
19
+
20
+ ## Issues
21
+
22
+ - For bugs, use the bug report issue template and include reproducible steps.
23
+ - For feature ideas, use the feature request template.
24
+ - If a report is missing required information, we may ask follow-up questions before triage.
25
+
26
+ ## Pull requests
27
+
28
+ - One PR should focus on one topic.
29
+ - Keep the scope small and explicit.
30
+ - Link related issues where applicable.
31
+ - CI/tests must pass before merge.
32
+ - Include any behavior changes in docs when needed.
33
+
34
+ ## Questions
35
+
36
+ Open an issue if you are unsure about command behavior or expected configuration.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Vadaski
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,337 @@
1
+ <h1 align="center">va-claw</h1>
2
+
3
+ <p align="center">
4
+ <b>Turn your Claude Code or OpenCode into an OpenClaw — in 30 seconds.</b>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="https://github.com/Vadaski/va-claw/actions/workflows/ci.yml">
9
+ <img src="https://github.com/Vadaski/va-claw/actions/workflows/ci.yml/badge.svg" alt="CI">
10
+ </a>
11
+ <a href="https://www.npmjs.com/package/va-claw">
12
+ <img src="https://img.shields.io/npm/v/va-claw.svg" alt="npm">
13
+ </a>
14
+ <a href="LICENSE">
15
+ <img src="https://img.shields.io/github/license/Vadaski/va-claw.svg" alt="License">
16
+ </a>
17
+ <a href="https://www.npmjs.com/package/va-claw">
18
+ <img src="https://img.shields.io/npm/dm/va-claw.svg" alt="Downloads">
19
+ </a>
20
+ </p>
21
+
22
+ <p align="center">
23
+ <a href="https://vadaski.github.io/va-claw">🌐 Website</a> •
24
+ <a href="#quick-start">Quick Start</a> •
25
+ <a href="#how-it-works">How It Works</a> •
26
+ <a href="#features">Features</a> •
27
+ <a href="#channels">Channels</a> •
28
+ <a href="#vs-openclaw">vs OpenClaw</a>
29
+ </p>
30
+
31
+ ---
32
+
33
+ ## What is va-claw?
34
+
35
+ **va-claw** is a minimal plugin that adds OpenClaw's three core superpowers to any CLI agent you already have:
36
+
37
+ | | Without va-claw | With va-claw |
38
+ |---|---|---|
39
+ | **Memory** | Session resets every time | Persistent SQLite memory, semantic search |
40
+ | **Identity** | Generic assistant | Named persona injected into every session |
41
+ | **Wake Loop** | You have to prompt it | Scheduled daemon wakes the agent for you |
42
+
43
+ > *No new gateway. No new CLI to learn. Just install the plugin and your existing `claude` or `codex` becomes persistent, self-aware, and autonomous.*
44
+
45
+ ---
46
+
47
+ ## Install via Skill (zero-effort setup)
48
+
49
+ The fastest way to install va-claw is to drop the install skill into any Claude Code or OpenCode session. The agent will handle everything — checking prerequisites, running the install, configuring identity, and starting the daemon.
50
+
51
+ ```bash
52
+ # In any Claude Code or OpenCode session, run:
53
+ /install https://raw.githubusercontent.com/Vadaski/va-claw/main/skills/install-va-claw.md
54
+ ```
55
+
56
+ Or add it as a persistent skill so any future agent can self-install va-claw:
57
+
58
+ ```bash
59
+ va-claw skill add https://raw.githubusercontent.com/Vadaski/va-claw/main/skills/install-va-claw.md
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Quick Start
65
+
66
+ ### Prerequisites
67
+
68
+ - **Node.js** >= 22
69
+ - **Claude Code** (`npm install -g @anthropic-ai/claude-code`) or **OpenCode / Codex** installed
70
+
71
+ ### Install & go
72
+
73
+ ```bash
74
+ npm install -g va-claw
75
+ va-claw install # injects identity into ~/.claude/CLAUDE.md or ~/.codex/instructions.md
76
+ va-claw start # starts the wake-loop daemon
77
+ ```
78
+
79
+ That's it. Your CLI agent now has memory, an identity, and runs autonomously in the background.
80
+
81
+ ### First steps
82
+
83
+ ```bash
84
+ # See what your agent has been doing
85
+ va-claw memory list
86
+
87
+ # Search across all past wake outputs
88
+ va-claw memory recall "what was I working on"
89
+
90
+ # Check daemon health
91
+ va-claw status
92
+ ```
93
+
94
+ ---
95
+
96
+ ## How It Works
97
+
98
+ ```
99
+ ┌──────────────────┐ ┌──────────────────┐
100
+ │ Claude Code │ │ OpenCode/Codex │
101
+ └────────┬─────────┘ └────────┬─────────┘
102
+ │ identity injected │ identity injected
103
+ │ via CLAUDE.md / instructions.md
104
+ └──────────┬───────────────┘
105
+
106
+ ┌──────────▼───────────┐
107
+ │ va-claw Daemon │
108
+ │ │
109
+ │ ┌────────────────┐ │
110
+ │ │ Wake Loop │ │ ← cron schedule, runs silently
111
+ │ │ (croner) │ │
112
+ │ └───────┬────────┘ │
113
+ │ │ │
114
+ │ ┌───────▼────────┐ │
115
+ │ │ Memory Store │ │ ← SQLite, ~/.va-claw/memory.db
116
+ │ │ (node:sqlite) │ │
117
+ │ └───────┬────────┘ │
118
+ │ │ │
119
+ │ ┌───────▼────────┐ │
120
+ │ │ Skills Layer │ │ ← Markdown-based, zero compile
121
+ │ └────────────────┘ │
122
+ └──────────────────────┘
123
+
124
+ ┌───────────┼───────────┐
125
+ │ │ │
126
+ ┌────▼────┐ ┌────▼────┐ ┌───▼─────┐
127
+ │ Discord │ │Telegram │ │ Slack │
128
+ └─────────┘ └─────────┘ └─────────┘
129
+ ```
130
+
131
+ **One daemon. Local SQLite. Zero cloud dependency.** Wake outputs are automatically stored in memory so your next session always has context.
132
+
133
+ ---
134
+
135
+ ## Features
136
+
137
+ ### 🧠 Memory
138
+
139
+ Structured SQLite memory with full CRUD, Ebbinghaus forgetting curve, and weighted recall. Your agent doesn't just log outputs — it remembers, forgets, and gets smarter over time.
140
+
141
+ **Store a named memory:**
142
+
143
+ ```bash
144
+ va-claw memory memorize "auth-pattern" \
145
+ "Always use JWT with 1h expiry and refresh token rotation" \
146
+ --tags auth,security \
147
+ --importance 0.9 \
148
+ --details "Single-use refresh tokens mandatory after Feb incident"
149
+ ```
150
+
151
+ **Full CRUD:**
152
+
153
+ ```bash
154
+ va-claw memory get auth-pattern # retrieve by key
155
+ va-claw memory update auth-pattern --importance 1.0 # patch fields
156
+ va-claw memory forget auth-pattern # delete one memory
157
+ va-claw memory clear # wipe all
158
+ ```
159
+
160
+ **Recall:**
161
+
162
+ ```bash
163
+ va-claw memory recall "JWT authentication" # weighted: tags > triggers > essence > details
164
+ va-claw memory list --limit 20 # recent entries
165
+ ```
166
+
167
+ **Maintenance (Ebbinghaus model):**
168
+
169
+ ```bash
170
+ va-claw memory consolidate # prune faded memories, reinforce recently accessed
171
+ va-claw memory reflect # Markdown summary grouped by tag
172
+ ```
173
+
174
+ Every memory has `strength`, `importance`, and `decayTau`. High-importance memories decay ~3× slower. Accessing a memory reinforces it. `consolidate` runs the forgetting curve and cleans up dead entries automatically.
175
+
176
+ ### 🎭 Identity
177
+
178
+ Define your agent's name, persona, and behavior once — injected automatically into every Claude Code or OpenCode session.
179
+
180
+ ```bash
181
+ va-claw identity setup # interactive wizard
182
+ va-claw identity show # view current config
183
+ ```
184
+
185
+ Config lives at `~/.va-claw/config.json`:
186
+
187
+ ```json
188
+ {
189
+ "name": "Nova",
190
+ "persona": "Precise and calm. Senior engineer mindset.",
191
+ "systemPrompt": "Act with continuity. Check memory before starting.",
192
+ "wakePrompt": "Check repo status and summarize what needs attention.",
193
+ "loopInterval": "0 * * * *"
194
+ }
195
+ ```
196
+
197
+ ### ⏰ Wake Loop
198
+
199
+ A local cron daemon that wakes your agent on a schedule and writes the output back into memory.
200
+
201
+ ```bash
202
+ va-claw start # start the daemon
203
+ va-claw stop # stop the daemon
204
+ va-claw status # check health + last wake time
205
+ ```
206
+
207
+ Use cases: daily standup summaries, repo health checks, automated PR reviews, background research.
208
+
209
+ ---
210
+
211
+ ## Skills
212
+
213
+ Extend behavior with plain Markdown files — no compilation, no config:
214
+
215
+ ```bash
216
+ va-claw skill add ./my-skill.md # local file
217
+ va-claw skill add https://example.com/skills/git.md # remote URL
218
+
219
+ va-claw skill list
220
+ va-claw skill show <name>
221
+ va-claw skill remove <name>
222
+ ```
223
+
224
+ A skill file looks like this:
225
+
226
+ ```markdown
227
+ ---
228
+ name: git-hygiene
229
+ description: Check for stale branches and large commits
230
+ version: 1.0.0
231
+ triggers:
232
+ - git
233
+ - branch
234
+ - commit
235
+ ---
236
+
237
+ When checking the repository, always:
238
+ 1. List branches older than 30 days
239
+ 2. Flag commits larger than 500 lines
240
+ 3. Suggest a cleanup plan
241
+ ```
242
+
243
+ ---
244
+
245
+ ## Channels
246
+
247
+ Connect your wake loop to Discord, Telegram, or Slack to receive outputs and send commands remotely.
248
+
249
+ ### Discord
250
+
251
+ ```bash
252
+ va-claw channel discord setup
253
+ va-claw channel discord start
254
+ va-claw channel discord status
255
+ ```
256
+
257
+ ### Telegram
258
+
259
+ ```bash
260
+ va-claw channel telegram setup --token <bot-token>
261
+ va-claw channel telegram start
262
+ ```
263
+
264
+ ### Slack
265
+
266
+ ```bash
267
+ va-claw channel slack setup --bot-token <xoxb-...> --app-token <xapp-...>
268
+ va-claw channel slack start
269
+ ```
270
+
271
+ ---
272
+
273
+ ## Full CLI Reference
274
+
275
+ ```bash
276
+ # Core
277
+ va-claw install [--for claude-code|codex|all]
278
+ va-claw start | stop | status | uninstall
279
+
280
+ # Identity
281
+ va-claw identity setup | show | edit
282
+
283
+ # Memory — full CRUD + Ebbinghaus lifecycle
284
+ va-claw memory memorize <key> <essence> [--tags t1,t2] [--details "..."] [--importance 0-1]
285
+ va-claw memory get <key>
286
+ va-claw memory update <key> [--essence "..."] [--tags "..."] [--importance 0-1] [--details "..."]
287
+ va-claw memory forget <key>
288
+ va-claw memory recall <query> [--limit <n>]
289
+ va-claw memory list [--limit <n>]
290
+ va-claw memory consolidate
291
+ va-claw memory reflect
292
+ va-claw memory clear
293
+
294
+ # Skills
295
+ va-claw skill list | add <path-or-url> | remove <name> | show <name>
296
+
297
+ # Channels
298
+ va-claw channel discord setup | start | stop | status
299
+ va-claw channel telegram setup --token <t> | start | stop | status
300
+ va-claw channel slack setup --bot-token <t> --app-token <t> | start | stop | status
301
+ ```
302
+
303
+ ---
304
+
305
+ ## vs OpenClaw
306
+
307
+ | | **va-claw** | **OpenClaw** |
308
+ |---|---|---|
309
+ | **Concept** | Plugin for your existing CLI | Standalone AI agent system |
310
+ | **Install** | `npm install -g va-claw` | Full gateway setup |
311
+ | **Agents** | Claude Code, OpenCode, Codex | Own runtime |
312
+ | **Memory** | SQLite (local) | SQLite + Markdown compaction |
313
+ | **Channels** | Discord, Telegram, Slack | WhatsApp, iMessage, + more |
314
+ | **Footprint** | ~2 MB, zero cloud deps | Full service stack |
315
+ | **Best for** | Devs who already use Claude Code / Codex | Users who want a dedicated agent |
316
+
317
+ **va-claw = OpenClaw's soul, Claude Code's body.** If you're already paying for Claude Code or OpenCode, don't run a separate agent stack — just add the three superpowers you're missing.
318
+
319
+ ---
320
+
321
+ ## Development
322
+
323
+ ```bash
324
+ git clone https://github.com/Vadaski/va-claw.git
325
+ cd va-claw
326
+ pnpm install
327
+ pnpm build
328
+ pnpm test
329
+ ```
330
+
331
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
332
+
333
+ ---
334
+
335
+ ## License
336
+
337
+ [MIT](LICENSE) © Vadaski
package/bin/va-claw ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { runCli } from "../packages/cli/dist/index.js";
3
+ await runCli();
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { runCli } from "../packages/cli/dist/index.js";
3
+ await runCli();
package/docs/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # va-claw Documentation
2
+
3
+ This repository's main documentation is in the project root:
4
+
5
+ - [Main README](../README.md)
6
+