Initial release: FTC Project Generator

Generate clean, testable FTC robot projects with proper separation from SDK bloat.

Features:
- Composite build setup - one shared SDK, multiple clean projects
- Subsystem pattern with hardware interfaces for easy testing
- JUnit scaffolding - tests run on PC without robot
- Minimal project structure (~50KB vs 200MB SDK)
- Support for multiple FTC SDK versions

Philosophy: Your code should be YOUR code. SDK is just a dependency.

Built by Nexus Workshops for FTC teams tired of fighting the standard structure.

License: MIT
This commit is contained in:
Eric Ratliff
2026-01-13 23:58:43 -06:00
commit 81452a8670
10 changed files with 2350 additions and 0 deletions

33
install.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
# Install FTC project generator
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INSTALL_DIR="/usr/local/bin"
echo "FTC Project Generator - Installation"
echo ""
# Check if running as root for system install
if [ -w "$INSTALL_DIR" ]; then
echo "Installing to $INSTALL_DIR (system-wide)..."
ln -sf "$SCRIPT_DIR/ftc-new-project" "$INSTALL_DIR/ftc-new-project"
echo "✓ Installed! Use 'ftc-new-project' from anywhere."
else
echo "No write access to $INSTALL_DIR"
echo ""
echo "Choose installation method:"
echo ""
echo "1. System-wide (requires sudo):"
echo " sudo $0"
echo ""
echo "2. User-only (no sudo needed):"
echo " mkdir -p ~/bin"
echo " ln -sf $SCRIPT_DIR/ftc-new-project ~/bin/ftc-new-project"
echo " echo 'export PATH=\$PATH:~/bin' >> ~/.bashrc"
echo " source ~/.bashrc"
echo ""
echo "3. Add this directory to PATH:"
echo " echo 'export PATH=\$PATH:$SCRIPT_DIR' >> ~/.bashrc"
echo " source ~/.bashrc"
exit 1
fi