Cross-platform tool for generating clean, testable FTC robot projects without editing the SDK installation. Features: - Standalone project generation with proper separation from SDK - Per-project SDK configuration via .weevil.toml - Local unit testing support (no robot required) - Cross-platform build/deploy scripts (Linux/macOS/Windows) - Project upgrade system preserving user code - Configuration management commands - Comprehensive test suite (11 passing tests) - Zero-warning builds Architecture: - Pure Rust implementation with embedded Gradle wrapper - Projects use deployToSDK task to copy code to FTC SDK TeamCode - Git-ready projects with automatic initialization - USB and WiFi deployment with auto-detection Commands: - weevil new <name> - Create new project - weevil upgrade <path> - Update project infrastructure - weevil config <path> - View/modify project configuration - weevil sdk status/install/update - Manage SDKs Addresses the core problem: FTC's SDK structure forces students to edit framework internals instead of separating concerns like industry standard practices. Weevil enables proper software engineering workflows for robotics education.
{{ 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