Vijay Janapa Reddi
|
a92a5530ef
|
MAJOR: Separate CLI from framework - proper architectural separation
BREAKING CHANGE: CLI moved from tinytorch/cli/ to tito/
Perfect Senior Engineer Architecture:
- tinytorch/ = Pure ML framework (production)
- tito/ = Development/management CLI tool
- modules/ = Educational content
Benefits:
✅ Clean separation of concerns
✅ Framework stays lightweight (no CLI dependencies)
✅ Clear mental model for users
✅ Professional project organization
✅ Proper dependency management
Structure:
tinytorch/ # 🧠 Core ML Framework
├── core/ # Tensors, layers, operations
├── training/ # Training loops, optimizers
├── models/ # Model architectures
└── ... # Pure ML functionality
tito/ # 🔧 Development CLI Tool
├── main.py # CLI entry point
├── core/ # CLI configuration & console
├── commands/ # Command implementations
└── tools/ # CLI utilities
Key Changes:
- Moved all CLI code from tinytorch/cli/ to tito/
- Updated imports and entry points
- Separated dependencies (Rich only for dev tools)
- Updated documentation to reflect proper separation
- Maintained backward compatibility with bin/tito wrapper
This demonstrates how senior engineers separate:
- Production code (framework) from development tools (CLI)
- Core functionality from management utilities
- User-facing APIs from internal tooling
Educational Value:
- Shows proper software architecture
- Teaches separation of concerns
- Demonstrates dependency management
- Models real-world project organization
|
2025-07-10 22:08:56 -04:00 |
|