FastAPI-Projektgenerator
Generieren Sie ein sauberes, verifiziertes FastAPI-Projekt. Führen Sie ein kurzes Benutzerinterview durch, empfehlen Sie sinnvolle Standardeinstellungen, erstellen Sie das Gerüst und verifizieren Sie es mit echten Befehlen.
Schritt 1 – Interview
Verwenden Sie das strukturierte Fragentool Ihres Agenten, falls vorhanden (jedes Ask-the-User- oder Multiple-Choice-Eingabe-Tool). Falls nicht, stellen Sie dieselben Fragen im Chat als kurze nummerierte Liste mit Buchstabenoptionen und der empfohlenen Option dar und warten Sie auf die Antwort.
Fragen Sie in höchstens zwei Runden. Überspringen Sie jede Frage, die der Benutzer bereits in seiner Nachricht beantwortet hat. Kennzeichnen Sie die empfohlene Option immer zuerst mit "(Empfohlen)". Fragen Sie niemals nach Dingen, die einen sicheren Standardwert haben.
Runde 1 – Wesentliches (ein Block, bis zu 4 Fragen):
- Projektname – Freitext ("Andere" verwenden). Geben Sie einen kurzen Vorschlag basierend auf dem Verzeichnisnamen. Normalisieren Sie zu Kebab-Case für den Ordner und Snake_Case für Python-Namen.
- Zielordner – Optionen: aktuelles Verzeichnis
./<name>(Empfohlen), ein benutzerdefinierter Pfad (Andere). - Architektur – Modular geschichtet (Empfohlen), Minimal, Clean Architecture, Hexagonal. Microservices erscheinen nur über "Andere"; falls ausgewählt, nach dem Grund fragen und davor warnen (siehe
references/architectures.md). - Dienste (Mehrfachauswahl) – PostgreSQL + SQLAlchemy + Alembic, JWT-Auth, Redis, Docker Compose. Empfehlen Sie PostgreSQL und Docker Compose.
Runde 2 – Optionale Extras (nur fragen, wenn relevant; ein Block):
- Vektor-DB (Mehrfachauswahl, nur wenn der Benutzer KI/RAG oder Qdrant möchte): Qdrant, PostgreSQL pgvector, Keine.
- KI-Module (Mehrfachauswahl): Keins (Empfohlen), LangChain, LangGraph, RAG, MCP.
- LLM-Anbieter (nur wenn ein KI-Modul ausgewählt wurde): OpenAI, Anthropic, Google Gemini, Ollama (lokal).
- Konversationsstatus speichern? (nur wenn LangGraph ausgewählt): Ja via Postgres Checkpointer / Nein (im Arbeitsspeicher).
Drucken Sie dann eine 6-zeilige Zusammenfassung der Entscheidungen und fahren Sie fort – fragen Sie nicht erneut nach Bestätigung, es sei denn, der Zielordner ist nicht leer.
Schritt 2 – Sicherheitsprüfungen
- Lösen Sie den Zielpfad auf. Wenn er existiert und nicht leer ist, STOPPEN und fragen, ob ein anderer Ordner verwendet oder gemerged werden soll. Überschreiben Sie niemals vorhandene Dateien ohne explizite Zustimmung.
- Bestätigen Sie, dass
uvinstalliert ist (uv --version). Falls nicht, teilen Sie dem Benutzer mit, wie es installiert wird (curl -LsSf https://astral.sh/uv/install.sh | sh) und stoppen Sie. - Bestätigen Sie, dass Docker nur verfügbar ist, wenn Docker Compose ausgewählt wurde, und nur für den Verifikationsschritt.
Schritt 3 – Gerüst erstellen
Lesen Sie die passenden Referenzdateien, bevor Sie Code generieren:
- Immer:
references/base-project.md(Layout, Startdateien, uv-Regeln, Codestandards) - Gewählte Architektur:
references/architectures.md - Gewählte Dienste:
references/services.md(Abhängigkeiten, Docker-Standards) - Jedes KI-Modul:
references/ai-rag.md
Regeln, die immer gelten:
- Python 3.12, nur uv (niemals pip).
backend/pyproject.tomlundbackend/uv.lockbleiben zusammen. [tool.uv] package = falsees sei denn, der Benutzer möchte explizit ein installierbares Paket.- Kein
src/-Verzeichnis. Keine leeren Abstraktionsebenen. - Abhängigkeiten nur für ausgewählte Dienste via
uv add/uv add --devhinzufügen. - Erforderliche Dateien:
app/main.py,app/core/config.py,app/api/routes/health.py,tests/test_health.py,.env.example,.gitignore,README.md. /healthgibt HTTP 200{"status": "ok"}zurück; Swagger unter/docs.- Niemals Geheimnisse im Quellcode; niemals
.envcommitten. - KI-Ordner, Endpunkte und Abhängigkeiten existieren nur, wenn angefordert.
Schritt 4 – Verifizierung (niemals Erfolg behaupten, ohne auszuführen)
Von backend/ aus:
uv sync
uv run ruff check .
uv run ruff format --check .
uv run pytest -v
Wenn Docker Compose ausgewählt wurde: docker compose config (vom Projektstamm aus).
Führen Sie docker compose up -d nur aus, wenn der Benutzer fragt, oder fragen Sie einmal. Beheben Sie Fehler und führen Sie erneut aus.
Wenn etwas nicht verifiziert werden kann, sagen Sie es.
Schritt 5 – Ergebnisbericht
Berichten Sie prägnant:
- Projektstandort
- Gewählte Architektur
- Enthaltene Dienste
- Installierte Abhängigkeiten
- Erstellte Dateien (Baum)
- Befehl zum Starten der API:
cd backend && uv run uvicorn app.main:app --reload - Befehl zum Ausführen der Tests:
cd backend && uv run pytest -v - Tatsächliche Testergebnisse und Lint-Ergebnisse
- Bekannte Einschränkungen
Beenden Sie, indem Sie einen nächsten Schritt anbieten (z.B. "Erstes Domänenmodul hinzufügen", "git init und pushen").