# Neues Projekt anlegen

Ein neues Projekt entsteht im Assistenten der Oberfläche oder als JSON über die mp CLI und die MCP-Werkzeuge des Agent-Plugins.

> Source: https://www.mainpath.ai/de/docs/create-project/

Aus Komponenten und Stack deines Produkts generiert MainPath die Git-Gruppe mit allen Repositories. Standard ist die GitLab-Instanz von MainPath; unten im Assistenten kannst du **GitHub** oder **GitLab.com** wählen, siehe [GitHub: Zugangsdaten]({{< relref "github-credentials" >}}) und [GitLab: Zugangsdaten]({{< relref "gitlab-credentials" >}}).

## Im Assistenten der Oberfläche

Nach der Registrierung unter `app.application-platform.com/register` legst du über **Organisation erstellen** eine Organisation an. Der Projekt-Assistent fragt Komponenten (auch mehrere Apps), Tech-Stack je Komponente und optional Domains, Store-Accounts und Hosting ab; jeden Klick zeigt [Dein erstes Projekt anlegen]({{< relref "getting-started" >}}).

Unterstützt sind Flutter, React Native (Expo), Next.js, natives iOS und Android für Apps, Hugo und Astro für Homepages sowie NestJS, FastAPI und Laravel für Backends; Django, Vue oder Spring fehlen heute.

## Per CLI mit JSON

`demo-json` schreibt eine Vorlage, mit `--minimal` eine kürzere:

```bash
mp platform projects demo-json --minimal -o project.json
```

Eine Next.js-App mit NestJS-Backend und Datenbank sieht so aus:

```json
{
  "slug": "shop",
  "name": "Shop",
  "description": "Onlineshop mit Browser-App und API",
  "hostingMode": "none",
  "deploymentMode": "standard",
  "repositories": [
    {
      "type": "app",
      "techStack": "nextjs",
      "name": "Web App",
      "configurationId": "web",
      "webProdDomain": "app.example.com",
      "webEnabled": true
    },
    {
      "type": "backend",
      "techStack": "nestjs",
      "name": "API",
      "backendUrl": "api.example.com",
      "hasDatabase": true,
      "smtpEnabled": false
    }
  ]
}
```

`type` und `techStack` entsprechen den Stacks des Assistenten, Packages (`dart-package`, `npm`, `go`, `docker-image` und weitere) sind zusätzlich möglich. Danach legst du das Projekt an, wartest mit `--watch` auf die Repositories und klonst sie:

```bash
mp platform projects create --from-json project.json --watch
mp platform projects clone shop
```

`clone` legt alle Repositories unter `~/Documents/MainPath/<organisations-slug>/shop/` ab, richtet die Git-Hooks ein und verlinkt `local-configuration`; `mp platform projects status <projekt-id>` zeigt den Stand einer laufenden Einrichtung.

## Per Agent

Mit dem [Agent-Plugin]({{< relref "cli-and-agent-plugin" >}}) reicht der Prompt „Lege ein neues MainPath-Projekt mit einer Next.js-App und einem NestJS-Backend an und klone es.“ Der Skill `create-project` ruft `platform_whoami` auf, holt mit `platform_projects_demo_json` (`minimal: true`) die Vorlage, passt `name`, `repositories[].type` und `techStack` an, ruft `platform_projects_create` auf, wartet mit `platform_watch` (Subjekt `project`) und klont mit `platform_projects_clone`. Bei mehreren Organisationen fragt der Agent nach, Mitgliedschaften lässt er leer, damit du Maintainer wirst, und schlägt Create oder Watch fehl, legt er nichts an MainPath vorbei an.

## Was danach in GitLab liegt

Pro Komponente entsteht ein Repository mit Code-Gerüst, generierter `.gitlab-ci.yml` und `env/`-Dateien, dazu `local-configuration` (Editor-Konfiguration), `gitops-configuration` (Deployment für Dev und Prod) und `gitlab-profile` (README der Gruppe); Sentry kommt hinzu, sobald unter **Anbindungen** ein Sentry-Konto verbunden ist. Danach öffnest du den Projektordner im Editor und startest jede Anwendung mit `mp run-local`, siehe [Lokal entwickeln]({{< relref "local-development" >}}).

