Local Development Setup
Technical guide for configuring the VeriWorkly development environment.
Local Development Setup
This guide provides comprehensive instructions for configuring a local development environment. This path is intended for developers, contributors, and those wishing to customize the platform's core functionality.
Prerequisites
Before initialization, ensure the following dependencies are installed:
- Node.js: Version 20 or higher is required.
- Package Manager: NPM (recommended), PNPM, or Yarn.
- PostgreSQL: A valid connection string is required. We recommend Neon for a managed serverless experience.
- Redis: Utilized for rate limiting and API caching. Not required for core resume building.
Installation Process
Fork and Clone the Repository
- Fork the official VeriWorkly Repository to your personal GitHub account.
- Clone your personal fork to your local development machine:
git clone https://github.com/YOUR_USERNAME/veriworkly.git cd veriworkly-resume
Configure Upstream Remote & Sync
Configure the original repository as an upstream remote to pull future updates. Make sure to base your changes on the master branch:
# Add the upstream remote
git remote add upstream https://github.com/VeriWorkly/veriworkly.git
# Checkout and sync your local master branch with the upstream master branch
git checkout master
git pull upstream masterInstall Dependencies Install all package and workspace dependencies defined in the monorepo
root: bash npm install
Configure Environment Variables
Duplicate the example configuration files and customize them for your local environment:
cp .env.example .env
cp apps/server/.env.example apps/server/.env
cp apps/studio/.env.example apps/studio/.env
cp apps/site/.env.example apps/site/.env
cp apps/docs-platform/.env.example apps/docs-platform/.env
cp apps/blog-platform/.env.example apps/blog-platform/.envRequired variables for basic local functionality:
DATABASE_URL: PostgreSQL connection string.AUTH_SECRET: Random secure token for authentication (must match in server and studio).NEXT_PUBLIC_BACKEND_URL: URL of your local or remote backend (defaults tohttp://localhost:8080/api/v1).
Database Initialization If you are planning to work on backend API authentication or syncing
features, initialize your PostgreSQL database with the Prisma schema: bash npm run db:push -w @veriworkly/server
Start Development Servers
Depending on what you are building, you can choose to run the frontend independently or run all services concurrently:
Option A: Frontend-Only Development (No Database Required) If you are only editing frontend components, pages, or the design system (e.g., style guide, templates, landing pages):
# Starts the marketing site (apps/site) on port 3000
npm run dev
# Or to start the resume editor (apps/studio) on port 3001
npm run dev:studioOption B: Full-Stack Development (Database Required) If you are building database-dependent features (authentication, account syncing):
# Starts all workspaces (site, studio, server, docs, blog)
npm run dev:allCode Validation
Ensure your code complies with our standards before committing:
# Run ESLint validation
npm run lint
# Run Prettier code formatting
npm run format:write
# Validate production build compiles without errors
npm run buildEnvironment Verification
To verify that your services are running successfully, check the following endpoints:
- Marketing Site: http://localhost:3000
- Resume Studio: http://localhost:3001
- Documentation Platform: http://localhost:3002
- Official Blog: http://localhost:3003
- Backend API Health: http://localhost:8080/api/v1/health (returns database status)