Pular para o conteúdo

Estrutura do Projeto

ThairaAI/
├── src/
│ ├── process/ # Processo principal (Node.js + Electron, sem DOM)
│ ├── renderer/ # Processo de renderização (React, sem APIs Node.js)
│ └── common/ # Código compartilhado (sem APIs específicas de processo)
├── resources/ # Ícones e assets estáticos
├── scripts/ # Scripts de build e utilitários
├── tests/ # Testes de integração
├── locales/ # Arquivos de tradução i18n
└── docs/ # Documentação de arquitetura e contribuição

O ThairaAI é um app Electron com três ambientes de processo isolados. Nunca misture suas APIs.

ProcessoCaminhoAPIs disponíveis
Principalsrc/process/Node.js, Electron — sem DOM
Renderersrc/renderer/React, DOM — sem Node.js
Workersrc/process/worker/Node.js — sem Electron

A comunicação entre processos passa pelo bridge IPC em src/preload.ts.

src/renderer/
├── components/ # Componentes de UI compartilhados
├── hooks/ # React hooks
├── pages/ # Componentes de página
├── styles/ # Estilos globais
└── utils/ # Funções utilitárias
TipoConvençãoExemplo
ComponentesPascalCaseButton.tsx
UtilitárioscamelCaseformatDate.ts
HookscamelCase + useuseTheme.ts
Constantesarquivo camelCase, valores UPPER_SNAKE_CASEconstants.ts
EstilosComponentName.module.css
AliasResolve para
@/*src/*
@process/*src/process/*
@renderer/*src/renderer/*
@worker/*src/process/worker/*