Aller au contenu
CADCAMFUN
Docs

Documentation

Démarrage rapide

Des dépendances de l'espace de travail à une fenêtre de bureau soutenue par le véritable sidecar local.

Traduit automatiquement de l'anglais. Voir l'original en anglais

Exigences

Les installateurs et une extraction de source sont différents

Une version de bureau publiée est sur le page de téléchargement. Ce guide installe le référentiel et exécute desktop:dev. Lire Installer quand vous voulez plutôt les artefacts de version.

L'espace de travail déclare Bun 1.4.4 en tant que gestionnaire de paquets. Utilisez le fichier de verrouillage du référentiel pour l'installation des dépendances. Le développement de bureau natif nécessite également une chaîne d'outils Rust, les dépendances de build Tauri de la plate-forme et une vue Web du système installée. La CLI Tauri est déjà une dépendance de développement de bureau.

  • macOS : Outils de ligne de commande Xcode pour la liaison et l'empaquetage Rust/natif.
  • Fenêtres : la chaîne d'outils MSVC et les prérequis d'exécution/build WebView2.
  • Linux : WebKitGTK 4.1, indicateur d'application, librsvg, OpenSSL et outils de regroupement. Le workflow CI enregistre les packages utilisés sur Ubuntu.
  • compagnon iOS : macOS, Xcode, CocoaPods et une version native d'Expo contenant le module d'épinglage local.

Un aperçu du navigateur nécessite des dépendances Bun et l'espace de travail mais ne compile pas le shell Rust. Un programme d'installation de version nécessite en outre une configuration de signature ; qui est distinct du développement de l'interface utilisateur locale.

Installer les dépendances

Depuis la racine du référentiel
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core

Installer une fois à la racine de l'espace de travail de manière locale workspace:* les dépendances se résolvent ensemble. Utilisations CI bun install --frozen-lockfile pour rejeter la dérive du fichier de verrouillage. Utilisez les scripts du package pour sélectionner le compilateur configuré du référentiel plutôt que de supposer que chaque package utilise le même exécutable TypeScript.

Les commandes ciblées ci-dessus fournissent une vérification rapide de la source. Les vérifications complètes de l'espace de travail sont bun run typecheck et bun run test; ils couvrent plus de modules et peuvent prendre plus de temps. Un package de réussite individuel ne prouve pas que toutes les intégrations d’exécution sont configurées.

Configuration de la base de données

Le vrai bureau ne nécessite pas de commande de migration CLI distincte. Son lanceur fournit le répertoire des données de l'application et les migrations par étapes vers le sidecar ; l'ouverture de la base de données s'applique aux migrations en attente. bun run desktop:dev organise la ressource de migration dans le cadre de la préparation du sidecar.

L'outil de ligne de commande de base de données est distinct. bun run db:migrate délègue au package de base de données et par défaut ./data/cadcamfun.db par rapport au répertoire de processus de ce package, normalement packages/db/data/cadcamfun.db lorsqu'il est invoqué via le script racine. Définir un absolu DATABASE_URL lorsque vous devez cibler une base de données spécifique.

Uniquement lors de la modification du schéma de la base de données
bun run db:generate
bun run db:migrate

La génération lit packages/db/src/schema.ts et écrit les migrations sous packages/db/drizzle. L'application des migrations met à jour la base de données CLI sélectionnée, et non toutes les bases de données d'application. Les données de bureau natives se trouvent dans le répertoire de données de l'application Tauri ; un sidecar démarré manuellement utilise CADCAMFUN_DATA_DIR.

Choisissez délibérément la base de données

Une migration CLI réussie ne modifie pas la base de données ouverte par le bureau. Localisez le répertoire de données sidecar avant d'enquêter sur les projets manquants ou d'appliquer une opération manuelle sur les données.

Ouvrez le bureau

Depuis la racine du référentiel
bun run desktop:dev

