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>
This commit is contained in:
57
platform/scripts/templates/turborepo/README.md
Normal file
57
platform/scripts/templates/turborepo/README.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# {{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:*"
|
||||
```
|
||||
Reference in New Issue
Block a user