Letzte Woche habe ich ein Video-Tutorial veröffentlicht, das zeigt, wie ich Cursor und Claude 3.5 verwende, zusammen mit Open SaaS, um vollständige SaaS-Apps zu erstellen.
Das Originalvideo wurde von Influencer Rohan Paul reposted und hat mittlerweile über 200.000 Aufrufe!
Also, da es ein Thema zu dem viele Interesse haben scheinen, habe ich beschlossen, zusätzliche Informationen und Tipps bereitzustellen, um dem Video beizustehen und Ihnen beim schnellen Aufbau von SaaS-Apps zu helfen und Ihnen vielleicht ein paar extra Geld zu verdienen!
Anwendung von Open SaaS und Wasp
Das Wichtigste ist, dass ich Open SaaS verwende, ein kostenloser, quelloffener, vollständiger React-, NodeJS- und Prisma-SaaS-Starter als Basis.
Open SaaS enthält bereits eine Reihe von coolen Features aus der Schachtel:
-
Fullstack-Authentifizierung
-
Beispiele für Open AI API-Apps
-
Beispiele für AWS S3-Dateiupload
-
Integration von Stripe oder Lemon Squeezy für Zahlungen
-
Vollständige typesafety
-
Admin-Dashboard
-
E-Mail-Senden
-
Vollständige Dokumentation
-
Einfache, mit einem Befehl durchgeführte Deployments
Wenn Sie mehr erfahren möchten, schauen Sie auf die Open SaaS Homepage vor.
Nicht nur das Template ist ein großartiger Start, weil es mit vielen Standardcode-Stücken auskommt, sondern es ist auch auf Wasp aufgebaut, einem React/NodeJS-Framework mit eingebauten Batterien.
Wasp’s Verwendung einer zentralen Konfigurationsdatei bedeutet, dass Sie nur Features in wenigen Zeilen definieren müssen und Wasp sie für Sie verwalten wird, was das Schreiben von vielen Standardcode-Stücken für Dinge wie Authentifizierung vermeidet, beispielsweise:
app todoApp {
title: "ToDo App", // visible in the browser tab
auth: { // full-stack auth out-of-the-box
userEntity: User,
methods: { google: {}, gitHub: {}, email: {...} }
}
}
Das bedeutet, dass beim Arbeiten mit AI-unterstützten Codetools wie Cursor und Claude das AI weniger Arbeit machen muss. Es schreibt einen einfachereren Code und Sie erhalten einen einfacher zu debuggen Code!
Cursor Tipps und Tricks
Wenn ich mit Cursor arbeite, stelle ich fest, dass es immer noch einige Probleme mit dem AI-Halluzinose oder dem Schreiben von fehlerhaften Codes gibt. Ich habe diese Probleme auf zwei Wegen gelöst:
-
Füge die Wasp-Dokumentation in das Cursor-Kontext hinzu
-
Gib Cursor Anweisungen, wie es die häufigsten Fehler, die es in den Cursor-Regeln-Einstellungen macht, überwinden kann.
-
Stelle sicher, dass Sie Ihre gesamte Codebasis indizieren.
1. Fügen Sie die Wasp-Dokumentation in den Kontext des Cursors hinzu
Der Vorteil von Open SaaS und Wasp als Unterbau ist, dass beide kostenlos und Open Source sind. Glücklicherweise bedeutet das, dass wir auch Zugriff auf ihre Rohdokumentationsdateien haben, die in Markdown geschrieben sind und auf ihren jeweiligen GitHub-Repositories gefunden werden können.
Also was ich tun werde, ist, die Wasp-Markdown-Dateien in ihre eigene Directory innerhalb des Projekts, auf dem ich arbeite, zu kopieren. Dann kann ich die Dokumentation immer dann referenzieren, wenn ich Fragen habe oder versuche, eine neue Funktion zu implementieren.
Dann kann ich, wenn ich den Cursor-Composer oder Chat-Interface verwende, das „@“-Zeichen verwenden und Ordner -> Dokumentation
auswählen und einen solchen Prompt schreiben:
Mithilfe der @docs als Leitfaden, helfe mir, die Chat-Funktionalität mit Wasp’s Websockets-Feature in meine App zu integrieren. Geben Sie der App eine Chat-Seite…
2. Hinzufügen von Cursor-Regeln, um häufige Fehler zu vermeiden
Cursor und Claude sind hervorragend darin, Code über mehrere Dateien zu schreiben, aber sie können immer noch kleine Fehler machen, wie z.B. falsche Importe oder das Verpassen einer Wasp-Funktion, die die Implementierung schneller machen würde.
Daher bevorzuge ich es, diese häufigsten Fehler zu kennzeichnen und sie der Cursor-Regelensektion innerhalb der Cursor-Einstellungen hinzuzufügen. Alternativ können Sie diese Regeln in einem .cursorrules
-Datei im Stammverzeichnis Ihres Projekts ablegen, wenn Sie sie projektabhängig behalten möchten.
Wichtig ist, dass Sie, wenn Sie feststellen, dass Cursor immer die gleichen Fehler macht, die Dokumentation überprüfen, das Problem finden und eine neue Regel hinzufügen, wie sie erscheinen.
Hier sind die bisher für mich nützlichen Regeln:
-
Wenn Sie Wasp-Funktionen aus dem SDK importieren, stellen Sie sicher, dass Sie ‚wasp‘ verwenden und nicht ‚@wasp‚, z.B.
import { Task } from 'wasp/entities'
,import { type GetTasks } from 'wasp/server/operations'
,import { getTasks, useQuery } from 'wasp/client/operations'
-
Fügen Sie neue Entitäten (also Modelle) der
schema.prisma
hinzu, NICHT dermain.wasp
Datei -
Fügen Sie keine Abhängigkeiten der
main.wasp
Datei hinzu, sondern befehlen Sie ihnen stattdessen mittelsnpm install
zu installieren. -
Wenn Sie Wasp-Operationen (Abfragen und Aktionen) erstellen, kombinieren Sie sie in einer operations.ts-Datei innerhalb des Feature-Verzeichnisses anstatt separate queries.ts und actions.ts-Dateien zu verwenden
3. Indizieren Sie Ihre gesamte Codebasis
Das ist einfach. Stellen Sie sicher, dass Sie in Ihren Cursor-Einstellungen die Option haben, Ihre Codebasis zu indizieren, da diesCursor erleichtert, Ihr ganzes Projekt (sowie die Dokumentationsdateien) in den Kontext zu bringen, wenn Sie es bitten, etwas für Sie zu tun.
Es gibt auch eine Option Neue Ordner standardmäßig indexieren
im Dropdown-Menü Einstellungen anzeigen
. Stellen Sie sicher, dass diese Option aktiviert ist, um neue Ordner und Funktionen automatisch zu indizieren, wenn Cursor sie erstellt
Jetzt hol‘ Sie sich SaaSin‘
Und das ist schon fast alles. Es gibt keinen Grund mehr, dass Sie nicht das coole SaaS-App-Idee, die Sie immer hatten, umsetzen.
Die Verwendung von Cursor zusammen mit Open SaaS und Wasp ist wie ein Cheatschalter für die SaaS-App-Entwicklung, also haben Sie Spaß damit!
Oh, und wenn Sie das nützlich finden, wären wir dankbar über einen Stern auf GitHub 🙏
Es ist die einfachste Art, Open-Source-Initiative wie unsere zu unterstützen.
Danke und bis zum nächsten Mal!
Source:
https://wasp-lang.hashnode.dev/using-cursor-claude-to-make-full-stack-saas-apps