2.0 KiB
CLAUDE.md
This repository is maintained as Enuxia Vacuum, an independent open-source fork of VacuumTiger.
Read this first
Before making changes, read:
AGENTS.md— authoritative development and architecture guidanceREADME.md— public project overviewATTRIBUTION.md— upstream provenance and licensing context
AGENTS.md is the source of truth for repository-level coding-agent instructions.
Important project rules
Do not assume the current upstream VacuumTiger architecture is the target architecture.
Enuxia Vacuum has its own roadmap, including a Navigation V2 redesign with:
Global planner
↓
Layered local costmap
↓
DWA local planner
↓
Progress / stuck detector
↓
Recovery manager
The current Dhruva navigator is a validated baseline, not the long-term design.
Do not keep adding workaround logic to the legacy navigator when the work belongs in Navigation V2.
Hardware safety
This code controls physical hardware.
When touching robot motion, hardware drivers or recovery behavior:
- preserve cliff and bumper protections;
- never assume a timed motion actually occurred;
- use encoder/pose feedback for recovery;
- do not run competing hardware controllers simultaneously;
- keep tests small and supervised;
- fail safely.
Public repository hygiene
Never add:
- credentials;
- private keys;
- tokens;
- private IP-specific deployment configuration;
- NAND dumps;
- private maps;
- sensitive logs.
Use example values in documentation and configuration samples.
Development approach
Prefer:
one problem
→ one hypothesis
→ one focused change
→ build/test
→ supervised runtime validation if needed
→ commit
For Rust components, normally run:
cargo fmt --check
cargo test
cargo build --release
Do not make broad refactors or mass renames unless explicitly requested.
Preserve upstream attribution and license notices.