clisbot 0.1.46-beta.1 → 0.1.51

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/README.md CHANGED
@@ -1,3 +1,28 @@
1
+ <p align="center">
2
+ <img src="docs/brand/x-profile-banner-2026-04-29/images/clisbot-x-banner-v5-frontier-tagline-1500x500.png" alt="clisbot banner" width="100%" />
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="./README.md">English</a> |
7
+ <a href="./docs/langs/root/README.vi.md">Tiếng Việt</a> |
8
+ <a href="./docs/langs/root/README.zh-CN.md">简体中文</a> |
9
+ <a href="./docs/langs/root/README.ko.md">한국어</a>
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="https://www.npmjs.com/package/clisbot"><img src="https://img.shields.io/npm/v/clisbot?label=npm&color=cb3837" alt="npm version" /></a>
14
+ <a href="https://www.npmjs.com/package/clisbot"><img src="https://img.shields.io/npm/dm/clisbot?label=downloads&color=22c55e" alt="npm downloads per month" /></a>
15
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-d4a017" alt="MIT license" /></a>
16
+ <img src="https://img.shields.io/badge/CLI-Codex%20%7C%20Claude%20%7C%20Gemini-111827" alt="supported cli tools" />
17
+ <img src="https://img.shields.io/badge/Channels-Slack%20%7C%20Telegram-0a66c2" alt="supported channels" />
18
+ <img src="https://img.shields.io/badge/Runtime-tmux%20backed-16a34a" alt="tmux backed runtime" />
19
+ <img src="https://img.shields.io/badge/Workflow-AI--native-f59e0b" alt="AI-native workflow" />
20
+ </p>
21
+
22
+ <p align="center">
23
+ Follow product updates on <a href="https://x.com/clisbot">x.com/clisbot</a>.
24
+ </p>
25
+
1
26
  # clisbot - Turn your favorite coding CLI into an agentic personal assistant, workplace assistant, coding partner - on the go
2
27
  Want to use OpenClaw but are struggling because:
3
28
 
@@ -13,6 +38,40 @@ It is not just a tmux bridge with chat glued on top. `clisbot` treats Slack and
13
38
 
14
39
  `clisbot` is also meant to grow into a reusable agent runtime layer that can support many CLI tools, many channels, and many workflow shapes on top of the same durable agent session.
15
40
 
