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
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.
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
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.
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
- Espere a que la aplicación salga de la pantalla de inicio y confirme que esté conectada a la API deseada.
- Cree o abra un proyecto e ingrese CAD o CAM.
- Guarde el trabajo y vuelva a abrirlo a través de la interfaz de usuario del proyecto/recurso para verificar la persistencia.
- Si utiliza el asistente, configure un proveedor de modelo compatible en la configuración del escritorio antes de iniciar una conversación.
- 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.
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
| Meta | Dominio |
|---|---|
| Compile solo sidecar y realice migraciones en etapas | bun run build:sidecar |
| Construya una interfaz sin instaladores | bun run build:desktop |
| Revisar el plan de compilación nativo | bun scripts/build.ts --dry-run |
| Regenerar clientes API | bun run generate |
| Consultar clientes generados | bun run generate:check |
| Ejecute pruebas de transporte complementario | bun 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.
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
| Falla | Límite probable | Siguiente acción |
|---|---|---|
| La instalación de dependencia no puede resolver un paquete local | Instalación del espacio de trabajo | Ejecute desde la raíz del repositorio con la versión de Bun declarada y el archivo de bloqueo. |
| Enlace nativo o error de WebKit | Requisitos previos de Tauri | Instale las bibliotecas de plataforma/cadena de herramientas utilizadas por el destino de CI coincidente. |
| Ningún evento listo | Configuración, migración o inicio de Sidecar | Inspeccione stderr y el evento de error estructurado. Mantenga la entrada estándar abierta. |
| El estado funciona, la llamada del proyecto regresa 401 | Autorización | La salud es pública; Las llamadas API protegidas aún necesitan el token de proceso actual. |
| Crear devoluciones 400 | Solicitud de validación/validación de negocio | Envíe JSON con un nombre que no esté vacío e inspeccione el mensaje devuelto. |
| Crear devoluciones 403 con datos de la organización | Membresía de la organización | Utilice 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á disponible | Falta el módulo Expo local | Utilice 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
| Herramienta | Versión | Necesario para |
|---|---|---|
| Bun | 1.4.4 (el repositorio packageManager) | Todo: instalación, pruebas, sidecar, scripts. |
| Cadena de herramientas Rust + requisitos previos de Tauri | estable; bibliotecas de vista web de plataforma en Linux | El shell del escritorio (desktop:dev, construye) |
| CLI de SQLite | cualquier | Opcional: inspección de base de datos de solo lectura |
| Xcode | — | Sólo para el compañero de iOS |
Tu primera hora, paso a paso
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 - 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.
- Crea un proyecto, agrega un dibujo, dibuja un rectángulo y extrúyelo.
- Abra CAM, seleccione el sólido y genere. Verifique el nivel de liberación y los reclamos antes de exportar NC.
- 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.