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.
- package/CONTRIBUTING.md +36 -0
- package/LICENSE +21 -0
- package/README.md +337 -0
- package/bin/va-claw +3 -0
- package/bin/va-claw.mjs +3 -0
- package/docs/README.md +6 -0
- package/index.html +728 -0
- package/package.json +43 -0
- package/packages/channels/discord/dist/.tsbuildinfo +1 -0
- package/packages/channels/discord/dist/cli-runner.d.ts +18 -0
- package/packages/channels/discord/dist/cli-runner.d.ts.map +1 -0
- package/packages/channels/discord/dist/cli-runner.js +58 -0
- package/packages/channels/discord/dist/cli-runner.js.map +1 -0
- package/packages/channels/discord/dist/cli-runner.test.d.ts +2 -0
- package/packages/channels/discord/dist/cli-runner.test.d.ts.map +1 -0
- package/packages/channels/discord/dist/cli-runner.test.js +173 -0
- package/packages/channels/discord/dist/cli-runner.test.js.map +1 -0
- package/packages/channels/discord/dist/discord-client.d.ts +3 -0
- package/packages/channels/discord/dist/discord-client.d.ts.map +1 -0
- package/packages/channels/discord/dist/discord-client.js +49 -0
- package/packages/channels/discord/dist/discord-client.js.map +1 -0
- package/packages/channels/discord/dist/format.d.ts +6 -0
- package/packages/channels/discord/dist/format.d.ts.map +1 -0
- package/packages/channels/discord/dist/format.js +19 -0
- package/packages/channels/discord/dist/format.js.map +1 -0
- package/packages/channels/discord/dist/format.test.d.ts +2 -0
- package/packages/channels/discord/dist/format.test.d.ts.map +1 -0
- package/packages/channels/discord/dist/format.test.js +63 -0
- package/packages/channels/discord/dist/format.test.js.map +1 -0
- package/packages/channels/discord/dist/index.d.ts +3 -0
- package/packages/channels/discord/dist/index.d.ts.map +1 -0
- package/packages/channels/discord/dist/index.js +2 -0
- package/packages/channels/discord/dist/index.js.map +1 -0
- package/packages/channels/discord/dist/prompt.d.ts +4 -0
- package/packages/channels/discord/dist/prompt.d.ts.map +1 -0
- package/packages/channels/discord/dist/prompt.js +28 -0
- package/packages/channels/discord/dist/prompt.js.map +1 -0
- package/packages/channels/discord/dist/prompt.test.d.ts +2 -0
- package/packages/channels/discord/dist/prompt.test.d.ts.map +1 -0
- package/packages/channels/discord/dist/prompt.test.js +130 -0
- package/packages/channels/discord/dist/prompt.test.js.map +1 -0
- package/packages/channels/discord/dist/runtime.d.ts +11 -0
- package/packages/channels/discord/dist/runtime.d.ts.map +1 -0
- package/packages/channels/discord/dist/runtime.js +66 -0
- package/packages/channels/discord/dist/runtime.js.map +1 -0
- package/packages/channels/discord/dist/runtime.test.d.ts +2 -0
- package/packages/channels/discord/dist/runtime.test.d.ts.map +1 -0
- package/packages/channels/discord/dist/runtime.test.js +107 -0
- package/packages/channels/discord/dist/runtime.test.js.map +1 -0
- package/packages/channels/discord/dist/types.d.ts +30 -0
- package/packages/channels/discord/dist/types.d.ts.map +1 -0
- package/packages/channels/discord/dist/types.js +2 -0
- package/packages/channels/discord/dist/types.js.map +1 -0
- package/packages/channels/discord/package.json +21 -0
- package/packages/channels/dist/.tsbuildinfo +1 -0
- package/packages/channels/dist/index.d.ts +14 -0
- package/packages/channels/dist/index.d.ts.map +1 -0
- package/packages/channels/dist/index.js +25 -0
- package/packages/channels/dist/index.js.map +1 -0
- package/packages/channels/package.json +23 -0
- package/packages/channels/slack/dist/.tsbuildinfo +1 -0
- package/packages/channels/slack/dist/cli.d.ts +7 -0
- package/packages/channels/slack/dist/cli.d.ts.map +1 -0
- package/packages/channels/slack/dist/cli.js +53 -0
- package/packages/channels/slack/dist/cli.js.map +1 -0
- package/packages/channels/slack/dist/cli.test.d.ts +2 -0
- package/packages/channels/slack/dist/cli.test.d.ts.map +1 -0
- package/packages/channels/slack/dist/cli.test.js +43 -0
- package/packages/channels/slack/dist/cli.test.js.map +1 -0
- package/packages/channels/slack/dist/index.d.ts +7 -0
- package/packages/channels/slack/dist/index.d.ts.map +1 -0
- package/packages/channels/slack/dist/index.js +28 -0
- package/packages/channels/slack/dist/index.js.map +1 -0
- package/packages/channels/slack/dist/message.d.ts +15 -0
- package/packages/channels/slack/dist/message.d.ts.map +1 -0
- package/packages/channels/slack/dist/message.js +38 -0
- package/packages/channels/slack/dist/message.js.map +1 -0
- package/packages/channels/slack/dist/slack.test.d.ts +2 -0
- package/packages/channels/slack/dist/slack.test.d.ts.map +1 -0
- package/packages/channels/slack/dist/slack.test.js +23 -0
- package/packages/channels/slack/dist/slack.test.js.map +1 -0
- package/packages/channels/slack/dist/types.d.ts +22 -0
- package/packages/channels/slack/dist/types.d.ts.map +1 -0
- package/packages/channels/slack/dist/types.js +2 -0
- package/packages/channels/slack/dist/types.js.map +1 -0
- package/packages/channels/slack/package.json +21 -0
- package/packages/channels/telegram/dist/.tsbuildinfo +1 -0
- package/packages/channels/telegram/dist/cli.d.ts +13 -0
- package/packages/channels/telegram/dist/cli.d.ts.map +1 -0
- package/packages/channels/telegram/dist/cli.js +53 -0
- package/packages/channels/telegram/dist/cli.js.map +1 -0
- package/packages/channels/telegram/dist/cli.test.d.ts +2 -0
- package/packages/channels/telegram/dist/cli.test.d.ts.map +1 -0
- package/packages/channels/telegram/dist/cli.test.js +167 -0
- package/packages/channels/telegram/dist/cli.test.js.map +1 -0
- package/packages/channels/telegram/dist/index.d.ts +7 -0
- package/packages/channels/telegram/dist/index.d.ts.map +1 -0
- package/packages/channels/telegram/dist/index.js +21 -0
- package/packages/channels/telegram/dist/index.js.map +1 -0
- package/packages/channels/telegram/dist/message.d.ts +6 -0
- package/packages/channels/telegram/dist/message.d.ts.map +1 -0
- package/packages/channels/telegram/dist/message.js +33 -0
- package/packages/channels/telegram/dist/message.js.map +1 -0
- package/packages/channels/telegram/dist/telegram.test.d.ts +2 -0
- package/packages/channels/telegram/dist/telegram.test.d.ts.map +1 -0
- package/packages/channels/telegram/dist/telegram.test.js +25 -0
- package/packages/channels/telegram/dist/telegram.test.js.map +1 -0
- package/packages/channels/telegram/dist/types.d.ts +20 -0
- package/packages/channels/telegram/dist/types.d.ts.map +1 -0
- package/packages/channels/telegram/dist/types.js +2 -0
- package/packages/channels/telegram/dist/types.js.map +1 -0
- package/packages/channels/telegram/package.json +21 -0
- package/packages/cli/dist/.tsbuildinfo +1 -0
- package/packages/cli/dist/bin/va-claw.d.mts +3 -0
- package/packages/cli/dist/bin/va-claw.d.mts.map +1 -0
- package/packages/cli/dist/bin/va-claw.mjs +4 -0
- package/packages/cli/dist/bin/va-claw.mjs.map +1 -0
- package/packages/cli/dist/channel-handlers.d.ts +8 -0
- package/packages/cli/dist/channel-handlers.d.ts.map +1 -0
- package/packages/cli/dist/channel-handlers.js +80 -0
- package/packages/cli/dist/channel-handlers.js.map +1 -0
- package/packages/cli/dist/deps-exports.d.ts +3 -0
- package/packages/cli/dist/deps-exports.d.ts.map +1 -0
- package/packages/cli/dist/deps-exports.js +3 -0
- package/packages/cli/dist/deps-exports.js.map +1 -0
- package/packages/cli/dist/deps.d.ts +3 -0
- package/packages/cli/dist/deps.d.ts.map +1 -0
- package/packages/cli/dist/deps.js +81 -0
- package/packages/cli/dist/deps.js.map +1 -0
- package/packages/cli/dist/handlers.d.ts +33 -0
- package/packages/cli/dist/handlers.d.ts.map +1 -0
- package/packages/cli/dist/handlers.js +207 -0
- package/packages/cli/dist/handlers.js.map +1 -0
- package/packages/cli/dist/index.d.ts +10 -0
- package/packages/cli/dist/index.d.ts.map +1 -0
- package/packages/cli/dist/index.js +9 -0
- package/packages/cli/dist/index.js.map +1 -0
- package/packages/cli/dist/install-files.d.ts +11 -0
- package/packages/cli/dist/install-files.d.ts.map +1 -0
- package/packages/cli/dist/install-files.js +72 -0
- package/packages/cli/dist/install-files.js.map +1 -0
- package/packages/cli/dist/memory-status.d.ts +3 -0
- package/packages/cli/dist/memory-status.d.ts.map +1 -0
- package/packages/cli/dist/memory-status.js +45 -0
- package/packages/cli/dist/memory-status.js.map +1 -0
- package/packages/cli/dist/output.d.ts +8 -0
- package/packages/cli/dist/output.d.ts.map +1 -0
- package/packages/cli/dist/output.js +45 -0
- package/packages/cli/dist/output.js.map +1 -0
- package/packages/cli/dist/platform.d.ts +6 -0
- package/packages/cli/dist/platform.d.ts.map +1 -0
- package/packages/cli/dist/platform.js +31 -0
- package/packages/cli/dist/platform.js.map +1 -0
- package/packages/cli/dist/program.d.ts +5 -0
- package/packages/cli/dist/program.d.ts.map +1 -0
- package/packages/cli/dist/program.js +116 -0
- package/packages/cli/dist/program.js.map +1 -0
- package/packages/cli/dist/test-helpers.d.ts +7 -0
- package/packages/cli/dist/test-helpers.d.ts.map +1 -0
- package/packages/cli/dist/test-helpers.js +91 -0
- package/packages/cli/dist/test-helpers.js.map +1 -0
- package/packages/cli/dist/types.d.ts +82 -0
- package/packages/cli/dist/types.d.ts.map +1 -0
- package/packages/cli/dist/types.js +2 -0
- package/packages/cli/dist/types.js.map +1 -0
- package/packages/cli/dist/wait.d.ts +2 -0
- package/packages/cli/dist/wait.d.ts.map +1 -0
- package/packages/cli/dist/wait.js +25 -0
- package/packages/cli/dist/wait.js.map +1 -0
- package/packages/cli/package.json +29 -0
- package/packages/daemon/dist/.tsbuildinfo +1 -0
- package/packages/daemon/dist/cli-adapter.d.ts +14 -0
- package/packages/daemon/dist/cli-adapter.d.ts.map +1 -0
- package/packages/daemon/dist/cli-adapter.js +30 -0
- package/packages/daemon/dist/cli-adapter.js.map +1 -0
- package/packages/daemon/dist/index.d.ts +5 -0
- package/packages/daemon/dist/index.d.ts.map +1 -0
- package/packages/daemon/dist/index.js +4 -0
- package/packages/daemon/dist/index.js.map +1 -0
- package/packages/daemon/dist/runner.d.ts +2 -0
- package/packages/daemon/dist/runner.d.ts.map +1 -0
- package/packages/daemon/dist/runner.js +18 -0
- package/packages/daemon/dist/runner.js.map +1 -0
- package/packages/daemon/dist/runtime.d.ts +24 -0
- package/packages/daemon/dist/runtime.d.ts.map +1 -0
- package/packages/daemon/dist/runtime.js +83 -0
- package/packages/daemon/dist/runtime.js.map +1 -0
- package/packages/daemon/dist/service-files.d.ts +13 -0
- package/packages/daemon/dist/service-files.d.ts.map +1 -0
- package/packages/daemon/dist/service-files.js +84 -0
- package/packages/daemon/dist/service-files.js.map +1 -0
- package/packages/daemon/dist/service.d.ts +4 -0
- package/packages/daemon/dist/service.d.ts.map +1 -0
- package/packages/daemon/dist/service.js +31 -0
- package/packages/daemon/dist/service.js.map +1 -0
- package/packages/daemon/dist/types.d.ts +11 -0
- package/packages/daemon/dist/types.d.ts.map +1 -0
- package/packages/daemon/dist/types.js +2 -0
- package/packages/daemon/dist/types.js.map +1 -0
- package/packages/daemon/dist/wake-cycle.d.ts +17 -0
- package/packages/daemon/dist/wake-cycle.d.ts.map +1 -0
- package/packages/daemon/dist/wake-cycle.js +58 -0
- package/packages/daemon/dist/wake-cycle.js.map +1 -0
- package/packages/daemon/package.json +22 -0
- package/packages/identity/dist/.tsbuildinfo +1 -0
- package/packages/identity/dist/defaults.d.ts +5 -0
- package/packages/identity/dist/defaults.d.ts.map +1 -0
- package/packages/identity/dist/defaults.js +70 -0
- package/packages/identity/dist/defaults.js.map +1 -0
- package/packages/identity/dist/index.d.ts +6 -0
- package/packages/identity/dist/index.d.ts.map +1 -0
- package/packages/identity/dist/index.js +5 -0
- package/packages/identity/dist/index.js.map +1 -0
- package/packages/identity/dist/path.d.ts +3 -0
- package/packages/identity/dist/path.d.ts.map +1 -0
- package/packages/identity/dist/path.js +16 -0
- package/packages/identity/dist/path.js.map +1 -0
- package/packages/identity/dist/render.d.ts +4 -0
- package/packages/identity/dist/render.d.ts.map +1 -0
- package/packages/identity/dist/render.js +34 -0
- package/packages/identity/dist/render.js.map +1 -0
- package/packages/identity/dist/storage.d.ts +4 -0
- package/packages/identity/dist/storage.d.ts.map +1 -0
- package/packages/identity/dist/storage.js +27 -0
- package/packages/identity/dist/storage.js.map +1 -0
- package/packages/identity/dist/types.d.ts +29 -0
- package/packages/identity/dist/types.d.ts.map +1 -0
- package/packages/identity/dist/types.js +2 -0
- package/packages/identity/dist/types.js.map +1 -0
- package/packages/identity/dist/wizard.d.ts +3 -0
- package/packages/identity/dist/wizard.d.ts.map +1 -0
- package/packages/identity/dist/wizard.js +37 -0
- package/packages/identity/dist/wizard.js.map +1 -0
- package/packages/identity/package.json +21 -0
- package/packages/identity/test/identity.test.mjs +71 -0
- package/packages/identity/test/storage.test.mjs +91 -0
- package/packages/identity/vendor/clack-prompts/index.d.ts +10 -0
- package/packages/identity/vendor/clack-prompts/index.js +55 -0
- package/packages/identity/vendor/clack-prompts/package.json +11 -0
- package/packages/memory/dist/.tsbuildinfo +1 -0
- package/packages/memory/dist/default-store.d.ts +21 -0
- package/packages/memory/dist/default-store.d.ts.map +1 -0
- package/packages/memory/dist/default-store.js +52 -0
- package/packages/memory/dist/default-store.js.map +1 -0
- package/packages/memory/dist/embedding.d.ts +6 -0
- package/packages/memory/dist/embedding.d.ts.map +1 -0
- package/packages/memory/dist/embedding.js +56 -0
- package/packages/memory/dist/embedding.js.map +1 -0
- package/packages/memory/dist/forgetting-curve.d.ts +3 -0
- package/packages/memory/dist/forgetting-curve.d.ts.map +1 -0
- package/packages/memory/dist/forgetting-curve.js +21 -0
- package/packages/memory/dist/forgetting-curve.js.map +1 -0
- package/packages/memory/dist/index.d.ts +5 -0
- package/packages/memory/dist/index.d.ts.map +1 -0
- package/packages/memory/dist/index.js +4 -0
- package/packages/memory/dist/index.js.map +1 -0
- package/packages/memory/dist/memory-store.d.ts +39 -0
- package/packages/memory/dist/memory-store.d.ts.map +1 -0
- package/packages/memory/dist/memory-store.js +417 -0
- package/packages/memory/dist/memory-store.js.map +1 -0
- package/packages/memory/dist/sqlite.d.ts +19 -0
- package/packages/memory/dist/sqlite.d.ts.map +1 -0
- package/packages/memory/dist/sqlite.js +195 -0
- package/packages/memory/dist/sqlite.js.map +1 -0
- package/packages/memory/dist/types.d.ts +43 -0
- package/packages/memory/dist/types.d.ts.map +1 -0
- package/packages/memory/dist/types.js +2 -0
- package/packages/memory/dist/types.js.map +1 -0
- package/packages/memory/package.json +18 -0
- package/packages/skills/dist/.tsbuildinfo +1 -0
- package/packages/skills/dist/frontmatter.d.ts +3 -0
- package/packages/skills/dist/frontmatter.d.ts.map +1 -0
- package/packages/skills/dist/frontmatter.js +85 -0
- package/packages/skills/dist/frontmatter.js.map +1 -0
- package/packages/skills/dist/index.d.ts +6 -0
- package/packages/skills/dist/index.d.ts.map +1 -0
- package/packages/skills/dist/index.js +5 -0
- package/packages/skills/dist/index.js.map +1 -0
- package/packages/skills/dist/paths.d.ts +13 -0
- package/packages/skills/dist/paths.d.ts.map +1 -0
- package/packages/skills/dist/paths.js +43 -0
- package/packages/skills/dist/paths.js.map +1 -0
- package/packages/skills/dist/search.d.ts +3 -0
- package/packages/skills/dist/search.d.ts.map +1 -0
- package/packages/skills/dist/search.js +20 -0
- package/packages/skills/dist/search.js.map +1 -0
- package/packages/skills/dist/store.d.ts +8 -0
- package/packages/skills/dist/store.d.ts.map +1 -0
- package/packages/skills/dist/store.js +75 -0
- package/packages/skills/dist/store.js.map +1 -0
- package/packages/skills/dist/types.d.ts +9 -0
- package/packages/skills/dist/types.d.ts.map +1 -0
- package/packages/skills/dist/types.js +2 -0
- package/packages/skills/dist/types.js.map +1 -0
- package/packages/skills/package.json +18 -0
- package/skills/install-va-claw.md +180 -0
- package/vendor/commander/index.d.ts +16 -0
- package/vendor/commander/index.js +110 -0
- package/vendor/commander/package.json +11 -0
- package/vendor/croner/LICENSE +22 -0
- package/vendor/croner/README.md +339 -0
- package/vendor/croner/dist/croner.cjs +1 -0
- package/vendor/croner/dist/croner.d.cts +693 -0
- package/vendor/croner/dist/croner.d.ts +693 -0
- package/vendor/croner/dist/croner.js +1 -0
- package/vendor/croner/dist/croner.umd.js +1 -0
- package/vendor/croner/package.json +73 -0
- package/vendor/discord.js/index.d.ts +22 -0
- package/vendor/discord.js/index.js +37 -0
- package/vendor/discord.js/package.json +7 -0
- package/vendor/grammy/index.d.ts +43 -0
- package/vendor/grammy/index.js +89 -0
- package/vendor/grammy/package.json +7 -0
- package/vendor/slack-bolt/index.d.ts +29 -0
- package/vendor/slack-bolt/index.js +72 -0
- package/vendor/slack-bolt/package.json +7 -0
package/CONTRIBUTING.md
ADDED
|
@@ -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
package/bin/va-claw.mjs
ADDED