41
+ ## Start Here By Goal
42
+
43
+ ### I Want A Personal Coding Bot In Telegram Or Slack
44
+
45
+ - start with the [Quick Start](#quick-start)
46
+ - best fit when you want Codex, Claude, or Gemini available from chat without
47
+ giving up a real workspace
48
+ - current release value: a much more AI-native control path, where the bot can
49
+ increasingly set up `/queue`, loops, schedules, and other recurring work for
50
+ you from normal chat instead of forcing you to memorize command syntax first
51
+
52
+ ### I Want A Shared Team Bot
53
+
54
+ - start with [Quick Start](#quick-start), then read [Surface Access Model](#surface-access-model)
55
+ - best fit when you need one bot in a real Slack channel, Telegram group, or
56
+ Telegram topic with explicit route and sender control
57
+ - current release value: safer shared-surface policy, tighter topic or thread
58
+ isolation, per-group sender control, and permission boundaries that let one
59
+ bot live in a team group without opening it to everyone there
60
+
61
+ ### I Need Operator Control And Debugging
62
+
63
+ - start with [Common CLI commands](#common-cli-commands)
64
+ - most useful surfaces: `clisbot status`, `clisbot logs`,
65
+ `clisbot watch --latest`, `clisbot inspect --latest`, and `clisbot queues`
66
+ - current release value: more truthful `sessionId`, lighter runner inventory,
67
+ and less confusing restart behavior during updates
68
+
69
+ ### I Just Want To Know What Changed Recently
70
+
71
+ - start with [Recent Release Highlights](#recent-release-highlights)
72
+ - then read [v0.1.51 Release Notes](docs/releases/v0.1.51.md) or the
73
+ [v0.1.51 Release Guide](docs/updates/releases/v0.1.51-release-guide.md)
74
+
16
75
  ## Why I Built This
17
76
 
18
77
  I’m Long Luong (Long), Co-founder & CTO of Vexere, Vietnam’s #1 transportation booking platform, where we also build SaaS and inventory distribution infrastructure for transportation operators. As we scale a 300-person company with a 100-member Engineering, Product, and Design team, I’ve been searching for the most practical way to roll out AI-native workflows across the organization.
@@ -28,17 +87,20 @@ The challenge is not whether AI is useful. It is how to make it work at enterpri
28
87
  - Learns from and integrates the two biggest strengths that made OpenClaw popular: memory and native channel integration with deep, channel-specific conversation and presentation capabilities.
29
88
  - Not just a tmux bridge. Slack and Telegram are treated as real channel surfaces with routing, thread or topic continuity, pairing, follow-up control, and attachment-aware interaction instead of plain text passthrough so you can work from your laptop or on the go without giving up a real coding workspace.
30
89
  - Team-first by design, with `AGENTS`, `USER`, and `MEMORY` context bootstrapping shaped for shared team reality instead of only personal solo-assistant flows.
31
- - Useful for coding, operations, teamwork, and general assistant work, with fast chat controls such as `!<command>` and `/bash <command>` for terminal-like control, `/loop` to bring loop-style automation beyond Claude, `/queue` to add follow-up prompts in the same session without interrupting the current run, `/streaming on` to view real-time processing progress for coding tasks, and `/mention`, `/mention channel`, or `/mention all` to tighten follow-up policy at conversation, route, or bot scope.
90
+ - Shared-surface permission control is a first-class feature: a bot can be in a team group but still answer only the specific people you allow there, while sensitive control actions stay behind explicit auth roles and permissions.
91
+ - Useful for coding, operations, teamwork, and general assistant work, with fast chat controls such as `!<command>`, `/bash <command>`, `/queue`, `/loop`, `/streaming`, and `/mention`.
92
+ - New in the `v0.1.50` to `v0.1.51` stable line: the AI-native control experience is much better, and `v0.1.51` also stretches the default runner startup window to 60 seconds so slower Codex, Claude, and Gemini launches do not time out so early.
32
93
 
33
- ## What to expect
94
+ ## Who This Fits Best
34
95
 
35
- - You can get the first Telegram bot or Slack bot running in one command.
36
- - The first-run path creates one default agent and only enables the channels you explicitly name.
37
- - DMs start with pairing so access stays explicit.
38
- - `--persist` lets later restarts use plain `clisbot start`.
39
- - Streaming is disabled by default. If you want real-time coding progress in chat, turn it on from the chat surface with `/streaming on`, and turn it off any time with `/streaming off`.
40
- - Slack and Telegram are not treated as plain-text sinks: routed conversations can carry thread or topic identity, pairing, and file-aware workflows.
41
- - Advanced multi-agent setup is available later, but it is not required for day one.
96
+ - Anyone who wants a high-agency personal assistant with OpenClaw-style memory,
97
+ workspace context, and a skill-oriented operating model that can do far more
98
+ than a thin chat wrapper.
99
+ - Solo builders who want a real coding assistant in Telegram or Slack, backed
100
+ by Codex, Claude, or Gemini, without rebuilding their workflow around a new
101
+ web product.
102
+ - Team leads who want one shared bot with explicit group or topic safety,
103
+ durable context, and attachment-aware chat workflows.
42
104
 
43
105
  ## Surface Access Model
44
106
 
@@ -114,23 +176,44 @@ clisbot start \
114
176
  ```
115
177
 
116
178
  If you want to try first without persisting the token yet, just remove `--persist`.
179
+ Day-to-day rescue commands are `clisbot stop`, `clisbot restart`,
180
+ `clisbot status`, and `clisbot logs`.
117
181
 
118
182
  Next steps:
119
183
 
120
184
  - For security, DMs default to pairing.
121
- - Existing configs from any version before `0.1.45` update directly to `0.1.45` automatically on first run. clisbot writes a backup first under `~/.clisbot/backups/`, then rewrites the config to the current shape.
185
+ - `clisbot` also has a smart autopairing path to reduce first-run friction. If
186
+ you send the bot a DM within the first 30 minutes, you can usually claim the
187
+ owner role immediately and start using it without a separate pairing round.
188
+ - New from the current `v0.1.50` to `v0.1.51` stable line: the AI-native operator experience is much stronger. You
189
+ can increasingly ask the bot through chat to explain how to use it, update
190
+ itself and summarize what's new, help onboard you, create or add a new bot or
191
+ agent, or set up loops and schedules for recurring work instead of relying
192
+ only on slash commands.
193
+ - Existing configs from any version before `0.1.50` still update directly on first run when you install `v0.1.51`. clisbot writes a backup first under `~/.clisbot/backups/`, then rewrites the config to the current `0.1.50` schema shape.
122
194
  - Shared Slack channels, Slack groups, Telegram groups, and Telegram topics are a separate gate: normal users need an explicit route such as `group:<id>` or `topic:<chatId>:<topicId>` before the bot will talk there. Legacy Slack `channel:<id>` input still works for compatibility.
123
195
  - After a shared surface is admitted, per-surface sender control comes from the bot's default shared rule `groups["*"]` plus any route-local `allowUsers` or `blockUsers`.
196
+ - With that permission model, a bot can be added to a team group but still be
197
+ allowed to answer only some people in that group.
124
198
  - If the effective shared policy is `disabled`, the bot stays silent there for everyone, including owner/admin.
125
199
  - If the effective shared policy is `allowlist` and a sender is not allowed, the bot denies before the runner:
126
200
  - `You are not allowed to use this bot in this group. Ask a bot owner or admin to add you to \`allowUsers\` for this surface.`
127
- - However, `clisbot` has smart autopairing feature to help you get started frictionless. Just send direct message to your bot (through telegram or slack) within 30 minutes so you can claim owner role automatically, and use the bot right away without pairing. After this 30 minutes window you need to approve pairing following instructions by the bot in direct message.
128
201
  - To chat with the bot in a group:
129
- - telegram: Add bot to group, then use slash command in that group /start, you will be guided with command to add a group. Run that command directly or copy that command and chat directly with the bot in DM to ask it do for you (since you are the owner, you are authorized to run that command). After completed, come back to the group and start talk with the bot.
130
- - Notice that group has require mention (or tag the bot) enabled by default to avoid abuse. But it also has smart follow up within 5 minutes by default so you dont need to tag it again. You could change the mode by asking the bot to do for you.
202
+ - telegram: Add the bot to the group, then use `/start` there. It will guide
203
+ you toward the route you need to add. You can run that command directly or
204
+ copy it into a DM with the bot and ask it to do the setup for you if you
205
+ are already authorized.
206
+ - slack: similar flow, but Slack-native slash command handling is awkward.
207
+ Use a leading space such as ` /start`, or use the alias `\start`. The same
208
+ workaround applies to other slash commands such as ` /streaming on` or
209
+ `\mention`.
210
+ - group conversations require a mention by default to avoid abuse, but smart
211
+ follow-up stays open for a short window so you do not need to tag the bot
212
+ again on every reply. You can also ask the bot to change that mode for you.
131
213
  - If you want stricter mention behavior, use `/mention` for this conversation only, `/mention channel` for the current channel or group default, or `/mention all` for the current bot default.
132
- - For long running task such as coding, you might want to toggle streaming mode on with slash command inside the chat "/streaming on", check streaming status anytime with "/streaming status". In slack, native slash command is unconventional so you can get around to use slash command with a space prefix such as " /streaming on", or use alias "\streaming on". This is also true for any other slash command supported by `clisbot`.
133
- - slack:
214
+ - For long running tasks such as coding, turn streaming on with `/streaming on`
215
+ and check it with `/streaming status`. In Slack, use a leading space such
216
+ as ` /streaming on` or the alias `\streaming on`.
134
217
  - If you want to add more owner or app admin, grant that principal explicitly with the platform prefix plus the channel-native user id, for example `clisbot auth add-user app --role owner --user telegram:1276408333` or `clisbot auth add-user app --role admin --user slack:U123ABC456`.
135
218
  - `clisbot auth --help` now covers role scopes, permission sets, and add/remove flows for users and permissions.
136
219
  - App-level auth and owner-claim semantics in [Authorization And Roles](docs/user-guide/auth-and-roles.md) describe both the current runtime reality and the remaining target-model gaps.
@@ -139,7 +222,7 @@ Need the step-by-step setup docs instead of the shortest path?
139
222
 
140
223
  - Telegram: [Telegram Bot Setup](docs/user-guide/telegram-setup.md)
141
224
  - Slack: [Slack App Setup](docs/user-guide/slack-setup.md)
142
- - Release history: [CHANGELOG.md](CHANGELOG.md), [release notes](docs/releases/README.md), [update guide](docs/update/README.md), [operator updates](docs/updates/README.md), and [migration index](docs/migrations/index.md)
225
+ - Release history: [CHANGELOG.md](CHANGELOG.md), [release notes](docs/releases/README.md), [update guide](docs/updates/update-guide.md), [release guides](docs/updates/README.md), and [migration index](docs/migrations/index.md)
143
226
  - Slack app manifest template: [app-manifest.json](templates/slack/default/app-manifest.json)
144
227
  - Slack app manifest guide: [app-manifest-guide.md](templates/slack/default/app-manifest-guide.md)
145
228
 
@@ -154,17 +237,42 @@ What happens next:
154
237
 
155
238
  ## Recent Release Highlights
156
239
 
157
- - `v0.1.45`: safer personal and team bots in real Slack and Telegram groups, automatic direct updates from older installs, more reliable scheduled loops, clearer sender and surface context, Telegram audio support, and stricter streaming/session isolation.
240
+ - `v0.1.51`: raises the default runner startup window to 60 seconds across the
241
+ standard CLI families and the shared runner fallback, so slower fresh launches
242
+ are less likely to fail before the first prompt can be submitted.
243
+ - `v0.1.50`: a much more AI-native operator experience, where you can
244
+ increasingly talk to the bot to manage itself; plus safer personal and team
245
+ bots in real Slack and Telegram groups, automatic direct updates from older
246
+ installs, durable queue control, clearer session continuity truth, more
247
+ reliable scheduled loops, stronger trust/restart behavior, and stricter
248
+ streaming/session isolation.
158
249
  - `v0.1.43`: more durable runtime recovery, clearer routed follow-up controls, more truthful tmux prompt submission checks, better queued-start notifications, and safer Slack thread attachment behavior.
159
- - `v0.1.39`: the first large release of the current bot-first shape, with native Slack and Telegram rendering, cleaner first-run setup, stronger pairing/auth defaults, better long-running run visibility, and recurring `/loop` automation.
160
250
 
161
- There are many more useful fixes and operator improvements in the full release notes, including config update safety, CLI help, setup docs, runner debugging, route policy behavior, and channel-specific polish.
251
+ What the current stable line most likely means for you:
252
+
253
+ - The headline is AI-native control: ask the bot in chat to queue work,
254
+ schedule recurring briefs, help update itself, explain release changes, or
255
+ guide setup and routing instead of dropping to the shell for every action.
256
+ - personal user: fewer fragile long-run failures, better `/queue`, better media
257
+ handling on Telegram
258
+ - shared bot owner: clearer route safety, easier direct upgrade from older
259
+ installs, and more interesting team use cases where one bot lives in the
260
+ group but only responds to selected people there
261
+ - operator: better queue visibility, better session continuity truth, and
262
+ restart behavior that is less misleading during updates, plus faster
263
+ `watch` and `inspect` shortcuts when something goes wrong
264
+
265
+ There are many more useful fixes and operator improvements in the full release
266
+ notes, including config update safety, CLI help, setup docs, runner debugging,
267
+ route policy behavior, channel-specific polish, and the broader AI-native
268
+ workflow direction behind this release.
162
269
 
163
270
  Read the full notes here:
164
271
 
165
272
  - [CHANGELOG.md](CHANGELOG.md)
166
273
  - [Release Notes Index](docs/releases/README.md)
167
- - [v0.1.45 Release Notes](docs/releases/v0.1.45.md)
274
+ - [v0.1.51 Release Notes](docs/releases/v0.1.51.md)
275
+ - [v0.1.50 Release Notes](docs/releases/v0.1.50.md)
168
276
  - [v0.1.43 Release Notes](docs/releases/v0.1.43.md)
169
277
  - [v0.1.39 Release Notes](docs/releases/v0.1.39.md)
170
278
 
@@ -195,14 +303,23 @@ Repo-local `bun run start|stop|restart|status|logs|init|pairing` is pinned by `.
195
303
 
196
304
  Update note for existing installs:
197
305
 
198
- - `v0.1.39` includes breaking changes in config shape and in the main CLI command surface.
199
- - If you already run an older install, ask Codex or Claude in this repo to update your current config before updating the package.
200
- - The package update itself is still simple:
306
+ - Older installs before `v0.1.50` now update directly on first run with a
307
+ backup written first, so most people can update and restart without a manual
308
+ migration pass.
309
+ - `v0.1.51` keeps that direct-upgrade path and does not introduce a new config
310
+ schema bump; the main runtime change is a longer default runner startup
311
+ window.
312
+ - After you are on the `v0.1.50` schema line, future upgrades should feel much
313
+ more AI-native:
314
+ in many cases you can simply ask the bot to update `clisbot` to the latest
315
+ version, and it can follow the update guide, perform the upgrade flow, then
316
+ brief you on what changed.
317
+ - If you still want an agent to inspect your current config before updating,
318
+ ask Codex or Claude in this repo to review it first.
319
+ - The manual package upgrade path is now simpler:
201
320
 
202
321
  ```bash
203
- clisbot stop
204
- npm install -g clisbot
205
- clisbot start
322
+ npm install -g clisbot && clisbot restart
206
323
  clisbot --version
207
324
  ```
208
325
 
@@ -264,6 +381,12 @@ If you want the repo-guided setup path:
264
381
  3. Ask it to help you set up `clisbot`.
265
382
 
266
383
  The docs in this repo are kept current, including the [User Guide](docs/user-guide/README.md), so the agent should have enough context to walk you through setup, configuration, and troubleshooting directly inside the repo.
384
+ If anything goes wrong, the fastest rescue loop is usually `clisbot logs`,
385
+ `clisbot status`, `clisbot restart`, or if needed `clisbot stop --hard`
386
+ followed by `clisbot start`.
387
+ Also open the coding CLI directly inside the bot workspace, usually
388
+ `~/.clisbot/workspaces/default`, and make sure that CLI already works there.
389
+ That is one of the strongest end-to-end checks for bot health.
267
390
 
268
391
  If you prefer to configure everything yourself:
269
392
 
@@ -307,26 +430,28 @@ clisbot start \
307
430
  If the quick start does not work, check these in order:
308
431
 
309
432
  - If setup feels unclear, open Claude Code, Codex, or Gemini CLI in this repo and ask it to help using the local docs.
433
+ - If anything looks wrong, start with `clisbot logs`, `clisbot status`,
434
+ `clisbot restart`, or if needed `clisbot stop --hard` followed by
435
+ `clisbot start`.
310
436
  - If config behavior is confusing, inspect [config/clisbot.json.template](config/clisbot.json.template) first, then compare it with [docs/user-guide/README.md](docs/user-guide/README.md).
311
437
  - If `clisbot start` says no agents are configured, prefer `clisbot start --cli codex --bot-type personal --telegram-bot-token <your-telegram-bot-token>`.
312
- - If you want later runs to work with plain `clisbot start`, rerun your successful first-run command with `--persist`.
313
438
  - If `clisbot start` prints token refs as `missing`, either pass the token explicitly on the command line or switch to env-backed setup described in [docs/user-guide/bots-and-credentials.md](docs/user-guide/bots-and-credentials.md).
314
- - If you use custom env names, pass them explicitly with `--slack-app-token`, `--slack-bot-token`, or `--telegram-bot-token`.
315
439
  - If `clisbot status` shows `bootstrap=...:missing` or `bootstrap=...:not-bootstrapped`, follow the advanced agent bootstrap steps in [docs/user-guide/README.md](docs/user-guide/README.md).
316
- - If Codex shows `Do you trust the contents of this directory?`, keep `trustWorkspace: true` in clisbot config and also mark the workspace as trusted in `~/.codex/config.toml`, for example:
317
-
318
- ```toml
319
- [projects."/home/node/.clisbot/workspaces/default"]
320
- trust_level = "trusted"
321
- ```
322
-
323
- - If that trust screen is still blocking, attach directly and continue from tmux with `tmux -S ~/.clisbot/state/clisbot.sock attach -t agent-default-main`.
440
+ - Trust is usually handled automatically by the bot, but if trust or startup
441
+ behavior still looks wrong, go to the workspace and launch the underlying CLI
442
+ there directly, for example `cd ~/.clisbot/workspaces/default` and start
443
+ `codex`, `claude`, or `gemini` yourself. If the CLI cannot start cleanly in
444
+ that workspace, the bot will not be healthy either.
324
445
  - If Gemini startup says it is waiting for manual authorization, authenticate Gemini directly first or provide a headless auth path such as `GEMINI_API_KEY` or Vertex AI credentials; `clisbot` now treats that screen as a startup blocker instead of a healthy ready session.
325
446
  - If Codex warns that `bubblewrap` is missing on Linux, install `bubblewrap` in the runtime environment.
326
447
  - If the bot does not answer, check `clisbot status` first. Healthy channels should show `connection=active`; if a channel stays `starting`, inspect `clisbot logs`.
327
- - If a routed message was accepted but no reply arrives, send one test message and immediately run `clisbot runner watch --latest --lines 100` in a terminal. This shows the live tmux runner pane and usually reveals missing CLI auth, trust prompts, stuck startup, or model/provider errors.
448
+ - If a routed message was accepted but no reply arrives, send one test message
449
+ and immediately run `clisbot watch --latest --lines 100` in a terminal. This
450
+ shows the live tmux runner pane and usually reveals missing CLI auth, trust
451
+ prompts, stuck startup, or model/provider errors.
328
452
  - If Codex works in your normal terminal but the routed runner shows `Missing environment variable: CODEX_CLIPROXYAPI_KEY`, remember that `clisbot` runs Codex from a detached background process and tmux session. Start or restart `clisbot` from a shell where `echo $CODEX_CLIPROXYAPI_KEY` prints a value, or export the key in the environment used by your service manager. Existing tmux runner sessions keep their old environment, so recycle them after fixing env.
329
453
  - If runtime startup still fails, run `clisbot logs` and inspect the recent log tail that `clisbot` now prints automatically on startup failure.
454
+ - If `clisbot restart` warns that stop timed out during an update, run `clisbot status` once. Current releases should continue cleanly when status already shows the worker exited; only treat it as a real bug if restart leaves the runtime down.
330
455
  - If a normal restart is not enough, use `clisbot stop --hard` to stop the runtime and kill all tmux runner sessions on the configured clisbot socket, then start again from a shell with the correct environment.
331
456
  - If you need the full command list, run `clisbot --help`.
332
457
  - If you need step-by-step operator docs, start with [docs/user-guide/README.md](docs/user-guide/README.md).
@@ -344,8 +469,12 @@ Most users only need a small set of commands at first:
344
469
  - `clisbot status`: check whether the runtime, channels, and active sessions look healthy.
345
470
  - `clisbot logs`: inspect recent runtime logs when startup, routing, or replies look wrong.
346
471
  - `clisbot runner list`: list the live tmux-backed runner sessions and see what is active.
347
- - `clisbot runner watch <session-name>`: live-watch one specific session when debugging a real run.
348
- - `clisbot runner watch --latest --lines 100`: jump straight into the most recently active session with enough context to debug a just-submitted message.
472
+ - `clisbot inspect --latest`: capture the current pane state of the newest
473
+ admitted session once.
474
+ - `clisbot watch --latest --lines 100`: jump straight into the newest admitted
475
+ live session with enough context to debug a just-submitted message.
476
+ - `clisbot watch --index 2`: follow the second most recent admitted session
477
+ without needing to copy a tmux session name first.
349
478
  - `clisbot queues list`: inspect pending durable queued prompts across the app.
350
479
  - `clisbot queues create --channel telegram --target group:-1001234567890 --topic-id 4335 --sender telegram:1276408333 <prompt>`: create one durable same-session queued prompt, capped by `control.queue.maxPendingItemsPerSession` (default `20`).
351
480
 
@@ -406,6 +535,10 @@ Detailed slash-command guide:
406
535
 
407
536
  ## Docs
408
537
 
538
+ - [Localized Docs Hub](docs/langs/README.md)
539
+ - [Vietnamese Repo README](docs/langs/root/README.vi.md)
540
+ - [Simplified Chinese Repo README](docs/langs/root/README.zh-CN.md)
541
+ - [Korean Repo README](docs/langs/root/README.ko.md)
409
542
  - [Overview](docs/overview/README.md)
410
543
  - [Architecture](docs/architecture/README.md)
411
544
  - [Development Guide](docs/development/README.md)
@@ -429,6 +562,8 @@ Detailed slash-command guide:
429
562
  - more communication channels beyond Slack and Telegram
430
563
  - simple workflow building blocks such as cron jobs, heartbeat jobs, and loops
431
564
  - durable agent sessions, workspaces, follow-up policy, commands, attachments, and operator controls that stay reusable across all those surfaces
565
+ - stability and security stay at the top of the project focus; if you find an
566
+ issue in either area, please report it
432
567
 
433
568
  tmux is still the current stability boundary. One agent maps to one durable runner session in one workspace, and every CLI, channel, or workflow layer should route onto that durable runtime instead of recreating the agent from scratch.
434
569
 
@@ -444,7 +579,7 @@ tmux is still the current stability boundary. One agent maps to one durable runn
444
579
 
445
580
  This repo also serves as a small example of an AI-native engineering workflow:
446
581
 
447
- - simple `AGENTS.md` and `CLAUDE.md`-style operating rules
582
+ - simple `AGENTS.md`-style operating rules, with Claude and Gemini compatibility files able to symlink back to the same source
448
583
  - lessons-learned docs to capture repeated feedback and pitfalls
449
584
  - architecture docs used as a stable implementation contract
450
585
  - end-to-end validation expectations to close the feedback loop for AI agents
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "meta": {
3
- "schemaVersion": "0.1.45",
3
+ "schemaVersion": "0.1.50",
4
4
  "lastTouchedAt": "2026-04-24T06:21:29.693Z"
5
5
  },
6
6
  "app": {
@@ -410,7 +410,7 @@
410
410
  "--approval-mode=yolo",
411
411
  "--sandbox=false"
412
412
  ],
413
- "startupDelayMs": 15000,
413
+ "startupDelayMs": 60000,
414
414
  "startupRetryCount": 2,
415
415
  "startupRetryDelayMs": 1000,
416
416
  "startupReadyPattern": "Type your message or @path/to/file",