# Copilot Instructions for litra-rs
This document provides instructions for AI agents to set up the development environment and run build processes for the litra-rs project.
## Project Overview
- **Language**: Rust
- **Purpose**: Control Logitech Litra lights from command line, MCP clients, and Rust applications
- **Key Dependencies**: hidapi (requires libudev-dev on Linux)
## Development Environment Setup
### System Dependencies
On Linux, install the required system library:
```bash
sudo apt-get update && sudo apt-get install -y libudev-dev
```
### Rust Toolchain
The project uses a specific Rust version with required components:
```bash
rustup override set 1.92.0
rustup component add clippy rustfmt
```
## Development Commands
### Build
Check the project builds correctly:
```bash
cargo check --locked --workspace --all-features --all-targets
```
Build release binary:
```bash
cargo build --release
```
### Testing
Run all tests:
```bash
cargo test
```
### Code Quality
Format code and check formatting:
```bash
cargo fmt --all
cargo fmt --all -- --check
```
Run linter with warnings treated as errors:
```bash
cargo clippy --locked --workspace --all-features --all-targets -- -D warnings
```
### Running the Application
After building, test the binary works:
```bash
./target/release/litra --help
```
## Notes for AI Agents
- The project requires `libudev-dev` on Linux systems before building
- Rust toolchain is pinned to version 1.92.0 (see `rust-toolchain.toml`)
- All clippy warnings must be resolved (treated as errors)
- The project has minimal unit tests but includes doc tests
- Pre-commit hooks are configured but not required for basic development