Files
mawkone 2c3e7f9dfb feat: add Turborepo per-project monorepo scaffold and project API
- Add Turborepo scaffold templates (apps: product, website, admin, storybook; packages: ui, tokens, types, config)
- Add ProjectRecord and AppRecord types to control plane
- Add Gitea integration service (repo creation, scaffold push, webhooks)
- Add Coolify integration service (project + per-app service provisioning with turbo --filter)
- Add project routes: GET/POST /projects, GET /projects/:id/apps, POST /projects/:id/deploy
- Update chat route to inject project/monorepo context into AI requests
- Add deploy_app and scaffold_app tools to Gemini tool set
- Update deploy executor with monorepo-aware /execute/deploy endpoint
- Add TURBOREPO_MIGRATION_PLAN.md documenting rationale and scope

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:07:35 -08:00

58 lines
1.1 KiB
Markdown

# {{project-name}}
A full-stack monorepo powered by [Turborepo](https://turbo.build).
## Structure
```
apps/
product/ — core user-facing application
website/ — marketing and landing pages
admin/ — internal admin tooling
storybook/ — component browser and design system
packages/
ui/ — shared React component library
tokens/ — design tokens (colors, typography, spacing)
types/ — shared TypeScript types
config/ — shared eslint and tsconfig base configs
```
## Getting Started
```bash
pnpm install
pnpm dev
```
## Running a specific app
```bash
turbo run dev --filter=product
turbo run dev --filter=website
turbo run dev --filter=admin
```
## Building
```bash
pnpm build
# or a single app
turbo run build --filter=product
```
## Adding a new app
```bash
cd apps
npx create-next-app@latest my-new-app
# then add it to the workspace — pnpm will pick it up automatically
```
## Adding a new shared package
```bash
mkdir packages/my-package
# add a package.json with name "@{{project-slug}}/my-package"
# reference it from any app: "@{{project-slug}}/my-package": "workspace:*"
```