Dokumentation
Schnellstart
Von Arbeitsbereichsabhängigkeiten bis hin zu einem Desktop-Fenster, das durch den echten lokalen Sidecar unterstützt wird.
Automatisch aus dem Englischen übersetzt. Englisches Original ansehen
Anforderungen
Installationsprogramme und ein Quell-Checkout sind unterschiedlich
Ein veröffentlichter Desktop-Build befindet sich auf der download-Seite. Diese Anleitung installiert das Repository und führt es aus desktop:dev. Lesen Installieren wenn Sie stattdessen die Release-Artefakte benötigen.
Der Arbeitsbereich deklariert Bun 1.4.4 als Paketmanager. Verwenden Sie die Repository-Sperrdatei für die Abhängigkeitsinstallation. Für die native Desktop-Entwicklung sind außerdem eine Rust-Toolchain, die Tauri-Build-Abhängigkeiten der Plattform und eine installierte System-Webansicht erforderlich. Die Tauri-CLI ist bereits eine Desktop-Entwicklungsabhängigkeit.
- macOS: Xcode-Befehlszeilentools für Rust/native Verknüpfung und Paketierung.
- Windows: die MSVC-Toolchain und WebView2-Laufzeit-/Build-Voraussetzungen.
- Linux: WebKitGTK 4.1, Anwendungsindikator, librsvg, OpenSSL und Bundler-Tools. Der CI-Workflow erfasst die unter Ubuntu verwendeten Pakete.
- iOS-Begleiter: macOS, Xcode, CocoaPods und ein nativer Expo-Build, der das lokale Pinning-Modul enthält.
Eine Browservorschau erfordert Bun- und Workspace-Abhängigkeiten, kompiliert jedoch nicht die Rust-Shell. Ein Release-Installationsprogramm erfordert zusätzlich eine Signaturkonfiguration. das ist von der lokalen UI-Entwicklung getrennt.
Abhängigkeiten installieren
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core Einmal im Arbeitsbereich-Stammverzeichnis installieren, also lokal workspace:* abhängigkeiten lösen sich gemeinsam auf. CI verwendet bun install --frozen-lockfile sperrdateidrift ablehnen. Verwenden Sie die Paketskripts, um den konfigurierten Compiler des Repositorys auszuwählen, anstatt davon auszugehen, dass jedes Paket dieselbe ausführbare TypeScript-Datei verwendet.
Die oben genannten gezielten Befehle ermöglichen eine schnelle Quellenprüfung. Die vollständigen Arbeitsbereichsprüfungen sind bun run typecheck und bun run test; sie decken mehr Module ab und können länger dauern. Ein einzelnes übergebenes Paket beweist nicht, dass alle Laufzeitintegrationen konfiguriert sind.
Datenbank-Setup
Für den echten Desktop ist kein separater CLI-Migrationsbefehl erforderlich. Sein Launcher stellt das Anwendungsdatenverzeichnis und inszenierte Migrationen zum Sidecar bereit; Das Öffnen der Datenbank gilt für ausstehende Migrationen. bun run desktop:dev stellt die Migrationsressource als Teil der Vorbereitung des Sidecars bereit.
Das Datenbank-Befehlszeilentool ist separat. bun run db:migrate delegiert an das Datenbankpaket und verwendet standardmäßig ./data/cadcamfun.db normalerweise relativ zum Prozessverzeichnis dieses Pakets packages/db/data/cadcamfun.db wenn es über das Root-Skript aufgerufen wird. Setzen Sie ein Absolutes DATABASE_URL wenn Sie auf eine bestimmte Datenbank abzielen müssen.
bun run db:generate
bun run db:migrate Generation liest packages/db/src/schema.ts und schreibt Migrationen unter packages/db/drizzle. Durch das Anwenden von Migrationen wird die ausgewählte CLI-Datenbank aktualisiert, nicht jede Anwendungsdatenbank. Native Desktop-Daten befinden sich im Tauri-Anwendungsdatenverzeichnis. ein manuell gestarteter Sidecar verwendet CADCAMFUN_DATA_DIR.
Wählen Sie die Datenbank bewusst aus
Eine erfolgreiche CLI-Migration ändert nichts daran, welche Datenbank der Desktop öffnet. Suchen Sie das Sidecar-Datenverzeichnis, bevor Sie fehlende Projekte untersuchen oder einen manuellen Datenvorgang anwenden.
Öffnen Sie den Desktop
bun run desktop:dev Dadurch wird der echte Bun-Sidecar kompiliert, Migrationen durchgeführt und dann Tauri ausgeführt. Tauri startet Vite um http://localhost:1420 und öffnet die Webansicht. Die Rust-Shell wartet auf den „Ready Handshake“ des Sidecars; Die Webansicht prüft den Zustand, bevor geroutete Bildschirme angezeigt werden.
Halten Sie das Startterminal geöffnet. Die Shell ist Eigentümer des Sidecar-Lebenszyklus und stellt ihr Starttoken und ihre Pfade bereit. Wenn der Start fehlschlägt, überprüfen Sie den Startgrund und die Anwendungsprotokolle. Die Webansicht wiederholt die Endpunkterkennung für bis zu 150 Sekunden; Die Shell ermöglicht einen automatischen Sidecar-Neustart.
bun run --filter @cadcamfun/desktop dev Offen http://localhost:1420. Mit nein VITE_SIDECAR_URL, hierbei wird die In-Memory-Fake-API verwendet. Es unterstützt eine Teilmenge von Anforderungen und stellt keine dauerhaften Projekte, Anbietersitzungen oder nativen Dialoge bereit. Stellen Sie eine Verbindung zu einem Live-Sidecar her, indem Sie sowohl die Vite-Sidecar-URL als auch die Token-Prozessvariablen festlegen.
Das Desktop-Paket tauri:dev das Skript erstellt einen Stub-Sidecar, wenn die Binärdatei fehlt. Der Stub unterstützt die Shell-Isolation. Bevorzugen Sie die Wurzel desktop:dev befehl beim Ausführen von Anwendungsdiensten.
bun run desktop:dev erste Läufe build:sidecar, das den Sidecar kompiliert und Migrationen (Pipelineschritte) inszeniert compile und resources). Dann geht es los tauri dev im Desktop-Paket.
Überprüfen Sie die erste Sitzung
- Warten Sie, bis die Anwendung den Startbildschirm verlässt, und bestätigen Sie, dass sie mit der vorgesehenen API verbunden ist.
- Erstellen oder öffnen Sie ein Projekt und geben Sie CAD oder CAM ein.
- Speichern Sie die Arbeit und öffnen Sie sie erneut über die Projekt-/Ressourcen-Benutzeroberfläche, um die Persistenz zu überprüfen.
- Wenn Sie den Assistenten verwenden, konfigurieren Sie einen unterstützten Modellanbieter in den Desktop-Einstellungen, bevor Sie ein Gespräch beginnen.
- Wenn Sie den iOS-Begleiter verwenden, aktivieren Sie dessen Gateway und erstellen Sie eine Gerätekopplung auf dem Desktop.
Das Testen eines sichtbaren Pfades validiert nicht die Bearbeitungssicherheit. Überprüfen Sie Lagerbestände, Werkzeuge, Maschinengrenzen, Postausgabe und Verifizierungsergebnisse für den tatsächlichen Vorgang, bevor Sie die NC-Ausgabe an eine Maschine übertragen.
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build Das Web start befehl führt Astro aus. Verwenden Sie die aufgedruckte lokale Adresse. Das Web dev skript startet zusätzlich die Studio-API, die die ausgewählte lokale Datenbank öffnen kann; Verwenden Sie es, wenn Sie an Studio arbeiten, und nicht nur an der statischen Dokumentation.
Nächste Befehle
| Ziel | Befehl |
|---|---|
| Nur Sidecar kompilieren und Migrationen durchführen | bun run build:sidecar |
| Erstellen Sie ein Frontend ohne Installationsprogramme | bun run build:desktop |
| Überprüfen Sie den nativen Build-Plan | bun scripts/build.ts --dry-run |
| API-Clients neu generieren | bun run generate |
| Überprüfen Sie die generierten Clients | bun run generate:check |
| Führen Sie Begleittransporttests durch | bun run --cwd apps/mobile test |
Verifizieren Sie eine echte API ohne Modell
Starten Sie den im lokalen Entwicklungsleitfaden beschriebenen manuellen Sidecar oder verwenden Sie den Endpunkt/Token eines von Ihnen kontrollierten Entwicklungsprozesses. Das folgende Rezept erstellt ein Einwegprojekt und listet es auf. Es braucht Locken; Die optionale Identifikatorextraktion verwendet Bun. Ersetzen Sie den Beispielport und das Token durch die Ihres isolierten Sidecars.
CADCAM_URL=http://127.0.0.1:43111
CADCAM_TOKEN=local-development-token
curl --fail-with-body "$CADCAM_URL/api/health"
curl --fail-with-body -X POST "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN" -H 'Content-Type: application/json' -d '{"name":"Documentation smoke","description":"Disposable local check","isPublic":false}' -o /tmp/cadcamfun-project-smoke.json
curl --fail-with-body "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN"
CADCAM_PROJECT_ID=$(bun --no-env-file -e 'const row = await Bun.file("/tmp/cadcamfun-project-smoke.json").json(); console.write(row.id)')
curl --fail-with-body "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID" -H "Authorization: Bearer $CADCAM_TOKEN" Health gibt ein Status-/Zeitstempelobjekt zurück. Die Projekterstellung gibt HTTP 201 und eine Projektzeile mit ihrer Kennung zurück. Die Auflistung gibt eine Reihe von Projekten mit Eigentümer-/Organisationsbeziehungen und -anzahlen zurück. Das Lesen nach Kennung gibt ein solches verwandtes Projekt zurück. Das Beispiel ruft kein Modell auf und generiert keine Maschinenausgabe.
Schließen Sie den manuellen Sidecar sauber, starten Sie ihn mit demselben Datenverzeichnis neu, aktualisieren Sie die kurzlebige URL und listen Sie die Projekte erneut auf, um die Persistenz zu überprüfen. Bei einem neuen Start wird möglicherweise ein anderer Port ausgewählt. Wenn dieses Projekt nicht vorhanden ist, vergleichen Sie zunächst das Datenverzeichnis, den Client-Endpunkt und den Autorisierungskontext.
Die Bereinigung ist für dieses einmalige Projekt optional und destruktiv: Senden DELETE /api/projects/<id> erst nach Bestätigung der zurückgegebenen Kennung. Erstellen/Listen/Lesen Sie die Anwendungspersistenz, ohne dass eine erfolgreiche Bereinigung erforderlich ist.
Interpretieren Sie Fehler bei der ersten Ausführung
| Versagen | Wahrscheinliche Grenze | Nächste Aktion |
|---|---|---|
| Die Abhängigkeitsinstallation kann ein lokales Paket nicht auflösen | Arbeitsbereichsinstallation | Vom Repository-Stammverzeichnis mit der deklarierten Bun-Version und Sperrdatei ausführen. |
| Native Verknüpfung oder WebKit-Fehler | Tauri-Voraussetzungen | Installieren Sie die Toolchain-/Plattformbibliotheken, die vom passenden CI-Ziel verwendet werden. |
| Kein fertiges Ereignis | Sidecar-Konfiguration, Migration oder Start | Überprüfen Sie stderr und das strukturierte Fehlerereignis. Halten Sie stdin offen. |
| Gesundheit funktioniert, Projektaufruf geht zurück 401 | Genehmigung | Gesundheit ist öffentlich; Geschützte API-Aufrufe benötigen weiterhin das aktuelle Prozesstoken. |
| Retouren erstellen 400 | Validierung/Geschäftsvalidierung anfordern | Senden Sie JSON mit einem nicht leeren Namen und überprüfen Sie die zurückgegebene Nachricht. |
| Erstellen Sie Retouren 403 mit Organisationsdaten | Mitgliedschaft in einer Organisation | Verwenden Sie eine zugängliche Organisation oder lassen Sie das Organisationsfeld für eine lokale Prüfung weg. |
| Der native Begleiter meldet, dass das Anheften nicht möglich ist | Fehlendes lokales Expo-Modul | Verwenden Sie einen benutzerdefinierten iOS-Build, nicht Expo Go. |
Halten Sie die erste Überprüfung klein: Gesundheit, ein Projekt, eine persistente Zeichnung/ein Programm, dann optionale Integrationen. Bei einem erfolgreichen Start der Basisanwendung werden Stripe, KI-Anbieter, ein Remote-GitHub-Repository oder mobiles Routing nicht automatisch konfiguriert.
Anforderungsdetails
| Werkzeug | Version | Benötigt für |
|---|---|---|
| Bun | 1.4.4 (das Repository packageManager) | Alles: Installation, Tests, Sidecar, Skripte |
| Rust-Toolchain + Tauri-Voraussetzungen | stabil; Plattform-Webview-Bibliotheken unter Linux | Die Desktop-Shell (desktop:dev, baut) |
| SQLite-CLI | beliebig | Optional: schreibgeschützte Datenbankinspektion |
| Xcode | — | Nur für den iOS-Begleiter |
Deine erste Stunde, Schritt für Schritt
git clone https://github.com/nikomatt69/cadcamfun.git
cd cadcamfun
bun install --frozen-lockfile
bun run typecheck # all workspaces
bun run test # bun test packages apps scripts
bun run desktop:dev # builds the sidecar + migrations, then tauri dev - Wenn das Fenster geöffnet wird, wechselt der Sidecar-Status innerhalb von Sekunden in den Status „Bereit“; Beim ersten Start wird ein neues Datenverzeichnis migriert.
- Erstellen Sie ein Projekt, fügen Sie eine Zeichnung hinzu, zeichnen Sie ein Rechteck und extrudieren Sie es.
- Öffnen Sie CAM, wählen Sie den Körper aus und generieren Sie ihn. Überprüfen Sie den Freigabestand und die Ansprüche, bevor Sie NC exportieren.
- Öffnen Sie das Verlaufsfenster und führen Sie einen Commit durch: Das Projekt hat jetzt seine erste Version.
Kein Modellschlüssel erforderlich
Alles oben Genannte funktioniert ohne einen KI-Anbieter. Fügen Sie später in den Assistenteneinstellungen einen Schlüssel hinzu.