trans3 / docs /pt-BR /contribute /development.md
Mayo
docs: update to match current implementation
725264a unverified
|
Raw
History Blame Contribute Delete
3.88 kB
---
title: Primeiros Passos
---
# Primeiros Passos
## Clonar o Repositório
```bash
git clone https://github.com/mayocream/koharu.git
cd koharu
```
## Pré-requisitos
- [Rust](https://www.rust-lang.org/tools/install) 1.95 ou mais recente (Rust 2024 edition)
- [Bun](https://bun.sh/) 1.0 ou mais recente
### Windows
- Visual Studio C++ build tools
- [CUDA Toolkit 13.0](https://developer.nvidia.com/cuda-13-0-0-download-archive) para builds CUDA
- [AMD HIP SDK](https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html) para ZLUDA
### macOS
- Xcode Command Line Tools (`xcode-select --install`)
### Linux
- Toolchain C/C++ da distro (`build-essential` ou equivalente)
- [LLVM](https://llvm.org/) 15 ou mais recente para builds com aceleração GPU
## Instalar Dependências
```bash
bun install
```
A toolchain Rust é resolvida automaticamente a partir do `rust-toolchain.toml` no primeiro build.
## Executar Localmente
```bash
bun run dev
```
Isso inicia o app Tauri em modo dev contra a UI empacotada.
## Build de Release
```bash
bun run build
```
Os binários ficam em `target/release-with-debug/` ou `target/release/` dependendo do profile.
## Comandos do Dia a Dia
Sempre use `bun cargo` para comandos Rust — é assim que as feature flags de plataforma (CUDA, Metal, Vulkan) são aplicadas corretamente.
```bash
bun cargo check # verificação de tipos
bun cargo clippy -- -D warnings # lint
bun cargo fmt -- --check # checagem de formatação
bun cargo test --workspace --tests # testes unitários e de integração
```
Formatação de UI e configs usa [oxfmt](https://github.com/oxc-project/oxfmt):
```bash
bun run format
bun run format:check
```
Testes unitários da UI:
```bash
bun run test:ui
```
## Trabalho com ML
Ao iterar em `koharu-ml` ou `koharu-llm`, habilite o backend que bate com a sua máquina:
```bash
# Windows / Linux com NVIDIA
bun cargo test -p koharu-ml --features=cuda
# macOS (Apple Silicon)
bun cargo test -p koharu-ml --features=metal
```
Detalhes da seleção de backend estão em [Aceleração e Runtime](../explanation/acceleration-and-runtime.md).
## Documentação
A documentação mora em `docs/en-US/`, `docs/ja-JP/`, `docs/zh-CN/` e `docs/pt-BR/`. Construa cada locale que você editou:
```bash
zensical build -f docs/zensical.toml -c
zensical build -f docs/zensical.ja-JP.toml
zensical build -f docs/zensical.zh-CN.toml
zensical build -f docs/zensical.pt-BR.toml
```
Ao adicionar uma página nova, registre-a na nav do `zensical*.toml` correspondente.
## Antes de Abrir um PR
Rode só as checagens que batem com o que você mudou. Não precisa rodar tudo em todo PR.
- **Mudanças em Rust**`bun cargo fmt -- --check`, `bun cargo check`, `bun cargo clippy -- -D warnings`, `bun cargo test --workspace --tests`
- **Mudanças na UI**`bun run format`, `bun run test:ui`
- **Integração desktop**`bun run build`
- **Docs** — compile cada locale que você editou
## Expectativas de PR
- **Um objetivo por PR.** Correção de bug *ou* refactor *ou* feature nova — não tudo junto.
- **Siga os padrões existentes.** Se o arquivo já tem uma convenção, combine com ela.
- **Descreva o que mudou e como verificou.** Screenshots ou clipes curtos para UI; before/after para pipeline.
- **Sem shims de retrocompatibilidade.** Substitua o código antigo no lugar — nada de pastas `v2/` nem aliases deprecated.
- **Sem refactors oportunistas.** Se achou algo a limpar sem relação, abra um PR separado.
PRs pequenos e focados são revisados mais rápido do que PRs grandes e misturados.
## Páginas Relacionadas
- [Build a Partir do Código-fonte](../how-to/build-from-source.md)
- [Executar nos Modos GUI, Headless e MCP](../how-to/run-gui-headless-and-mcp.md)
- [Solução de Problemas](../how-to/troubleshooting.md)