Project Template
All Ironclad robot projects follow the same layout:
src/
└─ main/java/frc/robot/
├─ subsystems/
├─ constants/
├─ logging/ (optional)
├─ utils/ (optional)
├─ Robot.java
└─ Main.java
Packages
| Folder | Purpose |
|---|---|
subsystems/ | Hardware interfaces (motors, sensors) |
constants/ | Shared constants by subsystem |
logging/ | (Optional) telemetry/logging wrappers |
utils/ | Helpers & wrappers |
Conventions
- Class names: PascalCase
- Variables: camelCase
- Constants: ALL_CAPS
- No magic numbers — put values in
constants/ - Use
@Overridewhere applicable
Ironclad Convention
Each subsystem owns its default command, constants, and public API. Keep hardware control close to the subsystem.