Documentazione
Avvio rapido
Dalle dipendenze dello spazio di lavoro a una finestra del desktop supportata dal vero sidecar locale.
Tradotto automaticamente dall'inglese. Vedi l'originale in inglese
Requisiti
Gli installatori e il checkout del sorgente sono diversi
Una build desktop pubblicata è disponibile su pagina di download. Questa guida installa il repository e viene eseguita desktop:dev. Leggere Installare quando invece desideri gli artefatti di rilascio.
L'area di lavoro dichiara Bun 1.4.4 come gestore dei pacchetti. Utilizzare il file di blocco del repository per l'installazione delle dipendenze. Lo sviluppo desktop nativo richiede anche una toolchain Rust, le dipendenze di build Tauri della piattaforma e una visualizzazione web del sistema installata. La CLI Tauri è già una dipendenza di sviluppo desktop.
- macOS: Strumenti da riga di comando Xcode per il collegamento e il packaging Rust/nativo.
- Finestre: la toolchain MSVC e i prerequisiti di runtime/build WebView2.
- Linux: WebKitGTK 4.1, indicatore di applicazione, librsvg, OpenSSL e strumenti bundler. Il flusso di lavoro CI registra i pacchetti utilizzati su Ubuntu.
- compagno iOS: macOS, Xcode, CocoaPods e una build Expo nativa contenente il modulo di blocco locale.
Un'anteprima del browser richiede dipendenze da Bun e dallo spazio di lavoro ma non compila la shell Rust. Un programma di installazione della versione richiede inoltre la configurazione della firma; che è separato dallo sviluppo dell'interfaccia utente locale.
Installa le dipendenze
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core Installa una volta nella root dell'area di lavoro in modo locale workspace:* le dipendenze si risolvono insieme. CI utilizza bun install --frozen-lockfile per rifiutare la deriva del lockfile. Utilizzare gli script del pacchetto per selezionare il compilatore configurato del repository anziché dare per scontato che ogni pacchetto utilizzi lo stesso eseguibile TypeScript.
I comandi mirati sopra forniscono un rapido controllo della fonte. I controlli dell'intera area di lavoro sono bun run typecheck e bun run test; coprono più moduli e potrebbero richiedere più tempo. Un singolo pacchetto che passa non dimostra che tutte le integrazioni di runtime sono configurate.
Configurazione della banca dati
Il desktop reale non richiede un comando di migrazione CLI separato. Il suo launcher fornisce la directory dei dati dell'applicazione e le migrazioni graduali al sidecar; l'apertura del database applica le migrazioni in sospeso. bun run desktop:dev mette in scena la risorsa di migrazione come parte della preparazione del sidecar.
Lo strumento da riga di comando del database è separato. bun run db:migrate delega al pacchetto database e per impostazione predefinita è ./data/cadcamfun.db rispetto alla directory del processo di quel pacchetto, normalmente packages/db/data/cadcamfun.db quando richiamato tramite lo script root. Imposta un assoluto DATABASE_URL quando è necessario scegliere come target un database specifico.
bun run db:generate
bun run db:migrate La generazione legge packages/db/src/schema.ts e scrive migrazioni sotto packages/db/drizzle. L'applicazione delle migrazioni aggiorna il database CLI selezionato, non tutti i database dell'applicazione. I dati desktop nativi risiedono nella directory dei dati dell'applicazione Tauri; utilizza un sidecar avviato manualmente CADCAMFUN_DATA_DIR.
Scegli deliberatamente il database
Una migrazione CLI riuscita non cambia il database aperto dal desktop. Individua la directory dei dati collaterali prima di indagare sui progetti mancanti o applicare un'operazione manuale sui dati.
Apri il desktop
bun run desktop:dev Questo compila il vero sidecar di Bun e mette in scena le migrazioni, quindi esegue Tauri. Tauri inizia Vite alle http://localhost:1420 e apre la visualizzazione web. Il guscio di Rust attende la stretta di mano del sidecar; la visualizzazione web controlla l'integrità prima di mostrare le schermate indirizzate.
Tieni aperto il terminale di avvio. La shell possiede il ciclo di vita del sidecar e fornisce il token di lancio e i percorsi. Se l'avvio non riesce, controllare il motivo dell'avvio e i registri dell'applicazione. La visualizzazione Web ritenta il rilevamento dell'endpoint per un massimo di 150 secondi; la shell consente un riavvio automatico del sidecar.
bun run --filter @cadcamfun/desktop dev Aprire http://localhost:1420. Con n VITE_SIDECAR_URL, utilizza l'API falsa in memoria. Supporta un sottoinsieme di richieste e non fornisce progetti persistenti, sessioni del provider o finestre di dialogo native. Connettiti a un sidecar live impostando sia l'URL del sidecar Vite che le variabili del processo token.
Il pacchetto desktop è tauri:dev lo script crea uno stub sidecar quando manca il file binario. Lo stub supporta l'isolamento della shell. Preferisci la radice desktop:dev comando durante l'esercizio dei servizi applicativi.
bun run desktop:dev prime corse build:sidecar, che compila il sidecar e organizza le migrazioni (steps della pipeline compile e resources). Quindi inizia tauri dev nel pacchetto desktop.
Verificare la prima sessione
- Attendi che l'applicazione lasci la schermata di avvio e confermi che è connessa all'API desiderata.
- Crea o apri un progetto e inserisci CAD o CAM.
- Salvare il lavoro e riaprirlo tramite l'interfaccia utente del progetto/risorsa per verificare la persistenza.
- Se utilizzi l'assistente, configura un provider di modelli supportato nelle impostazioni del desktop prima di avviare una conversazione.
- Se utilizzi il compagno iOS, abilita il relativo gateway e crea un accoppiamento del dispositivo sul desktop.
Testare un percorso visibile non convalida la sicurezza della lavorazione. Ispezionare stock, attrezzature, limiti della macchina, post-output e risultati di verifica per l'operazione effettiva prima di trasferire l'output NC a una macchina.
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build La rete start il comando esegue Astro. Utilizzare l'indirizzo locale stampato. La rete dev lo script avvia inoltre l'API di Studio, che può aprire il database locale selezionato; usarlo quando si lavora su Studio anziché solo sulla documentazione statica.
Comandi successivi
| Obiettivo | Comando |
|---|---|
| Compila solo il sidecar e metti in scena le migrazioni | bun run build:sidecar |
| Crea frontend senza programmi di installazione | bun run build:desktop |
| Esaminare il piano di build nativo | bun scripts/build.ts --dry-run |
| Rigenerare i client API | bun run generate |
| Controlla i client generati | bun run generate:check |
| Esegui test di trasporto compagno | bun run --cwd apps/mobile test |
Verifica un'API reale senza un modello
Avvia il sidecar manuale descritto nella guida allo sviluppo locale o utilizza l'endpoint/token di un processo di sviluppo che controlli. La seguente ricetta crea un progetto usa e getta e lo elenca. Necessita di arricciatura; l'estrazione opzionale dell'identificatore utilizza Bun. Sostituisci la porta e il token di esempio con quelli del tuo sidecar isolato.
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 restituisce un oggetto status/timestamp. La creazione del progetto restituisce HTTP 201 e una riga di progetto con il suo identificatore. L'elenco restituisce una serie di progetti con relazioni e conteggi proprietario/organizzazione; la lettura per identificatore restituisce uno di questi progetti correlati. L'esempio non richiama un modello né genera l'output della macchina.
Chiudi in modo pulito il sidecar manuale, riavvialo con la stessa directory dei dati, aggiorna l'URL temporaneo ed elenca nuovamente i progetti per verificare la persistenza. Un nuovo lancio può scegliere una porta diversa. Se questo progetto è assente, confrontare innanzitutto la directory dei dati, l'endpoint client e il contesto di autorizzazione.
La pulizia è facoltativa e distruttiva per questo progetto usa e getta: send DELETE /api/projects/<id> solo dopo aver confermato l'identificatore restituito. Creazione/elenco/lettura persistenza dell'applicazione per esercizi senza richiedere la pulizia per avere successo.
Interpretare gli errori di prima esecuzione
| Fallimento | Confine probabile | Azione successiva |
|---|---|---|
| L'installazione della dipendenza non può risolvere un pacchetto locale | Installazione nell'area di lavoro | Esegui dalla root del repository con la versione Bun e il file di lock dichiarati. |
| Collegamento nativo o errore WebKit | Prerequisiti Tauri | Installa le librerie della toolchain/piattaforma utilizzate dalla destinazione CI corrispondente. |
| Nessun evento pronto | Configurazione, migrazione o avvio del sidecar | Esamina stderr e l'evento di errore strutturato. Mantieni lo stdin aperto. |
| La salute funziona, il bando di progetto restituisce 401 | Autorizzazione | La sanità è pubblica; le chiamate API protette necessitano ancora del token del processo corrente. |
| Crea resi 400 | Richiedi validazione/convalida aziendale | Invia JSON con un nome non vuoto e controlla il messaggio restituito. |
| Crea resi 403 con i dati dell'organizzazione | Appartenenza all'organizzazione | Utilizza un'organizzazione accessibile o ometti il campo dell'organizzazione per un controllo locale. |
| Il compagno nativo dice che il blocco non è disponibile | Modulo Expo locale mancante | Utilizza una build iOS personalizzata, non Expo Go. |
Mantieni la prima verifica di dimensioni ridotte: integrità, un progetto, un disegno/programma persistente, quindi integrazioni facoltative. Il lancio riuscito di un'applicazione di base non configura automaticamente Stripe, i provider di intelligenza artificiale, un repository GitHub remoto o il routing mobile.
Dettagli del requisito
| Attrezzo | Versione | Necessario per |
|---|---|---|
| Bun | 1.4.4 (il file del repository packageManager) | Tutto: installazione, test, sidecar, script |
| Toolchain Rust + prerequisiti Tauri | stabile; librerie di visualizzazione web della piattaforma su Linux | La shell del desktop (desktop:dev, costruisce) |
| CLI SQLite | qualunque | Facoltativo: ispezione del database di sola lettura |
| Xcode | — | Solo per il compagno iOS |
La tua prima ora, passo dopo passo
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 - Quando la finestra si apre, lo stato del sidecar diventa pronto in pochi secondi; una nuova directory di dati viene migrata al primo avvio.
- Crea un progetto, aggiungi un disegno, disegna un rettangolo ed estrudilo.
- Apri CAM, seleziona il solido e genera. Controllare il livello di rilascio e le rivendicazioni prima di esportare NC.
- Apri il pannello della cronologia ed effettua il commit: il progetto ora ha la sua prima versione.
Non è necessaria alcuna chiave modello
Tutto quanto sopra funziona senza un fornitore di intelligenza artificiale. Aggiungi una chiave più tardi nelle impostazioni dell'assistente.