Monorepo

Architecture

One private core with all logic, bundled into two published packages that have no dependencies.

@msecrets/ui      CLI + TUI  ─┐
                              ├─ core ─ node:crypto
@msecrets/ts-sdk  runtime    ─┘

Packages

packages/core

Private. age (X25519, ML-KEM-768 + X25519, scrypt, ssh-ed25519), keys, the file format and validation, operations, status, file storage, identity sources, and the OS keychain.

@msecrets/ts-sdk

Runtime: createClient turns an imported secrets file into typed values; injectEnv fills process.env. ESM, CommonJS, and type declarations.

@msecrets/ui

The msecrets binary: commands, the terminal UI, run, and git integration. A thin layer over core.

Principles

Repository

packages/core      src/crypto (age, bech32, ssh, bcrypt_pbkdf), keys, document, values, status,
                   operations, store, sources, keychain; test vectors and tests
packages/ts-sdk    src/index.ts
packages/ui        src/cli.ts, commands.ts, tui/, git.ts, spawn.ts
scripts            verify-packages.ts: pack, install offline, and exercise the published packages
docs               this site and the JSON schema