Saltar al contenido
CADCAMFUN
Documentos

Documentación

Inicio rápido

Desde dependencias del espacio de trabajo hasta una ventana de escritorio respaldada por el sidecar local real.

Traducido automáticamente del inglés. Ver el original en inglés

Requisitos

Los instaladores y el pago de origen son diferentes

Hay una compilación de escritorio publicada en el pagina de descarga. Esta guía instala el repositorio y ejecuta desktop:dev. Leer Instalar cuando quieras los artefactos de lanzamiento.

El espacio de trabajo declara Bun 1.4.4 como su administrador de paquetes. Utilice el archivo de bloqueo del repositorio para la instalación de dependencias. El desarrollo de escritorio nativo también requiere una cadena de herramientas Rust, las dependencias de compilación Tauri de la plataforma y una vista web del sistema instalada. La CLI de Tauri ya es una dependencia de desarrollo de escritorio.

  • macOS: Herramientas de línea de comandos de Xcode para vinculación y empaquetado de Rust/nativo.
  • Ventanas: la cadena de herramientas de MSVC y los requisitos previos de compilación/tiempo de ejecución de WebView2.
  • Linux: WebKitGTK 4.1, indicador de aplicación, librsvg, OpenSSL y herramientas de paquete. El flujo de trabajo de CI registra los paquetes utilizados en Ubuntu.
  • compañero de iOS: macOS, Xcode, CocoaPods y una compilación nativa de Expo que contiene el módulo de fijación local.

Una vista previa del navegador requiere dependencias de Bun y del espacio de trabajo, pero no compila el shell de Rust. Un instalador de versión requiere además una configuración de firma; eso está separado del desarrollo de la interfaz de usuario local.

Instalar dependencias

Desde la raíz del repositorio
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core

Instalar una vez en la raíz del espacio de trabajo de forma local workspace:* las dependencias se resuelven juntas. usos de CI bun install --frozen-lockfile para rechazar la deriva del archivo de bloqueo. Utilice los scripts del paquete para seleccionar el compilador configurado del repositorio en lugar de asumir que cada paquete utiliza el mismo ejecutable de TypeScript.

Los comandos específicos anteriores proporcionan una verificación rápida del origen. Las comprobaciones completas del espacio de trabajo son bun run typecheck y bun run test; cubren más módulos y pueden tardar más. Un paquete de aprobación individual no prueba que todas las integraciones de tiempo de ejecución estén configuradas.

Configuración de la base de datos

El escritorio real no requiere un comando de migración CLI independiente. Su iniciador proporciona el directorio de datos de la aplicación y las migraciones por etapas al sidecar; abrir la base de datos aplica migraciones pendientes. bun run desktop:dev prepara el recurso de migración como parte de la preparación del sidecar.

La herramienta de línea de comandos de la base de datos es independiente. bun run db:migrate delega al paquete de base de datos y por defecto es ./data/cadcamfun.db relativo al directorio de procesos de ese paquete, normalmente packages/db/data/cadcamfun.db cuando se invoca a través del script raíz. Establecer un absoluto DATABASE_URL cuando necesita apuntar a una base de datos específica.

Sólo al cambiar el esquema de la base de datos.
bun run db:generate
bun run db:migrate

Generación lee packages/db/src/schema.ts y escribe migraciones bajo packages/db/drizzle. La aplicación de migraciones actualiza la base de datos CLI seleccionada, no todas las bases de datos de la aplicación. Los datos de escritorio nativos se encuentran en el directorio de datos de la aplicación Tauri; un sidecar iniciado manualmente utiliza CADCAMFUN_DATA_DIR.

Elija la base de datos deliberadamente

Una migración CLI exitosa no cambia la base de datos que abre el escritorio. Localice el directorio de datos del sidecar antes de investigar proyectos faltantes o aplicar una operación de datos manual.

Abre el escritorio

Desde la raíz del repositorio
bun run desktop:dev

Esto compila el sidecar Bun real y organiza las migraciones, luego ejecuta Tauri. Tauri inicia Vite en http://localhost:1420 y abre la vista web. El caparazón de Rust espera el apretón de manos listo del sidecar; la vista web verifica el estado antes de mostrar las pantallas enrutadas.

Mantenga abierta la terminal de lanzamiento. El shell posee el ciclo de vida del sidecar y proporciona su token de lanzamiento y sus rutas. Si el inicio falla, inspeccione el motivo del inicio y los registros de la aplicación. La vista web vuelve a intentar la detección de puntos finales durante un máximo de 150 segundos; el shell permite un reinicio automático del sidecar.

Vista previa de la interfaz de usuario solo para navegador
bun run --filter @cadcamfun/desktop dev

Abierto http://localhost:1420. sin VITE_SIDECAR_URL, esto utiliza la API falsa en memoria. Admite un subconjunto de solicitudes y no proporciona proyectos persistentes, sesiones de proveedores ni diálogos nativos. Conéctese a un sidecar en vivo configurando la URL del sidecar de Vite y las variables de proceso del token.

El paquete de escritorio tauri:dev el script crea un código auxiliar cuando falta el binario. El stub admite el aislamiento de shell. Prefiere la raíz desktop:dev comando al ejercer los servicios de la aplicación.

bun run desktop:dev primeras carreras build:sidecar, que compila el sidecar y organiza las migraciones (pasos del proceso compile y resources). Luego comienza tauri dev en el paquete de escritorio.

