Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
318 commits
Select commit Hold shift + click to select a range
972edd1
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 19, 2026
4d9f028
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 19, 2026
3e41e54
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
dad98b0
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
cfc4b6c
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
ea7561a
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
1bb065e
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
fff32f3
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 21, 2026
0d8f7f8
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 22, 2026
00ff0e0
fix(db): default Telegram backfill chats to DMs
RichardCao Mar 23, 2026
d40affb
fix: skip bump-version and update-tokens on forks
Mar 23, 2026
4f7efd3
fix: make diagnostics step explicit so Claude actually follows it
Koshkoshinsk Mar 23, 2026
ff16e93
fix: skip mount-allowlist write if file already exists
akasha-scheuermann Mar 22, 2026
5f42646
fix: implement --force flag for mount-allowlist overwrite
akasha-scheuermann Mar 23, 2026
724fe72
fix(claw): mount group folder and sessions into container
Mar 24, 2026
01b6258
docs: update outdated documentation, add docs portal links
glifocat Mar 24, 2026
8dcc70c
docs: add Windows (WSL2) to supported platforms
glifocat Mar 24, 2026
5a12ddd
fix(register): create CLAUDE.md in group folder from template
glifocat Mar 5, 2026
b6e1868
test: add coverage for CLAUDE.md template copy in register step
glifocat Mar 24, 2026
07dc8c9
test: cover multi-channel main and cross-channel name propagation
glifocat Mar 24, 2026
3207c35
fix: promote CLAUDE.md to main template when group becomes main
glifocat Mar 24, 2026
57085cc
fix: revert promotion logic — never overwrite existing CLAUDE.md
glifocat Mar 24, 2026
5b24dd4
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
d1ce15a
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
14247d0
skill: add /use-native-credential-proxy, remove dead proxy code
gabi-simons Mar 24, 2026
07cf1fb
docs: add OneCLI secrets management section to CLAUDE.md
Mar 24, 2026
3572280
style: fix prettier formatting
gabi-simons Mar 24, 2026
d05a8de
fix: refresh stale agent-runner source cache on code changes
Koshkoshinsk Mar 24, 2026
0015931
fix: honor per-group trigger patterns
mrbob-git Mar 24, 2026
7366b0d
docs: trim OneCLI section wording
Mar 24, 2026
8fc42e4
Merge pull request #1399 from gabi-simons/skill/use-native-credential…
gavrielc Mar 24, 2026
86063e0
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
7d640cb
chore: bump version to 1.2.23
github-actions[bot] Mar 24, 2026
58faf62
docs: update token count to 39.8k tokens · 20% of context window
github-actions[bot] Mar 24, 2026
4511644
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
1fff99f
Merge pull request #1400 from Koshkoshinsk/docs/onecli-claude-md-v2
gavrielc Mar 24, 2026
e6df18c
docs: update token count to 39.9k tokens · 20% of context window
github-actions[bot] Mar 24, 2026
17a7293
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
8d0baac
fix: remove prompt manipulation text from diagnostics steps
Mar 24, 2026
b7f59da
Merge branch 'main' into fix/diagnostics-prompt
gavrielc Mar 24, 2026
2f1d7fe
Merge pull request #1372 from Koshkoshinsk/fix/diagnostics-prompt
gavrielc Mar 24, 2026
6934851
Merge branch 'main' into skill/ollama-tool
github-actions[bot] Mar 24, 2026
57e520c
Merge origin/main: catch up with upstream (OneCLI, diagnostics, crede…
gavrielc Mar 24, 2026
bf9b7d0
fix: auto-resolve package-lock/badge/version conflicts in fork sync
gavrielc Mar 24, 2026
e26e1b3
chore: bump version to 1.2.24
github-actions[bot] Mar 24, 2026
4d853c5
docs: update token count to 42.2k tokens · 21% of context window
github-actions[bot] Mar 24, 2026
2142f03
chore: bump version to 1.2.25
github-actions[bot] Mar 24, 2026
616c1ae
fix: expand auto-resolve patterns and add missing forks to dispatch
gavrielc Mar 24, 2026
11847a1
fix: validate timezone to prevent crash on POSIX-style TZ values
gavrielc Mar 24, 2026
6d4e251
chore: bump version to 1.2.25
github-actions[bot] Mar 24, 2026
f375dd5
docs: update token count to 42.4k tokens · 21% of context window
github-actions[bot] Mar 24, 2026
341b8df
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Mar 24, 2026
5d5b904
chore: bump version to 1.2.26
github-actions[bot] Mar 24, 2026
aeabfcc
fix: enable loginctl linger so user service survives SSH logout
IYENTeam Mar 25, 2026
2c46d74
fix: clarify WhatsApp phone number prompt to prevent auth failures
ingyukoh Mar 25, 2026
4e3189d
fix: create CLAUDE.md from template when registering groups via IPC
ingyukoh Mar 25, 2026
1b18d50
Merge branch 'main' into feat/scheduled-task-scripts-clean
gabi-simons Mar 25, 2026
63f680d
chore: remove grammy and pin better-sqlite3/cron-parser versions
gavrielc Mar 25, 2026
e60eb6d
Merge remote-tracking branch 'telegram/main'
gavrielc Mar 25, 2026
675a6d8
chore: remove accidentally merged Telegram channel code
gavrielc Mar 25, 2026
093530a
chore: bump version to 1.2.27
github-actions[bot] Mar 25, 2026
6e5834e
docs: update token count to 40.1k tokens · 20% of context window
github-actions[bot] Mar 25, 2026
d622a79
fix: suppress spurious chat message on script skip
Koshkoshinsk Mar 25, 2026
d4073a0
chore: remove auto-sync GitHub Actions
gavrielc Mar 25, 2026
cf5fa1d
Merge branch 'main' into upstream/fix-register-claude-md
Koshkoshinsk Mar 25, 2026
5395b73
Merge branch 'main' into fix/ipc-register-group-claude-md
Koshkoshinsk Mar 25, 2026
80f6fb2
style: fix prettier formatting in registerGroup template copy
Mar 25, 2026
15b9aa9
Merge branch 'main' into feat/scheduled-task-scripts-clean
gabi-simons Mar 25, 2026
b7434b8
fix: use explicit Read tool directive for diagnostics instructions
Koshkoshinsk Mar 25, 2026
0240f48
fix: use main template for isMain groups in runtime registration
Mar 25, 2026
300dcda
Merge branch 'main' into fix/claw-mounts
kenbolton Mar 25, 2026
b112faf
Merge branch 'main' into fix/agent-runner-cache-refresh
gavrielc Mar 25, 2026
33ff3b8
Merge pull request #1401 from qwibitai/fix/agent-runner-cache-refresh
gavrielc Mar 25, 2026
31c03cf
chore: bump version to 1.2.28
github-actions[bot] Mar 25, 2026
9391304
docs: update token count to 40.2k tokens · 20% of context window
github-actions[bot] Mar 25, 2026
deece6b
Merge branch 'main' into feat/scheduled-task-scripts-clean
gavrielc Mar 25, 2026
f3644f1
Merge pull request #1232 from gabi-simons/feat/scheduled-task-scripts…
gavrielc Mar 25, 2026
bb736f3
chore: bump version to 1.2.29
github-actions[bot] Mar 25, 2026
df76dc6
docs: update token count to 41.0k tokens · 20% of context window
github-actions[bot] Mar 25, 2026
627f13a
Merge branch 'main' into fix/diagnostics-read-directive
gavrielc Mar 25, 2026
8824a84
Merge pull request #1443 from Koshkoshinsk/fix/diagnostics-read-direc…
gavrielc Mar 25, 2026
ff4075d
Merge branch 'main' into upstream/fix-register-claude-md
gavrielc Mar 25, 2026
17c63b9
Merge pull request #756 from glifocat/upstream/fix-register-claude-md
gavrielc Mar 25, 2026
115b0a3
Merge branch 'main' into fix/ipc-register-group-claude-md
gavrielc Mar 25, 2026
7240496
Merge pull request #1429 from ingyukoh/fix/ipc-register-group-claude-md
gavrielc Mar 25, 2026
fd44468
chore: bump version to 1.2.30
github-actions[bot] Mar 25, 2026
89681a6
Merge branch 'main' into fix/ismain-template-selection
gavrielc Mar 25, 2026
b8f6a9b
docs: update token count to 41.2k tokens · 21% of context window
github-actions[bot] Mar 25, 2026
2893793
Merge branch 'main' into fix/ismain-template-selection
gavrielc Mar 25, 2026
36a8ec6
Merge pull request #1444 from qwibitai/fix/ismain-template-selection
gavrielc Mar 25, 2026
6d4f972
chore: bump version to 1.2.31
github-actions[bot] Mar 25, 2026
b714149
Merge branch 'main' into docs/update-upstream-docs
gavrielc Mar 25, 2026
22c1186
Merge pull request #1388 from glifocat/docs/update-upstream-docs
gavrielc Mar 25, 2026
7bba21a
feat(skill): add channel-formatting skill
gavrielc Mar 25, 2026
b2fa85b
feat(skill): add channel-formatting skill (#1448)
gavrielc Mar 25, 2026
608f935
Merge branch 'main' into fix/whatsapp-phone-prompt-example
gavrielc Mar 25, 2026
e9e6d98
Merge pull request #1426 from ingyukoh/fix/whatsapp-phone-prompt-example
gavrielc Mar 25, 2026
1f36232
docs: add flobo3 to contributors
flobo3 Mar 25, 2026
5954dfb
Merge pull request #1423 from flobo3/fix/telegram-topics
gavrielc Mar 25, 2026
77b7c65
Merge branch 'main' into fix/enable-linger-clean
gavrielc Mar 25, 2026
8b6e9d6
Merge pull request #1418 from IYENTeam/fix/enable-linger-clean
gavrielc Mar 25, 2026
23e9e1c
Merge branch 'main' into codex/fix-issue-1141-per-group-trigger
gavrielc Mar 25, 2026
aae173d
Merge pull request #1402 from mrbob-git/codex/fix-issue-1141-per-grou…
gavrielc Mar 25, 2026
3a26f69
chore: bump version to 1.2.32
github-actions[bot] Mar 25, 2026
3699363
Merge branch 'main' into fix/claw-mounts
gavrielc Mar 25, 2026
255e139
Merge pull request #1384 from kenbolton/fix/claw-mounts
gavrielc Mar 25, 2026
7bfd060
chore: bump version to 1.2.33
github-actions[bot] Mar 25, 2026
deb5389
fix(skill/channel-formatting): correct Telegram link behaviour in SKI…
Mar 25, 2026
5f38597
Merge branch 'main' into fix/setup-preserve-mount-allowlist
gavrielc Mar 25, 2026
b16fe4d
Merge pull request #1378 from akasha-scheuermann/fix/setup-preserve-m…
gavrielc Mar 25, 2026
68c59a1
feat(skill): add Emacs channel skill
gavrielc Mar 25, 2026
ab9613a
Merge branch 'main' into fix/ci-fork-guards
gavrielc Mar 25, 2026
271acf9
Merge pull request #1375 from kenbolton/feature/emacs-channel
gavrielc Mar 25, 2026
f7979bf
Merge pull request #1370 from shawnyeager/fix/ci-fork-guards
gavrielc Mar 25, 2026
c16d70c
Merge branch 'main' into fix/1272-telegram-dm-backfill
gavrielc Mar 25, 2026
2483cb3
Merge pull request #1367 from RichardCao/fix/1272-telegram-dm-backfill
gavrielc Mar 25, 2026
125757b
chore: bump version to 1.2.34
github-actions[bot] Mar 25, 2026
2cddefb
docs: update token count to 41.3k tokens · 21% of context window
github-actions[bot] Mar 25, 2026
2c44708
chore: add edwinwzhe to contributors
gavrielc Mar 25, 2026
9413ace
chore: add edwinwzhe and scottgl9 to contributors
gavrielc Mar 25, 2026
349b54a
fix(add-statusbar): derive log path from binary location, fix SKILL.md
gavrielc Mar 25, 2026
e4f15b6
rename skill to add-macos-statusbar
gavrielc Mar 25, 2026
87c3640
Merge pull request #1346 from tomermesser/status-bar
gavrielc Mar 25, 2026
54a8648
feat: add model management tools to add-ollama-tool skill
bitcryptic-gw Mar 26, 2026
4c6d924
docs: update README and security docs to reflect OneCLI Agent Vault a…
gavrielc Mar 26, 2026
8b53a95
feat: add /init-onecli skill for OneCLI Agent Vault setup and credent…
gavrielc Mar 26, 2026
d398ba5
feat(init-onecli): offer to migrate non-Anthropic .env credentials to…
gavrielc Mar 26, 2026
a417465
fix(init-onecli): only offer to migrate container-facing credentials
gavrielc Mar 26, 2026
d25b79a
docs: add auth credentials guidance to main group CLAUDE.md
Mar 26, 2026
813e1c6
fix: improve task scripts agent instructions
Mar 25, 2026
a29ca08
fix: rewrite task scripts intro for broader use cases and clarity
Mar 26, 2026
eda14f4
fix: include script field in task snapshot for current_tasks.json
Mar 26, 2026
4588579
Merge branch 'main' into docs/auth-credentials-guidance
Koshkoshinsk Mar 26, 2026
637545d
Merge pull request #1468 from Koshkoshinsk/docs/auth-credentials-guid…
gavrielc Mar 26, 2026
730ea0d
fix: refine task scripts intro wording
Mar 26, 2026
722c8ee
Merge branch 'main' into fix/task-scripts-instructions-clean
Koshkoshinsk Mar 26, 2026
1f5cc76
Merge pull request #1453 from qwibitai/fix/task-scripts-instructions-…
gavrielc Mar 26, 2026
4383e3e
chore: bump version to 1.2.35
github-actions[bot] Mar 26, 2026
a4fd4f2
fix(security): prevent command injection in stopContainer and mount p…
Mar 26, 2026
0f01fe2
fix(env): prevent crash on single-character .env values
Mar 26, 2026
f537597
Preserve isMain on IPC updates
snw35 Mar 26, 2026
3332da0
Merge branch 'main' into fix/text-styles
gavrielc Mar 27, 2026
a4591ab
Merge pull request #1449 from kenbolton/fix/text-styles
gavrielc Mar 27, 2026
8f01a9a
chore: remove unused dependencies (yaml, zod, @vitest/coverage-v8)
gavrielc Mar 27, 2026
2f472a8
feat: add opt-in model management tools to ollama skill setup
gavrielc Mar 27, 2026
7b22e23
chore: replace pino/pino-pretty with built-in logger
gavrielc Mar 27, 2026
7e7492e
style: apply prettier formatting to logger
gavrielc Mar 27, 2026
62fc8c7
chore: bump version to 1.2.36
github-actions[bot] Mar 27, 2026
f900670
docs: update token count to 42.0k tokens · 21% of context window
github-actions[bot] Mar 27, 2026
8935e4f
docs: add k8s image GC known issue to debug checklist
Jimbo1167 Mar 27, 2026
e606eac
Merge branch 'main' into docs/k8s-image-gc-known-issue
gavrielc Mar 27, 2026
5b7b086
Merge pull request #1484 from Jimbo1167/docs/k8s-image-gc-known-issue
gavrielc Mar 27, 2026
e9e9e05
Merge branch 'main' into ipc-fix
gavrielc Mar 27, 2026
f138f25
Merge branch 'main' into fix/env-parser-single-char
gavrielc Mar 27, 2026
c923f07
Merge pull request #1476 from foxsky/fix/env-parser-single-char
gavrielc Mar 27, 2026
8776505
chore: bump version to 1.2.37
github-actions[bot] Mar 27, 2026
fee05f7
Merge branch 'main' into ipc-fix
gavrielc Mar 27, 2026
415a1cf
Merge pull request #1477 from snw35/ipc-fix
gavrielc Mar 27, 2026
6e602a1
chore: bump version to 1.2.38
github-actions[bot] Mar 27, 2026
bd94c81
Merge branch 'main' into fix/security-stopcontainer-mount
gavrielc Mar 27, 2026
017a72d
Merge pull request #1475 from foxsky/fix/security-stopcontainer-mount
gavrielc Mar 27, 2026
842ec5f
chore: bump version to 1.2.39
github-actions[bot] Mar 27, 2026
2faf1c6
docs: update token count to 42.1k tokens · 21% of context window
github-actions[bot] Mar 27, 2026
c98205c
fix: prevent full message history from being sent to container agents
Mar 27, 2026
e73bf2f
Merge branch 'main' into fix/message-history-overflow
gavrielc Mar 27, 2026
c5e0001
Merge pull request #1497 from qwibitai/fix/message-history-overflow
gavrielc Mar 27, 2026
e6e0c6f
chore: bump version to 1.2.40
github-actions[bot] Mar 27, 2026
fa4ace4
docs: update token count to 42.4k tokens · 21% of context window
github-actions[bot] Mar 27, 2026
4f1b09f
fix: migrate x-integration host.ts from pino to built-in logger
gavrielc Mar 27, 2026
acb0aba
fix: broken tests and stale .env.example
gavrielc Mar 27, 2026
c3e9a89
chore: bump version to 1.2.41
github-actions[bot] Mar 27, 2026
fff37d5
fix: setup skill routes credential system by container runtime
gavrielc Mar 28, 2026
90af26a
chore: remove claw skill test
gavrielc Mar 28, 2026
37aee02
chore: bump version to 1.2.42
github-actions[bot] Mar 28, 2026
8bb8e03
docs: add branch and fork maintenance guidelines
gavrielc Mar 28, 2026
8c4ab36
docs: update fork maintenance guide with merge learnings
gavrielc Mar 28, 2026
3ab833b
docs: note that workflow removal recurs on every forward merge
gavrielc Mar 28, 2026
a3fb3be
docs: warn about silently wrong auto-merges in maintenance guide
gavrielc Mar 28, 2026
2983946
fix: setup skill skips /use-native-credential-proxy for apple container
gavrielc Mar 28, 2026
474346e
fix: recover from stale Claude Code session IDs instead of retrying i…
bitcryptic-gw Mar 30, 2026
3098f28
Merge branch 'main' into fix/stale-session-recovery
gavrielc Mar 30, 2026
38009be
fix: auto-recover from stale Claude Code session on exit code 1
bitcryptic-gw Mar 30, 2026
d675859
fix: Fix npm audit errors
huahang Mar 30, 2026
9d97f79
Merge pull request #1552 from huahang/fix-npm-audit
gavrielc Mar 30, 2026
001ee6e
fix: correct stale session regex and remove duplicate retry logic
gavrielc Mar 30, 2026
59c09ef
Merge branch 'main' into fix/stale-session-recovery
gavrielc Mar 30, 2026
a86641f
Merge pull request #1546 from bitcryptic-gw/fix/stale-session-recovery
gavrielc Mar 30, 2026
78bfb8d
chore: bump version to 1.2.43
github-actions[bot] Mar 30, 2026
4c8b9cd
docs: update token count to 42.6k tokens · 21% of context window
github-actions[bot] Mar 30, 2026
468c617
style: run prettier and eslint on src/
gavrielc Apr 1, 2026
7b0d79a
chore: bump version to 1.2.44
github-actions[bot] Apr 1, 2026
87e8914
style: run prettier on container/agent-runner/src/
gavrielc Apr 1, 2026
4c7bc80
chore: bump version to 1.2.45
github-actions[bot] Apr 1, 2026
51f50bb
docs: update token count to 43.0k tokens · 22% of context window
github-actions[bot] Apr 1, 2026
22f5d55
Add Contributor Covenant Code of Conduct
glifocat Apr 2, 2026
3e28959
Merge pull request #1595 from glifocat/patch-1
gavrielc Apr 2, 2026
7b337a7
docs: add Telegram channel contributors
Apr 2, 2026
ee599b9
feat: add reply/quoted message context support
Apr 2, 2026
6e0653f
chore: bump version to 1.2.46
github-actions[bot] Apr 2, 2026
f23a54a
docs: update token count to 43.3k tokens · 22% of context window
github-actions[bot] Apr 2, 2026
6f93b20
fix: relax breaking change detection to match [BREAKING] anywhere in …
gavrielc Apr 3, 2026
bf11109
docs: update breaking changes and Apple Container skill security
gavrielc Apr 3, 2026
5841141
Merge pull request #1610 from qwibitai/fix/changelog-breaking-changes
gavrielc Apr 3, 2026
e9db4d4
Update SKILL.md
gavrielc Apr 3, 2026
032ba77
feat: mount store rw for main agent and add requiresTrigger to regist…
gavrielc Apr 3, 2026
8f28cde
chore: bump version to 1.2.47
github-actions[bot] Apr 3, 2026
3608f05
docs: update token count to 43.4k tokens · 22% of context window
github-actions[bot] Apr 3, 2026
f60bb3c
feat: add /migrate-nanoclaw skill for intent-based upgrades
gavrielc Apr 3, 2026
7ef1c4f
fix: apply lessons from real-world migration test run
gavrielc Apr 3, 2026
426ae02
feat: add diagnostics telemetry to migrate-nanoclaw skill
gavrielc Apr 4, 2026
b2a5a58
feat: add /migrate-from-openclaw skill for guided OpenClaw migration
gavrielc Apr 4, 2026
db3440f
feat: upgrade agent SDK to 0.2.92 with 1M context and 200k auto-compact
gavrielc Apr 4, 2026
8a02170
chore: bump version to 1.2.48
github-actions[bot] Apr 4, 2026
9019e4e
docs: update token count to 43.5k tokens · 22% of context window
github-actions[bot] Apr 4, 2026
67020f9
feat: auto-prune stale session artifacts on startup + daily
gavrielc Apr 4, 2026
d4a6b4a
fix: portable stat and subshell variable mutation in cleanup script
gavrielc Apr 4, 2026
a74be06
Merge pull request #1632 from qwibitai/feat/session-cleanup-pr
gavrielc Apr 4, 2026
b752e5c
chore: bump version to 1.2.49
github-actions[bot] Apr 4, 2026
cbb4da1
docs: update token count to 43.7k tokens · 22% of context window
github-actions[bot] Apr 4, 2026
761d3a1
feat: add migrated_from_openclaw field to setup diagnostics
gavrielc Apr 4, 2026
c5cb97b
Merge pull request #1633 from qwibitai/skill/migrate-from-openclaw
gavrielc Apr 4, 2026
3703c9d
feat: suggest /migrate-nanoclaw when user is far behind upstream
gavrielc Apr 4, 2026
391b729
Merge pull request #1634 from qwibitai/skill/migrate-nanoclaw
gavrielc Apr 4, 2026
22ab96c
fix: correct global memory path in container CLAUDE.md
sargunv Apr 5, 2026
1488c5b
fix: add writable global memory mount for main agent
sargunv Apr 5, 2026
36943fb
feat: add /add-wiki skill for persistent LLM Wiki knowledge bases
gavrielc Apr 5, 2026
54bf454
refactor: rework wiki skill to use Karpathy's original text as reference
gavrielc Apr 5, 2026
f69979f
fix: simplify source handling step and fix typo in wiki skill
gavrielc Apr 5, 2026
33b5627
chore: rename skill to add-karpathy-llm-wiki
gavrielc Apr 5, 2026
15e356a
chore: revert unrelated db.ts formatting change
gavrielc Apr 5, 2026
0c67fbf
Merge branch 'main' into skill/wiki
gavrielc Apr 5, 2026
27f9f0c
Merge pull request #1649 from qwibitai/skill/wiki
gavrielc Apr 5, 2026
f77f9ce
feat: set auto-compact threshold to 165k tokens
gavrielc Apr 5, 2026
75c2e18
chore: bump version to 1.2.50
github-actions[bot] Apr 5, 2026
1d5c38d
fix: three issues in karpathy wiki skill
gavrielc Apr 5, 2026
5adc949
Update SKILL.md to use ONECLI_URL variable
guyb1 Apr 5, 2026
4fd7586
update init-onecli
guyb1 Apr 5, 2026
0918f78
fix
guyb1 Apr 5, 2026
19ce90c
fix
guyb1 Apr 5, 2026
3381509
Merge pull request #1658 from guyb1/patch-1
gavrielc Apr 5, 2026
653390d
chore: bump version to 1.2.51
github-actions[bot] Apr 5, 2026
5702760
Merge pull request #1644 from sargunv/fix/global-memory-path
gavrielc Apr 5, 2026
b8cf308
chore: bump version to 1.2.52
github-actions[bot] Apr 5, 2026
6c289c3
chore: add .npmrc with 7-day minimum release age
gavrielc Apr 5, 2026
ca9333d
improve diagnostics
gavrielc Apr 5, 2026
22d7856
reduce setup friction
gavrielc Apr 5, 2026
751a9ed
fix(gmail): add OneCLI credential mode detection
johnnyfish Apr 5, 2026
32a487b
Merge pull request #1660 from johnnyfish/fix/gmail-onecli-credential-…
gavrielc Apr 6, 2026
934f063
update deps
gavrielc Apr 7, 2026
e264a25
chore: merge upstream NanoClaw updates 2026-04-15
claude Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
{}
{
"sandbox": {
"network": {
"allowedDomains": [
"npm.registry.com",
"us.i.posthog.com"
]
}
}
}
289 changes: 289 additions & 0 deletions .claude/skills/add-emacs/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,289 @@
---
name: add-emacs
description: Add Emacs as a channel. Opens an interactive chat buffer and org-mode integration so you can talk to NanoClaw from within Emacs (Doom, Spacemacs, or vanilla). Uses a local HTTP bridge — no bot token or external service needed.
---

# Add Emacs Channel

This skill adds Emacs support to NanoClaw, then walks through interactive setup.
Works with Doom Emacs, Spacemacs, and vanilla Emacs 27.1+.

## What you can do with this

- **Ask while coding** — open the chat buffer (`C-c n c` / `SPC N c`), ask about a function or error without leaving Emacs
- **Code review** — select a region and send it with `nanoclaw-org-send`; the response appears as a child heading inline in your org file
- **Meeting notes** — send an org agenda entry; get a summary or action item list back as a child node
- **Draft writing** — send org prose; receive revisions or continuations in place
- **Research capture** — ask a question directly in your org notes; the answer lands exactly where you need it
- **Schedule tasks** — ask Andy to set a reminder or create a scheduled NanoClaw task (e.g. "remind me tomorrow to review the PR")

## Phase 1: Pre-flight

### Check if already applied

Check if `src/channels/emacs.ts` exists:

```bash
test -f src/channels/emacs.ts && echo "already applied" || echo "not applied"
```

If it exists, skip to Phase 3 (Setup). The code changes are already in place.

## Phase 2: Apply Code Changes

### Ensure the upstream remote

```bash
git remote -v
```

If an `upstream` remote pointing to `https://github.com/qwibitai/nanoclaw.git` is missing,
add it:

```bash
git remote add upstream https://github.com/qwibitai/nanoclaw.git
```

### Merge the skill branch

```bash
git fetch upstream skill/emacs
git merge upstream/skill/emacs
```

If there are merge conflicts on `package-lock.json`, resolve them by accepting the incoming
version and continuing:

```bash
git checkout --theirs package-lock.json
git add package-lock.json
git merge --continue
```

For any other conflict, read the conflicted file and reconcile both sides manually.

This adds:
- `src/channels/emacs.ts` — `EmacsBridgeChannel` HTTP server (port 8766)
- `src/channels/emacs.test.ts` — unit tests
- `emacs/nanoclaw.el` — Emacs Lisp package (`nanoclaw-chat`, `nanoclaw-org-send`)
- `import './emacs.js'` appended to `src/channels/index.ts`

If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.

### Validate code changes

```bash
npm run build
npx vitest run src/channels/emacs.test.ts
```

Build must be clean and tests must pass before proceeding.

## Phase 3: Setup

### Configure environment (optional)

The channel works out of the box with defaults. Add to `.env` only if you need non-defaults:

```bash
EMACS_CHANNEL_PORT=8766 # default — change if 8766 is already in use
EMACS_AUTH_TOKEN=<random> # optional — locks the endpoint to Emacs only
```

If you change or add values, sync to the container environment:

```bash
mkdir -p data/env && cp .env data/env/env
```

### Configure Emacs

The `nanoclaw.el` package requires only Emacs 27.1+ built-in libraries (`url`, `json`, `org`) — no package manager setup needed.

AskUserQuestion: Which Emacs distribution are you using?
- **Doom Emacs** - config.el with map! keybindings
- **Spacemacs** - dotspacemacs/user-config in ~/.spacemacs
- **Vanilla Emacs / other** - init.el with global-set-key

**Doom Emacs** — add to `~/.config/doom/config.el` (or `~/.doom.d/config.el`):

```elisp
;; NanoClaw — personal AI assistant channel
(load (expand-file-name "~/src/nanoclaw/emacs/nanoclaw.el"))

(map! :leader
:prefix ("N" . "NanoClaw")
:desc "Chat buffer" "c" #'nanoclaw-chat
:desc "Send org" "o" #'nanoclaw-org-send)
```

Then reload: `M-x doom/reload`

**Spacemacs** — add to `dotspacemacs/user-config` in `~/.spacemacs`:

```elisp
;; NanoClaw — personal AI assistant channel
(load-file "~/src/nanoclaw/emacs/nanoclaw.el")

(spacemacs/set-leader-keys "aNc" #'nanoclaw-chat)
(spacemacs/set-leader-keys "aNo" #'nanoclaw-org-send)
```

Then reload: `M-x dotspacemacs/sync-configuration-layers` or restart Emacs.

**Vanilla Emacs** — add to `~/.emacs.d/init.el` (or `~/.emacs`):

```elisp
;; NanoClaw — personal AI assistant channel
(load-file "~/src/nanoclaw/emacs/nanoclaw.el")

(global-set-key (kbd "C-c n c") #'nanoclaw-chat)
(global-set-key (kbd "C-c n o") #'nanoclaw-org-send)
```

Then reload: `M-x eval-buffer` or restart Emacs.

If `EMACS_AUTH_TOKEN` was set, also add (any distribution):

```elisp
(setq nanoclaw-auth-token "<your-token>")
```

If `EMACS_CHANNEL_PORT` was changed from the default, also add:

```elisp
(setq nanoclaw-port <your-port>)
```

### Restart NanoClaw

```bash
npm run build
launchctl kickstart -k gui/$(id -u)/com.nanoclaw # macOS
# Linux: systemctl --user restart nanoclaw
```

## Phase 4: Verify

### Test the HTTP endpoint

```bash
curl -s "http://localhost:8766/api/messages?since=0"
```

Expected: `{"messages":[]}`

If you set `EMACS_AUTH_TOKEN`:

```bash
curl -s -H "Authorization: Bearer <token>" "http://localhost:8766/api/messages?since=0"
```

### Test from Emacs

Tell the user:

> 1. Open the chat buffer with your keybinding (`SPC N c`, `SPC a N c`, or `C-c n c`)
> 2. Type a message and press `RET`
> 3. A response from Andy should appear within a few seconds
>
> For org-mode: open any `.org` file, position the cursor on a heading, and use `SPC N o` / `SPC a N o` / `C-c n o`

### Check logs if needed

```bash
tail -f logs/nanoclaw.log
```

Look for `Emacs channel listening` at startup and `Emacs message received` when a message is sent.

## Troubleshooting

### Port already in use

```
Error: listen EADDRINUSE: address already in use :::8766
```

Either a stale NanoClaw process is running, or 8766 is taken by another app.

Find and kill the stale process:

```bash
lsof -ti :8766 | xargs kill -9
```

Or change the port in `.env` (`EMACS_CHANNEL_PORT=8767`) and update `nanoclaw-port` in Emacs config.

### No response from agent

Check:
1. NanoClaw is running: `launchctl list | grep nanoclaw` (macOS) or `systemctl --user status nanoclaw` (Linux)
2. Emacs group is registered: `sqlite3 store/messages.db "SELECT * FROM registered_groups WHERE jid = 'emacs:default'"`
3. Logs show activity: `tail -50 logs/nanoclaw.log`

If the group is not registered, it will be created automatically on the next NanoClaw restart.

### Auth token mismatch (401 Unauthorized)

Verify the token in Emacs matches `.env`:

```elisp
;; M-x describe-variable RET nanoclaw-auth-token RET
```

Must exactly match `EMACS_AUTH_TOKEN` in `.env`.

### nanoclaw.el not loading

Check the path is correct:

```bash
ls ~/src/nanoclaw/emacs/nanoclaw.el
```

If NanoClaw is cloned elsewhere, update the `load`/`load-file` path in your Emacs config.

## After Setup

If running `npm run dev` while the service is active:

```bash
# macOS:
launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist
npm run dev
# When done testing:
launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist

# Linux:
# systemctl --user stop nanoclaw
# npm run dev
# systemctl --user start nanoclaw
```

## Agent Formatting

The Emacs bridge converts markdown → org-mode automatically. Agents should
output standard markdown — **not** org-mode syntax. The conversion handles:

| Markdown | Org-mode |
|----------|----------|
| `**bold**` | `*bold*` |
| `*italic*` | `/italic/` |
| `~~text~~` | `+text+` |
| `` `code` `` | `~code~` |
| ` ```lang ` | `#+begin_src lang` |

If an agent outputs org-mode directly, bold/italic/etc. will be double-converted
and render incorrectly.

## Removal

To remove the Emacs channel:

1. Delete `src/channels/emacs.ts`, `src/channels/emacs.test.ts`, and `emacs/nanoclaw.el`
2. Remove `import './emacs.js'` from `src/channels/index.ts`
3. Remove the NanoClaw block from your Emacs config file
4. Remove Emacs registration from SQLite: `sqlite3 store/messages.db "DELETE FROM registered_groups WHERE jid = 'emacs:default'"`
5. Remove `EMACS_CHANNEL_PORT` and `EMACS_AUTH_TOKEN` from `.env` if set
6. Rebuild: `npm run build && launchctl kickstart -k gui/$(id -u)/com.nanoclaw` (macOS) or `npm run build && systemctl --user restart nanoclaw` (Linux)
20 changes: 18 additions & 2 deletions .claude/skills/add-gmail/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,27 @@ All tests must pass (including the new Gmail tests) and build must be clean befo
ls -la ~/.gmail-mcp/ 2>/dev/null || echo "No Gmail config found"
```

If `credentials.json` already exists, skip to "Build and restart" below.
If `credentials.json` already exists with real tokens (not `onecli-managed` values), skip to "Build and restart" below.

### GCP Project Setup

Tell the user:
Check if OneCLI is configured:

```bash
grep -q 'ONECLI_URL=.' .env 2>/dev/null && echo "onecli" || echo "manual"
```

**If OneCLI:** Tell the user to open `${ONECLI_URL}/connections?connect=gmail` to set up their Gmail connection. The dashboard walks them through creating a Google Cloud OAuth app and authorizing it. Ask them to let you know when done.

Once the user confirms, run:

```bash
onecli apps get --provider gmail
```

Check that `config.hasCredentials` is `true` or `connection` is not null. The response `hint` field has instructions and a docs URL for what stub credential files to create under `~/.gmail-mcp/`. Follow the hint — never overwrite existing files that don't contain `onecli-managed` values.

**If manual:** Tell the user:

> I need you to set up Google Cloud OAuth credentials:
>
Expand Down
Loading
Loading