@mrciphersmith/keryx 0.3.44 → 0.3.48

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
@@ -73,9 +73,15 @@ keryx health run --changed # normalized health report
73
73
  keryx dash # human admin dashboard
74
74
  ```
75
75
 
76
- `keryx init` creates the `.metaproject/` workspace and connects your existing
77
- `AGENTS.md` / `CLAUDE.md` entrypoints to it, so agents are routed to the right
78
- module automatically.
76
+ `keryx init` creates the `.metaproject/` workspace and connects your agents to
77
+ it, so they are routed to the right module automatically. It imports your
78
+ `AGENTS.md` / `CLAUDE.md` as project rules and writes its routing block and
79
+ Claude hooks to per-developer, gitignored files (`CLAUDE.local.md`,
80
+ `AGENTS.override.md`, `.claude/settings.local.json`, ignore rules in
81
+ `.git/info/exclude`), so the files your team tracks stay untouched and
82
+ `git pull` never meets an edit made by keryx. A team that wants the block committed opts
83
+ into `scope: "shared"`; see
84
+ [where the block goes](docs/docs/workspace-and-lifecycle.md#where-the-block-goes-local-and-shared-scope).
79
85
 
80
86
  ### Connect a model provider
81
87
 
@@ -123,6 +129,9 @@ described [below](#the-agent-harness). A few commands worth knowing from the
123
129
  first session:
124
130
 
125
131
  - `/theme [name]` opens the theme picker; a choice applies immediately.
132
+ - `/settings` opens one modal with the permission mode, plan, guards, routing,
133
+ reasoning, theme and external switches, each with its On/Off or value
134
+ buttons; `/mode` and `/plan` are marked `session`, the rest `saved`.
126
135
  - `/mode [ask|trust|auto]` shows or switches the permission mode for the rest
127
136
  of the session — see [permission modes](docs/docs/guides/permission-modes.md).
128
137
  - `/help` lists every slash command available in the current mode.
@@ -736,13 +745,16 @@ enabled. Nine modules are on after `init`; `mcp` is opt-in.
736
745
 
737
746
  | Runtime | Integration |
738
747
  |---------|-------------|
739
- | Claude Code | `CLAUDE.md` routing, orientation hook, security hooks, MCP server |
740
- | Codex | `AGENTS.md` routing and orientation hook |
748
+ | Claude Code | `CLAUDE.local.md` routing, orientation hook, security hooks, MCP server |
749
+ | Codex | `AGENTS.override.md` routing and orientation hook |
741
750
  | Cursor | Rules/orientation, security hooks, MCP server |
742
751
  | Any other agent | Repository-local Markdown/JSON artifacts under `.metaproject/` |
743
752
 
744
- After `init`, agents follow the root `AGENTS.md`/`CLAUDE.md` pointer to
745
- `.metaproject/index.md`, which routes them to the right capability. Two commands
753
+ After `init`, agents follow the routing block — in `CLAUDE.local.md` and
754
+ `AGENTS.override.md` by default, in the shared `CLAUDE.md`/`AGENTS.md` under
755
+ `scope: "shared"` — to `.metaproject/index.md`, which routes them to the right
756
+ capability. Those local files exist per checkout: run `keryx update` in a new
757
+ worktree to give it the block and hooks. Two commands
746
758
  sharpen that routing:
747
759
 
748
760
  `keryx orient` emits a bounded excerpt of the launch project's own
@@ -930,7 +942,7 @@ flags too much for your rule set; lower it only if you have evidence the
930
942
  agent is actually acting on the extra flags.
931
943
 
932
944
  ```bash
933
- keryx review jev-edit-guard install # merge-safe: writes .claude/settings.json
945
+ keryx review jev-edit-guard install # merge-safe: writes .claude/settings.local.json
934
946
  ```
935
947
 
936
948
  Then opt in per project — the hook is installed but stays silent until this is set:
@@ -988,6 +1000,26 @@ compared at startup, and a weaker profile refuses to bind at all. See
988
1000
  [drive keryx remotely](docs/docs/guides/drive-keryx-remotely.md) for routes and
989
1001
  setup.
990
1002
 
1003
+ ### Remote control from Telegram (opt-in, off by default)
1004
+
1005
+ `/remote-control` in a running shell mirrors that session into its own topic of a
1006
+ Telegram supergroup: you send a line from your phone and it runs as if typed
1007
+ there, the reply and any approval question come back to the topic. Nothing
1008
+ happens until you set three things up: a separate bot made with BotFather, its
1009
+ token in `remote/bot-token` in the global keryx directory with mode 600; the
1010
+ Telegram user id that may use it, in the allowlist file `remote/config.json`; and
1011
+ a supergroup with topics enabled where that bot is an admin with the manage topics
1012
+ right. The Telegram transport is the single poller inside `keryx serve` — shells
1013
+ talk to `serve` over loopback with a local shell token (new on every `serve`
1014
+ start, and never sent to an endpoint whose `serve` is gone), they never poll
1015
+ Telegram themselves, and a second `keryx serve` does not poll while the first one
1016
+ runs. At most 500 lines wait per topic, and turning it off tells the topic which
1017
+ queued lines will not run.
1018
+ Without the config files `serve` starts as before, with remote control off. This
1019
+ has been verified against a fake Bot API only; no run against real Telegram has
1020
+ been done yet. Setup and limits:
1021
+ [drive keryx remotely](docs/docs/guides/drive-keryx-remotely.md#remote-control-from-telegram).
1022
+
991
1023
  ## CI integration
992
1024
 
993
1025
  CI can publish normalized, committable artifacts that humans and agents read