Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Quick Start

Get up and running with Vault in just a few minutes.

Prerequisites

  • Node.js 20 or higher
  • pnpm 9 or higher

Installation

Clone the repository

git clone https://github.com/zeroexcore/vault.git
cd vault

Install dependencies

pnpm install

Build all packages

pnpm build

Start development servers

# Start both API and Web
pnpm dev
 
# Or start individually
pnpm --filter @pwm/api dev   # API on port 8787
pnpm --filter @pwm/web dev   # Web on port 5173

First Login

  1. Open http://localhost:5173
  2. Enter your email address
  3. Create a passkey using your device's biometric (Face ID, Touch ID, Windows Hello)
  4. Set your master password
  5. You're in! 🎉

CLI Setup

# Link CLI globally
cd packages/cli
pnpm link --global
 
# Login (opens browser)
pwm auth login your@email.com
 
# List entries
pwm entry list
 
# Add your first entry
pwm entry add

Project Structure

vault/
├── packages/
│   ├── api/        # Hono API (Cloudflare Workers)
│   ├── cli/        # Node.js CLI tool
│   ├── docs/       # This documentation
│   ├── mobile/     # React Native app (Expo)
│   ├── shared/     # Shared types, crypto, validation
│   └── web/        # React PWA frontend
├── pnpm-workspace.yaml
└── turbo.json

Available Scripts

CommandDescription
pnpm devStart all dev servers
pnpm dev:mockStart with mock auth (no passkey needed)
pnpm buildBuild all packages
pnpm testRun all tests
pnpm typecheckTypeScript type checking
pnpm lintESLint checks

Environment Variables

API (packages/api/.dev.vars)

RP_NAME=Vault
RP_ID=localhost
RP_ORIGIN=http://localhost:5173

Web (packages/web/.env)

VITE_API_URL=http://localhost:8787

Next Steps