Skip to main content

rust-review

Rust code review guidelines for Coglet

Informações da origem

Repositório
replicate/cog
Última atividade na origem
24 de abril de 2026 às 19:38
Idioma detectado do SKILL.md
inglês
Estrelas
9.492
Forks
699

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
rust-review
description
Rust code review guidelines for Coglet
## Rust review guidelines This project uses Rust for Coglet (`crates/`), the prediction server that runs inside Cog containers. It handles HTTP requests, worker process management, and prediction execution. ### What linters already catch (skip these) clippy runs in CI. cargo-deny audits dependencies for license/advisory issues. Don't flag issues these would catch. ### What to look for **Error handling** - Use `thiserror` for typed errors in library code, `anyhow` for application errors - Don't use `.unwrap()` or `.expect()` in non-test code unless the invariant is documented - Error context: use `.context()` or `.with_context()` from anyhow, not bare `?` **Ownership and lifetimes** - Unnecessary cloning where a borrow would work - Lifetime issues that suggest a design problem (not just annotation noise) - Arc/Mutex when simpler patterns exist **Async (tokio)** - Blocking operations inside async contexts (use `spawn_blocking`) - Missing `.await` on futures (compiler catches some, but not all logical issues) - Proper cancellation handling and cleanup - Task/JoinHandle leaks **Safety** - Any `unsafe` block needs justification and a safety comment - FFI boundaries with Python (PyO3) -- check for panics across FFI, GIL handling - Memory safety in IPC between parent and worker processes **Architecture** - `crates/coglet/` is the core: HTTP server, worker orchestration, IPC - `crates/coglet-python/` is PyO3 bindings for Python predictor integration - Two-process architecture: parent (HTTP + orchestrator) and worker (Python execution) - Don't mix IPC concerns with HTTP handling - Snapshot tests use `insta` -- check if snapshots need updating **Dependencies** - New dependencies should be justified -- `crates/deny.toml` audits them - Prefer std or existing deps over adding new ones for small tasks
Ver no GitHub