Files
Eric Ratliff df338987b6 feat: Add template system with testing showcase
Implements template-based project creation allowing teams to start with
professional example code instead of empty projects.

Features:
- Two templates: 'basic' (minimal) and 'testing' (45-test showcase)
- Template variable substitution ({{PROJECT_NAME}}, etc.)
- Template validation with helpful error messages
- `weevil new --list-templates` command
- Templates embedded in binary at compile time

Testing template includes:
- 3 complete subsystems (MotorCycler, WallApproach, TurnController)
- Hardware abstraction layer with mock implementations
- 45 comprehensive tests (unit, integration, system)
- Professional documentation (DESIGN_AND_TEST_PLAN.md, etc.)

Usage:
  weevil new my-robot                    # basic template
  weevil new my-robot --template testing # testing showcase
  weevil new --list-templates            # show available templates

This enables FTC teams to learn from working code and best practices
rather than starting from scratch.

All 62 tests passing.
2026-02-02 23:15:23 -06:00
..

# {{PROJECT_NAME}}

FTC Robot project created with Weevil {{WEEVIL_VERSION}} on {{CREATION_DATE}}.

## Getting Started

This is a minimal FTC robot project. Add your robot code in:
- `src/main/java/robot/opmodes/` - OpModes for TeleOp and Autonomous
- `src/main/java/robot/subsystems/` - Robot subsystems
- `src/main/java/robot/hardware/` - Hardware abstractions

## Building

```bash
# Setup environment (first time only)
weevil setup

# Build APK
weevil build

# Deploy to robot
weevil deploy
```

## Project Structure

```
{{PROJECT_NAME}}/
├── src/
│   ├── main/java/robot/
│   │   ├── hardware/      # Hardware interfaces
│   │   ├── subsystems/    # Robot subsystems  
│   │   └── opmodes/       # TeleOp and Autonomous
│   └── test/java/robot/   # Unit tests
├── build.gradle           # Build configuration
└── README.md             # This file
```

## Next Steps

1. Add your robot hardware in `src/main/java/robot/hardware/`
2. Create subsystems in `src/main/java/robot/subsystems/`
3. Write OpModes in `src/main/java/robot/opmodes/`
4. Test and deploy!

## Documentation

- [Weevil Documentation](https://docs.weevil.dev)
- [FTC SDK Documentation](https://ftc-docs.firstinspires.org)

---

Created with [Weevil](https://weevil.dev) - FTC Project Generator