# Getting Started with FTC Project Generator 1.0.0-beta ## Quick Validation Checklist Use this checklist to verify everything works: ### ☐ 1. Extract and Navigate ```bash cd ftc-project-gen-1.0.0-beta ``` ### ☐ 2. Run Tests ```bash ./tests/run-tests.sh ``` **Expected:** All tests pass (green ✓) ### ☐ 3. Create Test Project ```bash ./ftc-new-project demo-robot ``` **Expected:** Success message, directory created ### ☐ 4. Verify Project Structure ```bash cd demo-robot ls -la ``` **Expected:** See src/, build.gradle.kts, README.md, etc. ### ☐ 5. Build the Project ```bash ./gradlew build ``` **Expected:** BUILD SUCCESSFUL ### ☐ 6. Run Project Tests ```bash ./gradlew test ``` **Expected:** 3 tests pass ### ☐ 7. Test Continuous Mode ```bash ./gradlew test --continuous ``` **Expected:** Tests run, waits for changes Press Ctrl+C to exit ### ☐ 8. Test Upgrade ```bash cd .. # Edit VERSION file: change to 1.0.1-beta ./ftc-new-project demo-robot --upgrade ``` **Expected:** Upgrade successful message ### ☐ 9. Review Upgrade Changes ```bash cd demo-robot git diff ``` **Expected:** See changes to build files, no changes to src/ ### ☐ 10. Test Duplicate Detection ```bash cd .. ./ftc-new-project demo-robot ``` **Expected:** Error message suggesting --upgrade ## Installation Options ### Option 1: System-wide (Recommended) ```bash sudo ./install.sh ``` Then use from anywhere: ```bash ftc-new-project my-robot ``` ### Option 2: User Install ```bash mkdir -p ~/.local/bin INSTALL_DIR=~/.local/bin ./install.sh ``` Add to ~/.bashrc if needed: ```bash echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc source ~/.bashrc ``` ### Option 3: Use Directly ```bash ./ftc-new-project my-robot ``` ## Next Steps After Validation ### For Daily Use 1. **Create your actual project:** ```bash ftc-new-project team-1234-robot ``` 2. **Start developing:** ```bash cd team-1234-robot ./gradlew test --continuous ``` 3. **Edit code:** - Open in your IDE (IntelliJ IDEA, VS Code, etc.) - Edit src/main/java/robot/subsystems/Drive.java - Edit src/test/java/robot/subsystems/DriveTest.java - Watch tests auto-run ### For Windows Support 1. **Create windows/lib.bat:** - Port functions from linux/lib.sh - Follow same structure - Use Windows path separators 2. **Create ftc-new-project.bat:** - Port from ftc-new-project - Use delayed expansion - Call windows/lib.bat functions 3. **Test on Windows:** - Run through same checklist - Verify templates work - Test upgrade functionality ### For Future Development 1. **Read documentation:** - README.md - User guide - QUICKSTART.md - Quick start - DEVELOPER.md - Contributing - CHANGELOG.md - History 2. **Make improvements:** - Add new templates - Enhance test coverage - Improve error messages 3. **Share with team:** - Commit to version control - Tag releases - Distribute to FTC mentors/students ## Troubleshooting ### Tests Fail **Problem:** Tests don't pass **Solution:** 1. Check git, java, gradle installed 2. Run `./gradlew clean build` 3. Check /tmp/gradle-*.log for details ### Project Won't Build **Problem:** `./gradlew build` fails **Solution:** 1. Check Java version: `java -version` (need 11+) 2. Try `./gradlew clean build --refresh-dependencies` 3. Delete .gradle/ directory and try again ### Upgrade Doesn't Work **Problem:** Upgrade command fails **Solution:** 1. Verify .ftc-generator-version exists 2. Check you're in parent directory 3. Ensure project name is correct ### Templates Not Found **Problem:** Template errors during creation **Solution:** 1. Verify templates directory exists 2. Check all templates present 3. Verify permissions (readable) ## Validation Criteria Your installation is working if: - ✓ All tests pass - ✓ Demo project creates successfully - ✓ Demo project builds - ✓ Demo project tests pass - ✓ Upgrade works - ✓ Duplicate detection works ## Ready to Ship? Once you've verified: 1. Tests pass 2. Projects create and build 3. Upgrade works 4. Documentation is clear You're ready for 1.0.0-beta release! 🎉 ## Getting Help If you encounter issues: 1. Check DEVELOPER.md for architecture details 2. Review test output for specifics 3. Check generated project logs 4. Review template files for errors ## Success Looks Like A successful validation means: - You can create projects in seconds - Projects build immediately - Tests run instantly on PC - Upgrade preserves your code - Multiple projects share one SDK Welcome to clean FTC development! 🤖