feat: Weevil v1.0.0-beta1 - FTC Project Generator
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.
This commit is contained in:
56
templates/README.md
Normal file
56
templates/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# {{ 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
|
||||
```bash
|
||||
./gradlew test
|
||||
```
|
||||
|
||||
### Build Project
|
||||
```bash
|
||||
./gradlew build
|
||||
```
|
||||
|
||||
### Deploy to Robot
|
||||
```bash
|
||||
weevil deploy {{ project_name }}
|
||||
```
|
||||
|
||||
## FTC SDK
|
||||
|
||||
This project uses FTC SDK located at:
|
||||
```
|
||||
{{ sdk_dir }}
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
1. Write your robot code in `src/main/java/robot/`
|
||||
2. Write tests in `src/test/java/robot/`
|
||||
3. Run tests frequently: `./gradlew test`
|
||||
4. Deploy when ready: `weevil deploy`
|
||||
|
||||
## Resources
|
||||
|
||||
- [FTC Docs](https://ftc-docs.firstinspires.org/)
|
||||
- [Game Manual](https://www.firstinspires.org/resource-library/ftc/game-and-season-info)
|
||||
|
||||
---
|
||||
Generated by Weevil v{{ generator_version }} | Nexus Workshops LLC
|
||||
Reference in New Issue
Block a user