Celui-ci compile le véritable sidecar Bun et effectue les migrations, puis exécute Tauri. Tauri démarre Vite à http://localhost:1420 et ouvre la vue Web. Le shell Rust attend la poignée de main prête du sidecar ; la vue Web vérifie l'état de santé avant d'afficher les écrans routés.

Gardez le terminal de lancement ouvert. Le shell est propriétaire du cycle de vie du sidecar et fournit son jeton de lancement et ses chemins. Si le démarrage échoue, inspectez la raison du démarrage et les journaux d'application. La vue Web tente à nouveau de découvrir le point de terminaison pendant 150 secondes ; le shell permet un redémarrage automatique du sidecar.

Aperçu de l'interface utilisateur uniquement sur navigateur
bun run --filter @cadcamfun/desktop dev

Ouvrir http://localhost:1420. Sans VITE_SIDECAR_URL, cela utilise la fausse API en mémoire. Il prend en charge un sous-ensemble de requêtes et ne fournit pas de projets persistants, de sessions de fournisseur ou de boîtes de dialogue natives. Connectez-vous à un sidecar en direct en définissant à la fois l'URL du sidecar Vite et les variables de processus de jeton.

Le package de bureau tauri:dev le script crée un sidecar stub lorsque le binaire est manquant. Le stub prend en charge l’isolation du shell. Préférez la racine desktop:dev commande lors de l’exercice des services d’application.

bun run desktop:dev premières courses build:sidecar, qui compile le sidecar et organise les migrations (étapes du pipeline compile et resources). Cela commence alors tauri dev dans le package de bureau.

Vérifier la première session

  1. Attendez que l'application quitte l'écran de démarrage et confirmez qu'elle est connectée à l'API prévue.
  2. Créez ou ouvrez un projet et entrez CAO ou CAM.
  3. Enregistrez le travail et rouvrez-le via l’interface utilisateur du projet/ressource pour vérifier la persistance.
  4. Si vous utilisez l'assistant, configurez un fournisseur de modèles pris en charge dans les paramètres du bureau avant de démarrer une conversation.
  5. Si vous utilisez le compagnon iOS, activez sa passerelle et créez un couplage d'appareils sur le bureau.

Tester une trajectoire visible ne valide pas la sécurité de l'usinage. Inspectez le stock, l'outillage, les limites de la machine, la post-sortie et les résultats de vérification de l'opération réelle avant de transférer la sortie CN à une machine.

Exécuter le site de documentation
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build

Le Web start la commande exécute Astro. Utilisez son adresse locale imprimée. Le Web dev le script démarre en outre l'API Studio, qui peut ouvrir la base de données locale sélectionnée ; utilisez-le lorsque vous travaillez sur Studio plutôt que sur une documentation statique seule.

Commandes suivantes

ButCommande
Compiler le sidecar uniquement et effectuer les migrationsbun run build:sidecar
Construire une interface sans installateursbun run build:desktop
Examiner le plan de build natifbun scripts/build.ts --dry-run
Régénérer les clients APIbun run generate
Vérifier les clients générésbun run generate:check
Exécuter des tests de transport compagnonbun run --cwd apps/mobile test

Vérifier une vraie API sans modèle

Démarrez le sidecar manuel décrit dans le guide de développement local ou utilisez le point de terminaison/jeton d'un processus de développement que vous contrôlez. La recette suivante crée un projet jetable et le répertorie. Il a besoin de boucles ; l'extraction facultative de l'identifiant utilise Bun. Remplacez l'exemple de port et de jeton par ceux de votre sidecar isolé.

Deuxième terminal : santé, créer, lister, lire
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 renvoie un objet statut/horodatage. La création de projet renvoie HTTP 201 et une ligne de projet avec son identifiant. La liste renvoie un tableau de projets avec des relations et des décomptes propriétaire/organisation ; la lecture par identifiant renvoie un de ces projets associés. L'exemple n'appelle pas de modèle et ne génère pas de sortie machine.

