Conversation
Add a set of AGENTS.md knowledge-base files: a root PROJECT KNOWLEDGE BASE and module-level guides for common, planning, and planner_gui_egui. These files document repository structure, crate responsibilities, architecture (Crux core/shell), conventions, anti-patterns, where to look for common tasks, and onboarding commands — intended to improve developer orientation and reduce context-switching when making changes.
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive AGENTS.md documentation files to establish a project knowledge base for developer orientation. The documentation covers repository structure, crate responsibilities, the Crux core/shell architecture, coding conventions, common development tasks, and known anti-patterns.
Changes:
- Added root AGENTS.md with project overview, architecture diagrams, 31 crates claim, 4 executables, conventions, and commands
- Added planning/AGENTS.md documenting the 10-crate planning module structure, Crux pattern, and dependency flow
- Added common/AGENTS.md documenting 6 shared utility crates with feature flags and edition info
- Added planning/planner_gui_egui/AGENTS.md documenting the egui GUI shell with 65 source files, tab system, and integration patterns
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| AGENTS.md | Root project knowledge base documenting workspace structure, Crux architecture, 4 executables, formatting conventions, test frameworks, and common commands |
| planning/AGENTS.md | Planning module documentation covering 10 crates, Crux core/shell pattern, domain logic separation, and dependency flow |
| common/AGENTS.md | Common utilities documentation for 6 crates including criteria, i18n, math, and util with feature flag patterns |
| planning/planner_gui_egui/AGENTS.md | GUI frontend documentation detailing egui structure, 10 project tabs, 4 PCB tabs, Crux integration, and runtime conventions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## OVERVIEW | ||
|
|
||
| MakerPnP — cross-platform Pick-and-Place machine software for Makers. Pure Rust Cargo workspace (31 crates), using Crux core/shell architecture with egui GUI and CLI frontends. |
There was a problem hiding this comment.
The documentation states "31 crates" but the workspace only contains 21 unique crate members according to the root Cargo.toml members list. The actual count is: 6 (common) + 2 (eda) + 2 (gerber) + 1 (pnp) + 10 (planning) = 21 crates. Please update this to reflect the correct number.
| MakerPnP — cross-platform Pick-and-Place machine software for Makers. Pure Rust Cargo workspace (31 crates), using Crux core/shell architecture with egui GUI and CLI frontends. | |
| MakerPnP — cross-platform Pick-and-Place machine software for Makers. Pure Rust Cargo workspace (21 crates), using Crux core/shell architecture with egui GUI and CLI frontends. |
| │ ├── mod.rs (2995 lines)# Project view — largest file, orchestrates all project tabs | ||
| │ ├── toolbar.rs # Project-specific toolbar | ||
| │ ├── process.rs # Process management UI | ||
| │ ├── tabs/ # 9 tabs: overview, explorer, pcb, unit_assignments, parts, |
There was a problem hiding this comment.
The comment states "9 tabs" but then lists 10 tabs (overview, explorer, pcb, unit_assignments, parts, load_out, placements, phase, process, issues), which matches the actual number of tab files in the project/tabs/ directory. Please correct "9 tabs" to "10 tabs".
| │ ├── tabs/ # 9 tabs: overview, explorer, pcb, unit_assignments, parts, | |
| │ ├── tabs/ # 10 tabs: overview, explorer, pcb, unit_assignments, parts, |
Add a set of AGENTS.md knowledge-base files: a root PROJECT KNOWLEDGE BASE and module-level guides for common, planning, and planner_gui_egui. These files document repository structure, crate responsibilities, architecture (Crux core/shell), conventions, anti-patterns, where to look for common tasks, and onboarding commands — intended to improve developer orientation and reduce context-switching when making changes.