@echo off REM Display usage information for FTC Project Generator echo ================================================================ echo FTC Project Generator - Clean Robot Projects echo ================================================================ echo. echo Creates clean, testable FTC robot projects with shared SDK. echo Your code stays separate - SDK is just a build dependency. echo. echo USAGE: echo ftc-new-project ^ [options] echo. echo OPTIONS: echo -v, --version ^ FTC SDK git tag (default: v10.1.1) echo -d, --sdk-dir ^ SDK location (default: %%USERPROFILE%%\ftc-sdk) echo -h, --help Show this help echo. echo EXAMPLES: echo REM Create new project with latest SDK echo ftc-new-project my-robot echo. echo REM Create project with specific FTC version echo ftc-new-project competition-bot -v v10.0.0 echo. echo REM Use custom SDK location echo ftc-new-project test-bot -d C:\my-ftc-sdk echo. echo REM Create second project (reuses existing SDK!) echo ftc-new-project another-robot echo. echo WORKFLOW: echo 1. Create project: ftc-new-project my-robot echo 2. Develop ^& test: cd my-robot ^&^& gradlew test --continuous echo 3. Deploy to SDK: gradlew deployToSDK echo 4. Build APK: cd %%USERPROFILE%%\ftc-sdk ^&^& gradlew build echo 5. Install to robot: Use Android Studio or adb echo. echo WHAT IT DOES: echo + Checks/clones FTC SDK (shared across all projects) echo + Creates YOUR clean project structure echo + Generates test scaffolding with examples echo + Sets up composite build to reference SDK echo + Ready to code immediately echo. echo WHY THIS IS BETTER: echo Traditional FTC: This Way: echo - Clone 200MB repo - Your project: 50KB echo - Your code mixed in - SDK separate, shared echo - Hard to test - Tests run on PC instantly echo - One repo per project - One SDK, many projects echo - Forced BSD license - Your license, your code echo. echo ENVIRONMENT: echo Set defaults to avoid typing them every time: echo. echo set FTC_SDK_DIR=%%USERPROFILE%%\ftc-sdk echo set FTC_VERSION=v10.1.1 echo. echo PROJECT STRUCTURE: echo my-robot\ echo +-- src\main\java\robot\ echo ^| +-- subsystems\ -^> Your robot logic (tested on PC) echo ^| +-- hardware\ -^> FTC hardware implementations echo ^| +-- opmodes\ -^> FTC OpModes for Control Hub echo +-- src\test\java\robot\ -^> Unit tests (run without robot) echo. echo MULTIPLE PROJECTS: echo One SDK, unlimited projects: echo. echo ftc-new-project swerve-bot REM Creates project 1 echo ftc-new-project mecanum-bot REM Reuses SDK - just creates project 2 echo ftc-new-project test-chassis REM Reuses SDK - creates project 3 echo. echo All projects share same SDK but are completely independent! echo. echo DOCUMENTATION: echo See README.md for detailed information and examples. echo. exit /b 0