summaryrefslogtreecommitdiff
path: root/.github/instructions/rust-backend.instructions.md
blob: 719544aa69bc68dd140060523ecf0cb8675e3bcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
---
description: "Use when editing the Rust backend, Actix handlers, EVE service client, or pathfinding and market modules under rust_backend/src. Covers experimental status, service boundaries, and integration gaps."
name: "Rust Backend Boundaries"
applyTo: "rust_backend/src/**/*.rs"
---
# Rust Backend Boundaries

- Treat `rust_backend/` as an experimental rewrite, not a drop-in replacement for the Python backend. The current frontend does not target it.
- Keep `main.rs` as a thin Actix entrypoint. Shared state and polling belong in `manager.rs`; ESI and OAuth transport belongs in `eve_service.rs` and `eve_api.rs`.
- Keep `pathfinding/` and `market/` self-contained. Avoid pulling HTTP concerns, UI assumptions, or Actix types into those modules.
- Do not assume feature parity with the Python backend. If a task requires frontend integration, add the missing routes, payload shapes, and CORS deliberately rather than silently reusing Python assumptions.
- Rust runtime work depends on local OAuth env vars (`CLIENT_ID`, `CLIENT_SECRET`, `CHARACTER_ID`, `REDIRECT_URL`) and `token.json`. Preserve that flow unless the task is specifically about changing auth setup.