Fermez proprement le sidecar manuel, redémarrez-le avec le même répertoire de données, mettez à jour l'URL éphémère et répertoriez à nouveau les projets pour vérifier la persistance. Un nouveau lancement peut choisir un port différent. Si ce projet est absent, comparez d'abord le répertoire de données, le point de terminaison client et le contexte d'autorisation.

Le nettoyage est facultatif et destructeur pour ce projet jetable : envoyer DELETE /api/projects/<id> seulement après avoir confirmé l'identifiant renvoyé. Création/liste/lecture de la persistance de l'application sans nécessiter de nettoyage pour réussir.

Interpréter les échecs de première exécution

ÉchecLimite probableAction suivante
L'installation de dépendances ne peut pas résoudre un package localInstallation de l'espace de travailExécuté à partir de la racine du référentiel avec la version Bun déclarée et le fichier de verrouillage.
Liaison native ou erreur WebKitPrérequis TauriInstallez les bibliothèques de chaîne d'outils/plateforme utilisées par la cible CI correspondante.
Aucun événement prêtConfiguration, migration ou démarrage du sidecarInspectez stderr et l’événement d’erreur structuré. Gardez stdin ouvert.
La santé fonctionne, l'appel de projet revient 401AutorisationLa santé est publique ; Les appels d'API protégés ont toujours besoin du jeton de processus actuel.
Créer des retours 400Validation de la demande/validation commercialeEnvoyez JSON avec un nom non vide et inspectez le message renvoyé.
Créer des retours 403 avec les données de l'organisationAdhésion à l'organisationUtilisez une organisation accessible ou omettez le champ de l’organisation pour une vérification locale.
Un compagnon natif indique que l'épinglage n'est pas disponibleModule Expo local manquantUtilisez une version iOS personnalisée, pas Expo Go.

Gardez la première vérification petite : santé, un projet, un dessin/programme persistant, puis intégrations facultatives. Un lancement réussi d'une application de base ne configure pas automatiquement Stripe, les fournisseurs d'IA, un référentiel GitHub distant ou le routage mobile.

Détails des exigences

OutilVersionNécessaire pour
Bun1.4.4 (le référentiel du référentiel packageManager)Tout : installation, tests, sidecar, scripts
Chaîne d'outils Rust + prérequis Tauriécurie; bibliothèques de vues Web de la plate-forme sous LinuxLe shell du bureau (desktop:dev, construit)
CLI SQLiten'importe lequelFacultatif : inspection de la base de données en lecture seule
Xcode—Uniquement pour le compagnon iOS

Votre première heure, étape par étape

Du clone à un bureau en cours d'exécution
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
  1. Lorsque la fenêtre s'ouvre, l'état du sidecar devient prêt en quelques secondes ; un nouveau répertoire de données est migré au premier lancement.
  2. Créez un projet, ajoutez un dessin, dessinez un rectangle et extrudez-le.
  3. Ouvrez CAM, choisissez le solide et générez. Vérifiez le niveau de version et les revendications avant d'exporter NC.
  4. Ouvrez le panneau d'historique et validez : le projet a désormais sa première version.

Aucune clé de modèle nécessaire

Tout ce qui précède fonctionne sans fournisseur d’IA. Ajoutez une clé plus tard dans les paramètres de l'assistant.

En 3D

Le démarrage rapide des pièces démarre Faites glisser vers l'orbite · faites défiler pour zoomer · faites glisser vers la droite pour effectuer un panoramique
Processes at run time. The Tauri shell spawns the sidecar and waits for its {”event”:”ready”,”port”:N} line on stdout (sidecar.rs); the webview then talks HTTP to 127.0.0.1 on that port with the bearer token. The sidecar owns the SQLite database, the embedded nikcli AI host (CADCAMFUN_AI_HOST=nikcli, the default) and plugins; the mobile app reaches it through companion pairing.