Verificar la primera sesión

  1. Espere a que la aplicación salga de la pantalla de inicio y confirme que esté conectada a la API deseada.
  2. Cree o abra un proyecto e ingrese CAD o CAM.
  3. Guarde el trabajo y vuelva a abrirlo a través de la interfaz de usuario del proyecto/recurso para verificar la persistencia.
  4. Si utiliza el asistente, configure un proveedor de modelo compatible en la configuración del escritorio antes de iniciar una conversación.
  5. Si utiliza el complemento iOS, habilite su puerta de enlace y cree un emparejamiento de dispositivos en el escritorio.

Probar una trayectoria visible no valida la seguridad del mecanizado. Inspeccione el stock, las herramientas, los límites de la máquina, la posproducción y los resultados de verificación de la operación real antes de transferir la salida NC a una máquina.

Ejecute el sitio de documentación
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build

la web start el comando ejecuta Astro. Utilice su dirección local impresa. la web dev el script además inicia la API de Studio, que puede abrir la base de datos local seleccionada; Úselo cuando trabaje en Studio en lugar de solo con documentación estática.

Comandos siguientes

MetaDominio
Compile solo sidecar y realice migraciones en etapasbun run build:sidecar
Construya una interfaz sin instaladoresbun run build:desktop
Revisar el plan de compilación nativobun scripts/build.ts --dry-run
Regenerar clientes APIbun run generate
Consultar clientes generadosbun run generate:check
Ejecute pruebas de transporte complementariobun run --cwd apps/mobile test

Verificar una API real sin modelo

Inicie el complemento manual descrito en la guía de desarrollo local o utilice el punto final/token de un proceso de desarrollo que controle. La siguiente receta crea un proyecto desechable y lo enumera. Necesita rizo; la extracción de identificador opcional utiliza Bun. Reemplace el puerto y el token de ejemplo con los de su sidecar aislado.

Segunda terminal: salud, crear, listar, leer
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 devuelve un objeto de estado/marca de tiempo. La creación del proyecto devuelve HTTP 201 y una fila del proyecto con su identificador. El listado devuelve una serie de proyectos con recuentos y relaciones entre propietario/organización; la lectura por identificador devuelve uno de esos proyectos relacionados. El ejemplo no llama a un modelo ni genera resultados de máquina.

Cierre limpiamente el sidecar manual, reinícielo con el mismo directorio de datos, actualice la URL efímera y enumere los proyectos nuevamente para verificar la persistencia. Un nuevo lanzamiento puede elegir un puerto diferente. Si este proyecto no está, primero compare el directorio de datos, el punto final del cliente y el contexto de autorización.

La limpieza es opcional y destructiva para este proyecto desechable: enviar DELETE /api/projects/<id> sólo después de confirmar el identificador devuelto. Persistencia de aplicaciones de ejercicio de creación/lista/lectura sin necesidad de limpieza para tener éxito.

Interpretar fallas de primera ejecución

FallaLímite probableSiguiente acción
La instalación de dependencia no puede resolver un paquete localInstalación del espacio de trabajoEjecute desde la raíz del repositorio con la versión de Bun declarada y el archivo de bloqueo.
Enlace nativo o error de WebKitRequisitos previos de TauriInstale las bibliotecas de plataforma/cadena de herramientas utilizadas por el destino de CI coincidente.
Ningún evento listoConfiguración, migración o inicio de SidecarInspeccione stderr y el evento de error estructurado. Mantenga la entrada estándar abierta.
El estado funciona, la llamada del proyecto regresa 401AutorizaciónLa salud es pública; Las llamadas API protegidas aún necesitan el token de proceso actual.
Crear devoluciones 400Solicitud de validación/validación de negocioEnvíe JSON con un nombre que no esté vacío e inspeccione el mensaje devuelto.
Crear devoluciones 403 con datos de la organizaciónMembresía de la organizaciónUtilice una organización accesible u omita el campo de organización para una verificación local.
El compañero nativo dice que la fijación no está disponibleFalta el módulo Expo localUtilice una compilación de iOS personalizada, no Expo Go.

Mantenga la primera verificación pequeña: estado, un proyecto, un dibujo/programa persistente, luego integraciones opcionales. Un lanzamiento exitoso de la aplicación base no configura automáticamente Stripe, los proveedores de IA, un repositorio remoto de GitHub o el enrutamiento móvil.

Detalles del requisito

HerramientaVersiónNecesario para
Bun1.4.4 (el repositorio packageManager)Todo: instalación, pruebas, sidecar, scripts.
Cadena de herramientas Rust + requisitos previos de Tauriestable; bibliotecas de vista web de plataforma en LinuxEl shell del escritorio (desktop:dev, construye)
CLI de SQLitecualquierOpcional: inspección de base de datos de solo lectura
Xcode—Sólo para el compañero de iOS

Tu primera hora, paso a paso

De clonar a un escritorio en ejecución
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. Cuando se abre la ventana, el estado del sidecar pasa a estar listo en cuestión de segundos; Se migra un nuevo directorio de datos en el primer lanzamiento.
  2. Crea un proyecto, agrega un dibujo, dibuja un rectángulo y extrúyelo.
  3. Abra CAM, seleccione el sólido y genere. Verifique el nivel de liberación y los reclamos antes de exportar NC.
  4. Abra el panel de historial y confirme: el proyecto ahora tiene su primera versión.

No se necesita clave de modelo

Todo lo anterior funciona sin un proveedor de IA. Agregue una clave más adelante en la configuración del asistente.

En 3D

Comienza el inicio rápido de las piezas. Arrastrar para orbitar · desplazarse para hacer zoom · arrastrar con el botón derecho para desplazarse
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.