Files

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 guidance
  • README.md — public project overview
  • ATTRIBUTION.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.