Skip to main content
The web app is a modern Next.js 16 application using the App Router, Bun runtime, and shadcn/ui components.

Prerequisites

You’ll need the following installed:
  • Bun (latest version) - Install Bun
  • Node.js 20+ (for compatibility with some tools)
  • A code editor (VS Code recommended)

Quick Start

1

Navigate to the web directory

cd web
2

Install dependencies

bun install
This installs all dependencies using Bun’s fast package manager.
3

Start the development server

bun dev
The app will be available at http://localhost:3000

Available Scripts

Run these from the web/ directory:
ScriptCommandDescription
Developmentbun devStart dev server with hot reload
Buildbun buildCreate production build
Startbun startRun production server
Lintbun lintRun oxlint for code quality
Formatbun formatFormat code with oxfmt

Tech Stack

The web app uses a modern, curated stack:

Framework

Next.js 16 with App RouterReact 19 Server Components

Runtime

Bun for fast installs and executionNative APIs preferred over Node.js

UI Components

shadcn/ui (Base UI primitives)Tailwind CSS for styling

Code Quality

oxlint/oxfmt for linting and formattingTypeScript strict mode

Project Configuration

TypeScript Configuration

The project uses strict TypeScript with path aliases:
web/tsconfig.json
{
  "compilerOptions": {
    "target": "ES2017",
    "lib": ["dom", "dom.iterable", "esnext"],
    "strict": true,
    "paths": {
      "@/*": ["./*"]
    }
  }
}
The @/ alias maps to the web root, so @/components/ui/button resolves to web/components/ui/button.tsx

Next.js Configuration

Minimal configuration for flexibility:
web/next.config.ts
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  /* config options here */
};

export default nextConfig;

shadcn/ui Configuration

Component library setup:
web/components.json
{
  "$schema": "https://ui.shadcn.com/schema.json",
  "style": "base-vega",
  "rsc": true,
  "tsx": true,
  "tailwind": {
    "css": "app/globals.css",
    "baseColor": "neutral",
    "cssVariables": true
  },
  "iconLibrary": "hugeicons",
  "aliases": {
    "components": "@/components",
    "utils": "@/components/lib/utils",
    "ui": "@/components/ui",
    "lib": "@/components/lib",
    "hooks": "@/components/hooks"
  }
}

Environment Setup

The web app doesn’t require environment variables for basic operation. Add a .env.local file if you need to configure external services.

Troubleshooting

Kill the process using port 3000 or use a different port:
PORT=3001 bun dev
Clear the Bun cache and try again:
rm -rf node_modules bun.lock
bun install
Restart your TypeScript server:
  • VS Code: Cmd+Shift+P → “TypeScript: Restart TS Server”

Next Steps

Project Structure

Learn the directory conventions

Components

Explore the component library

Features

Understand feature-based architecture

Linting

Configure oxlint and oxfmt

Build docs developers (and LLMs) love