Project Structure Documentation
Overview
This document details the complete structure of the do.dev application project, including all active directories, their purposes, and key files.
Root Structure
dodev-project/
├── apps/ # Application directory
│ └── dodev/ # Main do.dev application
├── packages/ # Shared workspace packages
├── tools/ # Development tools
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── turbo.json # Turborepo configuration
├── pnpm-workspace.yaml # PNPM workspace config
├── package.json # Root package.json
├── biome.json # Biome formatter/linter config
├── vercel.json # Vercel deployment config
├── .gitignore
├── .env.example
└── CLAUDE.md # AI assistant guideApplications (/apps)
/apps/dodev - Main do.dev Application
dodev/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ │ ├── ai-agent/ # AI agent endpoints
│ │ ├── caddy/ # Caddy server management
│ │ ├── contact/ # Contact form
│ │ ├── customers/ # Customer APIs
│ │ └── dns/ # DNS management
│ ├── dashboard/ # Protected dashboard routes
│ │ ├── billing/ # Billing pages
│ │ ├── customers/ # Customer management
│ │ ├── demo/ # Demo page
│ │ ├── doc/ # Documentation builder
│ │ ├── dodev/ # Admin sections
│ │ ├── local/ # Local dev tools
│ │ ├── settings/ # User settings
│ │ └── layout.tsx # Dashboard layout
│ ├── admin/ # Admin-specific pages
│ ├── onboarding/ # User onboarding flow
│ ├── organization/ # Organization management
│ ├── (public pages) # Homepage, login, etc.
│ ├── layout.tsx # Root layout
│ ├── not-found.tsx # 404 page
│ └── robots.ts # SEO robots.txt
├── components/ # React Components
│ ├── dashboard/ # Dashboard-specific
│ ├── auth/ # Authentication
│ └── (ui components) # Various UI components
├── hooks/ # Custom React hooks
├── lib/ # Utilities
├── public/ # Static assets
├── next.config.js # Next.js config
├── package.json # Dependencies
├── tailwind.config.ts # Tailwind config
└── tsconfig.json # TypeScript configNote: Legacy Structure Removed
The previous /apps/webs/ intermediate directory has been removed for simplicity.
Packages (/packages)
/packages/ui - Shared UI Components
ui/
├── components/ # ShadCN UI components
├── primitives/ # Base UI primitives
├── static/ # Static assets (logos, etc.)
├── hooks/ # Shared React hooks
├── lib/ # UI utilities
└── package.json/packages/convex - Backend Configuration
convex/
├── _generated/ # Auto-generated Convex files
├── auth/ # Authentication functions
├── functions/ # Convex functions
├── schema.ts # Database schema
└── package.json/packages/prisma - Database ORM
prisma/
├── prisma/
│ └── schema.prisma # Database schema
├── seed.ts # Database seeding
└── package.json/packages/dns-client - DNS Utilities
dns-client/
├── src/
│ └── index.ts # DNS client implementation
└── package.json/packages/typescript-config - Shared TS Configs
typescript-config/
├── base.json # Base TypeScript config
├── nextjs.json # Next.js specific config
├── react-library.json # React library config
└── package.json/packages/dodotdev/ai-editor - AI Editor Component
Custom AI-powered editor implementation.
Tools (/tools)
/tools/convex - Convex Development Tools
Development utilities for Convex backend.
Documentation (/docs)
Current documentation files:
APP_SPECIFIC_AUTH.md- Multi-tenant authentication guideCODEBASE_STATUS.md- Current codebase stateEMAIL_SETUP.md- Email configurationGIT_PREFERENCES.md- Git workflow guidelinesGOOGLE_AUTH_SETUP.md- OAuth setup instructionsPROJECT_STRUCTURE.md- This fileROLES.md- Role-based access controlTYPESCRIPT_BEST_PRACTICES.md- TypeScript guidelinesUI_STANDARDS.md- UI/UX guidelinesVERCEL_DEPLOYMENT_GUIDE.md- Deployment instructions
Key Configuration Files
Root Level
turbo.json- Turborepo pipeline configurationpnpm-workspace.yaml- Workspace package definitionsbiome.json- Code formatting and linting rulesvercel.json- Vercel deployment settings.env.example- Environment variable template
Application Level
next.config.js- Next.js configurationtailwind.config.ts- Tailwind CSS configurationtsconfig.json- TypeScript configurationpackage.json- Dependencies and scripts
Scripts Overview
Development
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production server
Code Quality
pnpm lint- Run linterpnpm lint:fix- Auto-fix lint issuespnpm format- Format codepnpm typecheck- TypeScript type checking
Deployment
pnpm vercel-build- Build for Vercel deployment
Environment Variables
Required environment variables:
DATABASE_URL- Database connection stringCONVEX_URL- Convex deployment URLNEXT_PUBLIC_CONVEX_URL- Public Convex URL- OAuth credentials (Google, GitHub)
- Various API keys and secrets
Port Configuration
- Development: Port 3005 (configured in package.json)
- Production: Managed by Vercel
Recent Updates (July 2025)
- Removed
_protected/devfolder (72 unused files) - Cleaned up unused API routes
- Removed unused dependencies (@tiptap packages)
- Unified dashboard layout implementation
- Added demo page with charts
- Improved TypeScript interfaces
Last updated: July 22, 2025