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.
{{ project_name }}
FTC Robot Project generated by Weevil v{{ generator_version }}
Project Structure
{{ project_name }}/
├── src/
│ ├── main/java/robot/
│ │ ├── subsystems/ # Robot subsystems (drivetrain, intake, etc.)
│ │ ├── hardware/ # Hardware abstraction layer
│ │ └── opmodes/ # TeleOp and Autonomous programs
│ └── test/java/robot/ # Unit tests
├── build.gradle.kts # Build configuration
└── settings.gradle.kts # Links to FTC SDK
Getting Started
Run Tests
./gradlew test
Build Project
./gradlew build
Deploy to Robot
weevil deploy {{ project_name }}
FTC SDK
This project uses FTC SDK located at:
{{ sdk_dir }}
Development
- Write your robot code in
src/main/java/robot/ - Write tests in
src/test/java/robot/ - Run tests frequently:
./gradlew test - Deploy when ready:
weevil deploy
Resources
Generated by Weevil v{{ generator_version }} | Nexus Workshops LLC