- Phase 1: Inline unit tests (quick sanity checks)
- Phase 2: Module pytest with --tinytorch educational output
- Phase 3: Integration tests for modules 01-N
Added --unit-only and --no-integration flags for flexibility.
Students can now run comprehensive tests with clear feedback
about what each phase is checking and why it matters.
New command shows all 21 modules with descriptions:
- tito module list - Shows numbered table of all modules
- Educational descriptions explain what each module covers
- Links to start and status commands for next steps
New Commands:
- tito module test [NUMBER] - Test single module
- tito module test --all - Test all 20 modules sequentially
- tito module complete --all - Complete all modules (test + export)
- tito module reset --all - Reset all modules (already existed)
Features:
- Detailed test results with pass/fail status
- --verbose flag for full test output
- --stop-on-fail to halt on first failure
- Summary table showing all module test results
- 5-minute timeout per module test
- Proper error reporting and exit codes
This enables:
- Quick validation of all modules after global changes
- Bulk export workflow for package releases
- Easy testing during development
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed import from `.src` to `..src` since SrcCommand is in
tito/commands/src.py not tito/commands/module/src.py
This fixes the "No module named 'tito.commands.module.src'" error
when running `tito module complete`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove module from started_modules when marking complete
- Add validation to prevent completing modules out of order
- Show all modules in status (removed smart collapsing)
- Fix data integrity: modules must be completed sequentially
Prevents invalid states where module N is complete but N-1 is not.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Reorganize TinyTorch CLI from flat structure to hierarchical organization
with subfolders for complex commands with subcommands.
Changes:
- Create subfolders: module/, system/, package/
- Move module commands: module_workflow.py → module/workflow.py
- Move module_reset.py → module/reset.py
- Move system commands: system.py → system/system.py
- Move system subcommands: info.py, health.py, jupyter.py → system/
- Move package commands: package.py → package/package.py
- Move package helpers: reset.py, nbdev.py → package/
- Archive deprecated files: clean.py, help.py, notebooks.py, status.py
- Update all imports in moved files and main.py
- Add __init__.py exports for each subfolder
- Create comprehensive CLI test suite (52 tests)
- test_cli_registry.py: Validate command registration
- test_cli_execution.py: Smoke tests for all commands
- test_cli_help_consistency.py: Help text validation
- Update tests to match new structure
Benefits:
- Clear ownership: Easy to see which helpers belong to which commands
- Better organization: Related files grouped together
- Scales cleanly: Adding subcommands is straightforward
- Zero user impact: All commands work exactly the same
All 52 tests passing ✅🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>