Development Environment Setup
This guide walks through setting up the local development environment for the uzdavines.ai platform.
Prerequisites
| Requirement | Version | Purpose |
|---|---|---|
| Node.js | >= 20.0 | JavaScript runtime |
| npm | >= 10.0 | Package manager (ships with Node.js) |
| Git | Latest | Version control |
GitHub CLI (gh) | Latest | PR management, deploy hooks |
Clone and Install
git clone https://github.com/bobbyuzda1/uzdavines-platform.git
cd uzdavines-platform
npm install
The monorepo uses npm workspaces. Running npm install at the root installs dependencies for all apps and packages.
Environment Variables
Create a .env file at the monorepo root:
# Render
RENDER_API_KEY=
RENDER_HOMEPAGE_DEPLOY_HOOK=
RENDER_DOCS_DEPLOY_HOOK=
RENDER_RESUME_DEPLOY_HOOK=
# Cloudflare
CLOUDFLARE_API_TOKEN=
CLOUDFLARE_ZONE_ID=
# AI
ANTHROPIC_API_KEY=
caution
Never commit .env files. The .gitignore is already configured to exclude them.
Running Locally
Each app runs independently on localhost:3000:
# Homepage
npm run dev:homepage
# Docs site
npm run dev:docs
# Resume site
npm run dev:resume
Build Commands
# Build individual apps
npm run build:homepage
npm run build:docs
npm run build:resume
Git Configuration
The repository uses the following git settings:
git config core.autocrlf input
This ensures consistent line endings across Windows and Linux environments (important for WSL development).
Project Structure
uzdavines-platform/
├── apps/
│ ├── homepage/ # Next.js — localhost:3000
│ ├── docs/ # Docusaurus — localhost:3000
│ └── resume/ # Next.js — localhost:3000
├── packages/
│ └── shared/ # Shared utilities
├── .github/
│ └── workflows/ # CI/CD pipeline definitions
├── .env # Environment variables (gitignored)
└── package.json # Workspace root
Branching Strategy
| Branch Pattern | Purpose | Example |
|---|---|---|
main | Production branch | — |
feat/* | New features | feat/add-chatbot |
fix/* | Bug fixes | fix/nav-alignment |
docs/* | Documentation changes | docs/update-sops |
chore/* | Maintenance tasks | chore/dependency-bump |
All branches are created from main and merged back via pull request with squash merge.