Developer Quickstart
Get a local VaultLister 3.0 instance running in under five minutes. No accounts or cloud services required for the core experience.
Prerequisites
-
Required
Bun 1.3+ Runtime and package manager. Install via
curl -fsSL https://bun.sh/install | bashor see bun.sh. -
Required
Git 2.x For cloning and version control.
-
Optional
Docker 24+ Only needed for production deployment or running the full containerized stack.
-
Optional
Playwright browsers Required only if you want to test marketplace automation bots. Install after
bun installby runningbunx playwright install.
Setup
-
Clone the repository
git clone https://github.com/Vaultifacts/VaultLister-3.0.git cd VaultLister-3.0 -
Create your
.envfileCopy the example file and set a strong value for
JWT_SECRET. All other values are optional for local development.cp .env.example .envOpen.envin your editor and setJWT_SECRETto any random 32+ character string before starting the server. -
Install dependencies
bun install -
Initialize the database
bun run db:initCreates the SQLite database at
data/vaultlister.dbin WAL mode with all tables and seed data including the demo account.
Running locally
-
Start the development server
bun run devThe server starts on port 3000 by default. File changes to backend routes and frontend pages hot-reload automatically.
-
Open the app
Navigate to:
http://localhost:3000
Demo login
A demo account is pre-seeded by db:init. Use it to explore the full UI without configuring marketplace credentials.
Demo account
Email
demo@vaultlister.com
Password
DemoPassword123!
MFA
disabled (dev only)
Key commands
| Command | Description |
|---|---|
bun run dev |
Start dev server with hot reload on port 3000 |
bun run dev:bg |
Start dev server in the background |
bun run test:unit |
Run unit tests (Bun:test) |
bun run test:e2e |
Run end-to-end tests (Playwright) |
bun run test:all |
Run all tests in sequence |
bun run build |
Production build — bundle and minify assets |
bun run lint |
Syntax check all source files |
bun run db:reset |
Wipe and re-seed the local database |
bun scripts/help.js |
List all available scripts with descriptions |
Project structure
vaultlister-3/
├── src/
│ ├── backend/
│ │ ├── routes/ # API route handlers — one file per domain
│ │ └── middleware/ # Auth, CSRF, rate limiting, security headers
│ ├── frontend/
│ │ ├── app.js # SPA entry point, store, router
│ │ ├── pages/ # Lazy-loaded route pages
│ │ ├── handlers/ # Event handlers grouped by domain
│ │ └── components/ # Reusable UI components
│ └── shared/
│ ├── ai/ # Anthropic SDK wrappers — never call SDK directly
│ └── automations/ # Playwright bots for marketplace automations
├── public/ # Static files served at root
├── scripts/ # Dev utilities — session-start, session-end, etc.
├── data/ # SQLite database and audit logs (git-ignored)
├── chrome-extension/ # Chromium extension source
├── .env.example # Copy to .env and fill in values
└── CLAUDE.md # Project instructions for AI agents
Next steps
- Read Platform Integration Status — see which marketplaces are ready to connect
- Read Database ER Diagram — understand the data model before writing queries
- Read API Documentation — full reference for all endpoints
- Read CONTRIBUTING.md — contribution guidelines, branch naming, and code conventions