Skip to content

refactor: move shell client to CLI, rename @authmesh/shell → @authmesh/agent - #12

Closed
YairEtzion wants to merge 2 commits into
mainfrom
refactor/shell-package-split
Closed

refactor: move shell client to CLI, rename @authmesh/shell → @authmesh/agent#12
YairEtzion wants to merge 2 commits into
mainfrom
refactor/shell-package-split

Conversation

@YairEtzion

Copy link
Copy Markdown
Contributor

Summary

Restructure shell packages for clearer UX:

Before: @authmesh/cli (identity/pairing) + @authmesh/shell (agent daemon + shell client). Server needed both. Confusing.

After:

  • @authmesh/cli — everything for the controller: init, pair, list, revoke, grant, provision, amesh shell
  • @authmesh/agent — only the daemon for the server: amesh-agent start

Developer installs one thing. Server installs one thing (+ CLI for init/pair/grant). No daemon code on the laptop.

Changes

  • Shell client (shell-client.ts, shell-cipher.ts, shell-handshake.ts, frame.ts) copied into CLI
  • New oclif command: amesh shell <device> [-c cmd] [--relay url]
  • packages/shell/ renamed to packages/agent/ (@authmesh/agent)
  • amesh-shell binary removed from agent (CLI owns shell client now)
  • Agent prints warning on start: "This device is now accepting remote shell connections"
  • All docs + landing page updated: amesh-shellamesh shell, @authmesh/shell@authmesh/agent

Test plan

  • bun run build — all 7 packages build
  • Agent tests: 15 pass (cipher + frame)
  • Core tests: 84 pass
  • Lint: clean (CLI + agent)
  • Landing page prerenders all pages

…h/agent

Package restructure for clearer UX:
- Controller (laptop): `amesh shell` is now a subcommand in @authmesh/cli
- Server (target): @authmesh/agent contains only the daemon binary

Changes:
- Move shell-client.ts, shell-cipher.ts, shell-handshake.ts, frame.ts into CLI
- Create oclif `amesh shell <device> [-c cmd]` command
- Rename packages/shell → packages/agent (@authmesh/agent)
- Remove amesh-shell binary from agent (CLI owns the shell client now)
- Agent start prints warning about accepting shell connections
- Update all docs: amesh-shell → amesh shell, @authmesh/shell → @authmesh/agent
- Update ADR-011 to reflect new package architecture
- Update landing page guide + use case pages
@YairEtzion YairEtzion closed this Apr 3, 2026
@YairEtzion
YairEtzion deleted the refactor/shell-package-split branch April 3, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant