Pular para o conteúdo
CADCAMFUN
Docs

Documentação

Início rápido

De dependências de espaço de trabalho a uma janela de desktop apoiada pelo sidecar local real.

Traduzido automaticamente do inglês. Ver o original em inglês

Requisitos

Instaladores e uma verificação de origem são diferentes

Uma versão de desktop publicada está no página de download. Este guia instala o repositório e executa desktop:dev. Ler Instalar quando você quiser os artefatos de lançamento.

O espaço de trabalho declara Bun 1.4.4 como seu gerenciador de pacotes. Use o arquivo de bloqueio do repositório para instalação de dependência. O desenvolvimento de desktop nativo também requer um conjunto de ferramentas Rust, as dependências de construção Tauri da plataforma e um webview do sistema instalado. A CLI Tauri já é uma dependência de desenvolvimento de desktop.

  • macOS: Ferramentas de linha de comando Xcode para vinculação e empacotamento Rust/nativo.
  • Windows: o conjunto de ferramentas MSVC e os pré-requisitos de tempo de execução/construção do WebView2.
  • Linux: WebKitGTK 4.1, indicador de aplicativo, librsvg, OpenSSL e ferramentas de empacotamento. O fluxo de trabalho do CI registra os pacotes usados no Ubuntu.
  • companheiro iOS: macOS, Xcode, CocoaPods e uma versão nativa do Expo contendo o módulo de fixação local.

Uma visualização do navegador requer dependências do Bun e do espaço de trabalho, mas não compila o shell Rust. Um instalador de versão também requer configuração de assinatura; isso é separado do desenvolvimento de UI local.

Instalar dependências

Da raiz do repositório
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core

Instale uma vez na raiz do espaço de trabalho de forma local workspace:* dependências são resolvidas juntas. CI usa bun install --frozen-lockfile para rejeitar o desvio do arquivo de bloqueio. Use os scripts de pacote para selecionar o compilador configurado do repositório em vez de assumir que cada pacote usa o mesmo executável TypeScript.

Os comandos direcionados acima fornecem uma verificação rápida da fonte. As verificações completas do espaço de trabalho são bun run typecheck e bun run test; eles cobrem mais módulos e podem demorar mais. Um pacote de aprovação individual não prova que todas as integrações de tempo de execução estão configuradas.

Configuração do banco de dados

A área de trabalho real não requer um comando de migração CLI separado. Seu iniciador fornece o diretório de dados do aplicativo e migrações preparadas para o sidecar; abrir o banco de dados aplica migrações pendentes. bun run desktop:dev prepara o recurso de migração como parte da preparação do sidecar.

A ferramenta de linha de comando do banco de dados é separada. bun run db:migrate delega para o pacote de banco de dados e o padrão é ./data/cadcamfun.db relativo ao diretório de processos desse pacote, normalmente packages/db/data/cadcamfun.db quando invocado através do script raiz. Defina um valor absoluto DATABASE_URL quando você precisa direcionar um banco de dados específico.

Somente ao alterar o esquema do banco de dados
bun run db:generate
bun run db:migrate

Leituras de geração packages/db/src/schema.ts e escreve migrações sob packages/db/drizzle. A aplicação de migrações atualiza o banco de dados CLI selecionado, e não todos os bancos de dados do aplicativo. Os dados nativos da área de trabalho residem no diretório de dados do aplicativo Tauri; um sidecar iniciado manualmente usa CADCAMFUN_DATA_DIR.

Escolha o banco de dados deliberadamente

Uma migração CLI bem-sucedida não altera qual banco de dados o desktop abre. Localize o diretório de dados secundários antes de investigar projetos ausentes ou aplicar uma operação manual de dados.

Abra a área de trabalho

Da raiz do repositório
bun run desktop:dev

Isso compila o sidecar real do Bun e organiza as migrações e, em seguida, executa o Tauri. Tauri inicia Vite em http://localhost:1420 e abre o webview. O shell Rust aguarda o handshake pronto do sidecar; o webview verifica a integridade antes de mostrar as telas roteadas.

Mantenha o terminal de lançamento aberto. O shell possui o ciclo de vida do sidecar e fornece seu token de lançamento e caminhos. Se a inicialização falhar, inspecione o motivo da inicialização e os logs do aplicativo. O webview tenta novamente a descoberta de endpoint por até 150 segundos; o shell permite uma reinicialização automática do sidecar.

Visualização da IU somente no navegador
bun run --filter @cadcamfun/desktop dev

Abrir http://localhost:1420. Sem VITE_SIDECAR_URL, isso usa a API falsa na memória. Ele oferece suporte a um subconjunto de solicitações e não fornece projetos persistentes, sessões de provedor ou diálogos nativos. Conecte-se a um sidecar ativo definindo o URL do sidecar Vite e as variáveis de processo de token.

O pacote desktop tauri:dev o script cria um sidecar de stub quando o binário está faltando. O stub oferece suporte ao isolamento do shell. Prefira a raiz desktop:dev comando ao exercer serviços de aplicativo.

bun run desktop:dev primeiras corridas build:sidecar, que compila o sidecar e prepara as migrações (etapas do pipeline compile e resources). Então começa tauri dev no pacote desktop.

Verifique a primeira sessão

  1. Aguarde o aplicativo sair da tela de boot e confirme se ele está conectado à API pretendida.
  2. Crie ou abra um projeto e entre em CAD ou CAM.
  3. Salve o trabalho e reabra-o por meio da UI do projeto/recurso para verificar a persistência.
  4. Se estiver usando o assistente, configure um provedor de modelo compatível nas configurações da área de trabalho antes de iniciar uma conversa.
  5. Se estiver usando o iOS Companion, habilite seu gateway e crie um emparelhamento de dispositivos na área de trabalho.

Testar um caminho visível não valida a segurança da usinagem. Inspecione estoque, ferramentas, limites da máquina, pós-saída e resultados de verificação da operação real antes de transferir a saída NC para uma máquina.

Execute o site de documentação
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build

A teia start comando executa o Astro. Use seu endereço local impresso. A teia dev o script inicia adicionalmente a API do Studio, que pode abrir o banco de dados local selecionado; use-o ao trabalhar no Studio, em vez de apenas com documentação estática.

Próximos comandos

MetaComando
Compilar apenas sidecar e preparar migraçõesbun run build:sidecar
Crie front-end sem instaladoresbun run build:desktop
Revise o plano de construção nativobun scripts/build.ts --dry-run
Gerar novamente clientes de APIbun run generate
Verifique os clientes geradosbun run generate:check
Execute testes de transporte complementarbun run --cwd apps/mobile test

Verifique uma API real sem modelo

Inicie o sidecar manual descrito no guia de desenvolvimento local ou use o endpoint/token de um processo de desenvolvimento que você controla. A receita a seguir cria um projeto descartável e o lista. Precisa de ondulação; a extração opcional do identificador usa Bun. Substitua a porta e o token de exemplo pelos do seu sidecar isolado.

Segundo terminal: saúde, criar, listar, ler
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 retorna um objeto de status/timestamp. A criação do projeto retorna HTTP 201 e uma linha do projeto com seu identificador. A listagem retorna uma série de projetos com relações e contagens entre proprietário/organização; a leitura por identificador retorna um desses projetos relacionados. O exemplo não chama um modelo nem gera saída de máquina.

Feche o sidecar manual de forma limpa, reinicie-o com o mesmo diretório de dados, atualize a URL efêmera e liste os projetos novamente para verificar a persistência. Um novo lançamento pode escolher uma porta diferente. Se este projeto estiver ausente, primeiro compare o diretório de dados, o terminal do cliente e o contexto de autorização.

A limpeza é opcional e destrutiva para este projeto descartável: envie DELETE /api/projects/<id> somente após confirmar o identificador retornado. Persistência do aplicativo de criação/lista/leitura de exercícios sem a necessidade de limpeza para ter sucesso.

Interpretar falhas na primeira execução

FalhaLimite provávelPróxima ação
A instalação de dependência não pode resolver um pacote localInstalação do espaço de trabalhoExecute a partir da raiz do repositório com a versão Bun declarada e o arquivo de bloqueio.
Link nativo ou erro do WebKitPré-requisitos TauriInstale as bibliotecas do conjunto de ferramentas/plataforma usadas pelo destino de CI correspondente.
Nenhum evento prontoConfiguração, migração ou inicialização do SidecarInspecione stderr e o evento de erro estruturado. Mantenha o stdin aberto.
Saúde funciona, chamada do projeto retorna 401AutorizaçãoA saúde é pública; chamadas de API protegidas ainda precisam do token do processo atual.
Criar devoluções 400Validação de solicitação/validação de negóciosEnvie JSON com um nome não vazio e inspecione a mensagem retornada.
Crie devoluções 403 com dados da organizaçãoAssociação à organizaçãoUse uma organização acessível ou omita o campo da organização para uma verificação local.
O companheiro nativo diz que a fixação não está disponívelMódulo Expo local ausenteUse uma versão personalizada do iOS, não o Expo Go.

Mantenha a primeira verificação pequena: integridade, um projeto, um desenho/programa persistente e, em seguida, integrações opcionais. Uma inicialização bem-sucedida do aplicativo base não configura Stripe, provedores de IA, um repositório GitHub remoto ou roteamento móvel automaticamente.

Detalhes do requisito

FerramentaVersãoNecessário para
Bun1.4.4 (o repositório packageManager)Tudo: instalação, testes, sidecar, scripts
Conjunto de ferramentas Rust + pré-requisitos Tauriestável; bibliotecas de webview da plataforma no LinuxO shell da área de trabalho (desktop:dev, constrói)
CLI SQLitequalquerOpcional: inspeção de banco de dados somente leitura
Código X—Somente para o companheiro iOS

Sua primeira hora, passo a passo

Do clone a um desktop em execução
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. Quando a janela é aberta, o status do sidecar fica pronto em segundos; um novo diretório de dados é migrado na primeira inicialização.
  2. Crie um projeto, adicione um desenho, desenhe um retângulo e faça a extrusão.
  3. Abra o CAM, escolha o sólido e gere. Verifique o nível de liberação e as reivindicações antes de exportar NC.
  4. Abra o painel de histórico e faça o commit: o projeto agora tem sua primeira versão.

Nenhuma chave de modelo necessária

Tudo acima funciona sem um provedor de IA. Adicione uma chave posteriormente nas configurações do assistente.

Em 3D

O início rápido das peças começa Arraste para orbitar · role para ampliar · arraste com o botão direito para deslocar
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.