sistemas-cibernetico-fisicos/AGENTS.md

65 lines
3.3 KiB
Markdown

# Agent Guide: savearth-hw-project
## WHY
This repository stores the Savearth smart-shower flow-meter hardware. Agents editing here need to keep mechanical, electrical, manufacturing, and firmware contexts aligned, because a schematic change in `hardware/v2.9/easyeda/` can force a BSP update in `aws-iot-core-poc`, a BOM update in `hardware/v2.9/bom/`, and a Confluence page update.
## HOW
- Work by hardware version: active production design is `hardware/v2.8/`, next spin is `hardware/v2.9/`.
- Use the Python scripts in `hardware/common/scripts/` for repeatable BOM extraction and library conversion; do not hand-edit generated JSON/CSV files unless the source EDA project has changed.
- Maintain parity between markdown docs in `docs/` and Confluence pages in the Hardware space.
- When you touch files referenced by `AGENTS.md`, update this file too.
## WHAT
### Directory layout
| Path | Contents |
|---|---|
| `hardware/v2.3/…v2.7/` | Legacy Altium and EasyEDA designs |
| `hardware/v2.8/` | Active EasyEDA Pro production design, BOM, manufacturing outputs, parsed data |
| `hardware/v2.9/` | Placeholder for next mitigation spin |
| `hardware/common/` | Shared KiCad/EasyEDA libraries and automation scripts |
| `docs/` | Analysis, guides, meeting notes, and reports |
| `.aurelio/memory/` | Agent memory index and log |
### Key scripts
See `hardware/common/scripts/README.md` for details.
| Script | Purpose |
|---|---|
| `extract_bom.py` | Extract BOM from EasyEDA Pro `.epro` exports |
| `generate_jlcpcb_bom.py` | Build JLCPCB-compatible CSV from extracted JSON |
| `convert_to_kicad.py` | Convert LCSC parts to KiCad symbols/footprints/3D |
| `extract_easyeda_db.py` | Parse the SQLite `.eprj` directly |
### Confluence mirror expectations
Every document in `docs/` must have a corresponding Confluence page in the Hardware space. When you add, move, or rename a doc, mirror the change on Confluence or flag it in the commit message.
### Related repositories
| Repository | Local path | Role |
|---|---|---|
| `aws-iot-core-poc` | `../aws-iot-core-poc` | Firmware and BSP |
| `savearth-iot-infrastructure` | `../savearth-iot-infrastructure` | Cloud backend |
| `hardware-devicesFirmwareTest` | `../hardware-devicesFirmwareTest` | Assembly-house test station |
### Local Aurelio Workspace
This repository contains a local `.aurelio/` workspace configured for the `flow-meter-pcb` realm. It replaces the previous external Git submodule and connects directly to `savearth-mcp`, `savearth-workspace`, and the electrical MCP servers (`electrical-eda-mcp`, `electrical-sourcing-mcp`).
Tracked bootstrap files:
| File | Purpose |
|---|---|
| `.aurelio/config.toml` | Realm identity (`savearth Flow Meter PCB`, `flow-meter-pcb`, v2.8.0), sync endpoint, model defaults |
| `.aurelio/mcp_config.json` | MCP server declarations scoped to hardware work |
| `.aurelio/sync.py` | Push/pull the local `brain/` to the central Aurelio host |
| `.aurelio/README.md` | Workspace documentation |
| `.aurelio/realm/AGENTS.md` | Realm-specific agent guide |
| `.aurelio/realm/memory/index.md` | Starter memory index |
Use `python3 .aurelio/sync.py --pull` to fetch the latest central brain and `python3 .aurelio/sync.py --push` to publish local memory changes. Runtime brain artifacts under `.aurelio/brain/` and `.aurelio/memory/` are ignored by Git.