| name | evictl |
| description | Use when managing evictl, a Bun CLI for orchestrating local evi agent runtimes, routes, Telegram-facing handoff, and shared memory across OpenClaw, Hermes Agent, and Claude Code Channels. |
evictl
Use this skill when the user asks to inspect, install, publish, debug, or operate
evictl.
Core workflow
- Work from the repository root.
- Use Bun for all project commands.
- Prefer read-only inspection commands before changing runtime state.
- Run validation after code or packaging changes.
- Treat
README.md as the source of truth and update README.ja.md whenever
README.md changes.
Commands
Development checks:
bun install
bun test
bun run check
bun run build
If the evictl command is missing while working from the local checkout, expose
that checkout before runtime inspection:
mkdir -p ~/.local/bin
ln -sfn /Users/username/ghq/github.com/schroneko/evictl/bin/evictl ~/.local/bin/evictl
evictl --help
Use bun install -g evictl for the published package. Avoid repeated
bun install -g /path/to/evictl for local checkout updates because Bun can
duplicate global dependency entries for the same file path.
Packaging checks:
npm pack --json
npm publish --dry-run --access public
npx --yes publint ./evictl-0.1.0.tgz
Published install smoke test:
bunx evictl --help
Local runtime inspection:
evictl ps
evictl discover --json
evictl migration --dry-run --json
evictl status
evictl doctor
evictl route list
evictl memory status
evictl memory search <query>
evictl tail <target-or-evi>
Safety rules
- Treat
start, stop, restart, stop-all, use, evi start,
evi stop, evi restart, channel telegram restart, route set --force,
and non-queued send as runtime-affecting commands.
- Use
--dry-run, --json, or --queue-only when validating behavior without
changing active agent sessions.
- Use
evictl migration --dry-run to inspect existing Hermes Agent, OpenClaw,
and Claude Code Channels instances without changing config.
evictl migration writes evictl config only. It adopts existing runtimes and
does not convert, delete, or move provider-native state.
- Use
evictl migration --yes for non-interactive adoption. Add
--primary-route <route-key> when the dry run reports route conflicts.
- Do not store API keys, Telegram bot tokens, private prompts, or chat ids in
~/.config/evictl/config.json.
- Before publishing, run dependency audit and secret scans.
Public release checklist
- Confirm
bun test, bun run check, and bun run build pass.
- Confirm
npm publish --dry-run --access public has no package correction
warnings.
- Confirm a tarball install exposes the
evictl bin.
- Confirm
bun audit, detect-secrets, and explicit token regex scans are
clean.
- Publish with
npm publish --access public.
- Verify
bunx evictl --help works against the published package.