Project Structure
How the ShipNext project is organized and what each major directory owns.
This page gives a high-level map of the ShipNext repository. You do not need to memorize every detail before building; the integration docs explain each module more deeply.
layout.tsx
.env.example
drizzle.config.ts
package.json
...
Some files are omitted for readability. The goal here is to understand the ownership boundaries.
Root directories
| Directory / file | Responsibility |
|---|---|
app/ | Next.js App Router pages, layouts, and API routes |
components/ | Shared UI and feature components |
config/ | Website-level configuration |
content/ | MDX docs, blog posts, and legal pages |
lib/ | Shared utilities and data used across the app |
public/ | Static assets such as images, icons, and Open Graph images |
styles/ | Global MDX and styling support |
package.json | Dependencies and scripts |
drizzle.config.ts | Drizzle ORM configuration |
.env.example | Environment variable template |
App routes
app/ is the Next.js App Router entrypoint.
app/(marketing)- Public marketing pages such as home, pricing, blog, and legal pages.app/(auth)- Sign-in, sign-up, and password recovery pages.app/(protected)- Dashboard, settings, billing, and authenticated surfaces.app/api- Webhooks, auth callbacks, uploads, search, and other APIs.app/docs- Fumadocs documentation routes. Docs language switching is scoped here and does not add locale prefixes.
Content
content/docs stores localized documentation:
content/docs/
├── en/
└── zh/Both language trees keep the same slugs so /docs/... stays stable while the rendered language changes.
Shared responsibilities
| Area | Typical files |
|---|---|
| Docs renderer | app/docs, components/docs, lib/source.ts |
| Site config | config/website.ts |
| Marketing data | lib/landing/* |
| UI primitives | components/ui/* |
| Legal pages | content/legal, components/legal/* |
Dependency sketch
app -> components, config, lib
components -> lib, config, UI primitives
content -> Fumadocs / MDX source
lib -> shared utilities and source loadersNext steps
- Quick launch - Run the app locally.
- Installation - Requirements and install steps.