# Bestehendes Repository importieren

Ein lokaler Ordner wird per Agent oder mit ap platform projects import-local zu einem Plattform-Projekt mit Repositories, Pipelines und Deployment.

> Source: https://www.application-platform.com/de/docs/agent-project-import/

Der Import legt aus einem lokalen Ordner ein Projekt an, klont die generierten Repositories, legt deine Dateien darüber und pusht auf `main`; er braucht `ap login` ([CLI und Agent-Plugin]({{< relref "cli-and-agent-plugin" >}})).

## Per CLI

```bash
ap platform projects import-local ~/code/shop "Shop"
```

Der Befehl nimmt Pfad und Projektname (alternativ `--name`), klont nach `~/Documents/application-platform/<organisations-slug>/<projekt-slug>/`, überträgt die Dateien ohne `.git`, `.gitlab-ci.yml` und `env/*.generated.env` anzutasten und committet und pusht jedes Repository.

`--slug`, `--description` und `--workspace-root` setzen Slug, Beschreibung und Workspace-Ordner, `--flat-layout` das Layout `<workspace-root>/<projekt-slug>` ohne Organisationsebene, `--skip-commit` lässt Commit und Push aus; mehrere Komponenten ordnest du mit `--repositories-json` Unterordnern zu:

```bash
ap platform projects import-local ~/code/shop "Shop" \
  --repositories-json '[{"path":"homepage","name":"Marketing"},{"path":"api","name":"API"}]'
```

## Unterstützte Stacks

Der Import erkennt nur Stacks des Assistenten; die Bezeichner gelten für `techStack` in `--repositories-json` und den MCP-Werkzeugen.

| Typ | Bezeichner |
|---|---|
| App | `flutter`, `react-native-expo`, `nextjs`, `native-ios`, `native-android` |
| Homepage | `hugo`, `astro` |
| Backend | `nestjs`, `fastapi`, `laravel` |
| Package (nur bei eindeutigem Package-Ordner) | `dart-package`, `docker-image`, `npm`, `go`, `kotlin`, `pypi`, `terraform-module`, `terraform-provider`, `vscode-plugin` |

Django, Vue, Express, Symfony, Svelte, Spring und andere Frameworks fehlen heute im Assistenten; der Agent bricht dann ab und nennt das fehlende Framework.

## Per Agent

Mit installiertem Agent-Plugin öffnest du den Ordner in Cursor, Claude Code oder Codex und fügst diesen Prompt ein; [Bestehendes Projekt übernehmen]({{< relref "import-existing-project" >}}) führt vom Account bis hierher.

{{< agent-import-prompt >}}

Der Skill `import-existing-project` prüft `ap`, die Anmeldung (`platform_whoami`) und den MCP-Server `application-platform`, bestätigt Pfad und Projektnamen und ruft `platform_projects_import_local` mit `path` und `name` auf, optional mit `slug`, `description`, `workspaceRoot` und `repositories[]` (`path`, `name`, `repositoryName`, `type`, `techStack`). Ältere Clients ohne dieses Werkzeug nutzen `platform_projects_create`, `platform_watch` (Subjekt `project`) und `platform_projects_clone`, übernehmen die Dateien ohne `.git`, `.gitlab-ci.yml` und `env/*.generated.env` und pushen auf `main`.

Schlägt Create, Import oder Watch fehl, ist das die Antwort; der Agent klont nicht von Hand, erfindet keine zweite API und schreibt keine Secrets in Commits oder Antworten.

## Danach im Workspace arbeiten

Ab jetzt arbeitest du im geklonten Workspace statt im alten Ordner; dort gelten `AGENTS.md` und `CLAUDE.md` aus `local-configuration`, und jede Anwendung startet mit `ap run-local` ([Lokal entwickeln]({{< relref "local-development" >}})). Der erste Push hat die Pipelines gestartet ([Git-Workflow und Deployment]({{< relref "git-workflow" >}})).

