Summary
Replace the current CLI-only interface with a Next.js app compiled as a static export, served locally by the authsome daemon. This gives users a browser-based UI for managing identities, vaults, providers, and connections — without requiring a hosted backend.
Motivation
The CLI is powerful but hard to use for non-technical users and difficult to navigate when managing many providers or team vaults. A local Next.js static export solves this by:
- Providing a visual dashboard for connections, provider status, and audit logs.
- Making onboarding (init, login, invite) more guided and approachable.
- Shipping as a zero-dependency static bundle — no Node.js runtime needed at runtime; the daemon serves the files directly.
Proposed Architecture
packages/ui — Next.js app with output: 'export' (generates plain HTML/CSS/JS under out/).
- The daemon gains a static file handler that serves
out/ at http://localhost:7998/ui.
- All data fetching in the UI calls the existing daemon REST API (same endpoints the CLI uses) — no new backend surface.
authsome ui open command launches the default browser at the local UI URL.
Work Items
Design Principles
- Static export only — no SSR, no separate Node server.
- UI is a thin client; all business logic stays in the daemon.
- Progressively enhances the CLI — every UI action must also be doable via CLI.
Summary
Replace the current CLI-only interface with a Next.js app compiled as a static export, served locally by the authsome daemon. This gives users a browser-based UI for managing identities, vaults, providers, and connections — without requiring a hosted backend.
Motivation
The CLI is powerful but hard to use for non-technical users and difficult to navigate when managing many providers or team vaults. A local Next.js static export solves this by:
Proposed Architecture
packages/ui— Next.js app withoutput: 'export'(generates plain HTML/CSS/JS underout/).out/athttp://localhost:7998/ui.authsome ui opencommand launches the default browser at the local UI URL.Work Items
packages/uiwith Next.js +output: 'export'configGET /ui/*)authsome ui openCLI commandpip install authsomeincludes the UI bundleDesign Principles