Ir para o conteúdo

Primeiros Passos

Clonar o Repositório

git clone https://github.com/mayocream/koharu.git
cd koharu

Pré-requisitos

  • Rust 1.92 ou mais recente
  • Bun 1.0 ou mais recente

Windows

macOS

  • Xcode Command Line Tools (xcode-select --install)

Linux

  • Toolchain C/C++ da distro (build-essential ou equivalente)
  • LLVM 15 ou mais recente para builds com aceleração GPU

Instalar Dependências

bun install

A toolchain Rust é resolvida automaticamente a partir do rust-toolchain.toml no primeiro build.

Executar Localmente

bun run dev

Isso inicia o app Tauri em modo dev contra a UI empacotada.

Build de Release

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.

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:

bun run format
bun run format:check

Testes unitários da UI:

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:

# 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.

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:

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 Rustbun cargo fmt -- --check, bun cargo check, bun cargo clippy -- -D warnings, bun cargo test --workspace --tests
  • Mudanças na UIbun run format, bun run test:ui
  • Integração desktopbun 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