feat: Add template system to weevil new command
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
- Template files embedded in binary at compile time
Technical details:
- Templates stored in templates/basic/ and templates/testing/
- Files ending in .template have variables replaced
- Uses include_dir! macro to embed templates in binary
- Returns file count for user feedback
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.
This commit is contained in:
5
templates/testing/.weevil.toml.template
Normal file
5
templates/testing/.weevil.toml.template
Normal file
@@ -0,0 +1,5 @@
|
||||
project_name = "my-robot"
|
||||
weevil_version = "1.1.0-beta.2"
|
||||
ftc_sdk_path = 'C:\Users\Eric\.weevil\ftc-sdk'
|
||||
ftc_sdk_version = "v10.1.1"
|
||||
android_sdk_path = 'C:\Users\Eric\.weevil\android-sdk'
|
||||
Reference in New Issue
Block a user