Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions tinytorch/tito/commands/package/reset.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ def description(self) -> str:
return "Reset package files or user progress data"

def add_arguments(self, parser: ArgumentParser) -> None:
# Lets bare `tito package reset [--force]` (with no SUBCOMMAND token)
# reset the package directly, matching the "tito package reset --force"
# example in PackageCommand's own help text.
parser.add_argument("--force", action="store_true", help="Skip confirmation prompt (resets the package)")

subparsers = parser.add_subparsers(
dest='reset_command',
help='Reset subcommands',
Expand Down Expand Up @@ -70,19 +75,22 @@ def run(self, args: Namespace) -> int:
console = self.console

if not hasattr(args, 'reset_command') or not args.reset_command:
# No SUBCOMMAND given: default to resetting the package, matching
# PackageCommand's own documented "tito package reset --force"
# example and this command's top-level description ("Reset
# tinytorch package to clean state"). The other reset types
# (all/progress/milestones/config) are still reachable as
# tito package reset <type>, listed below for discoverability.
console.print(Panel(
"[bold cyan]Reset Commands[/bold cyan]\n\n"
"Available subcommands:\n"
" • [bold]package[/bold] - Reset tinytorch package (remove exported files)\n"
" • [bold]all[/bold] - Reset all user progress (modules + milestones + config)\n"
" • [bold]progress[/bold] - Reset module completion tracking only\n"
" • [bold]milestones[/bold] - Reset milestone achievements only\n"
" • [bold]config[/bold] - Reset configuration to defaults\n\n"
"[dim]Example: tito reset progress --backup[/dim]",
"[dim]Other reset types available:[/dim]\n"
"[dim] • tito package reset all - Reset all user progress (modules + milestones + config)[/dim]\n"
"[dim] • tito package reset progress - Reset module completion tracking only[/dim]\n"
"[dim] • tito package reset milestones - Reset milestone achievements only[/dim]\n"
"[dim] • tito package reset config - Reset configuration to defaults[/dim]",
title="Reset Command Group",
border_style="bright_yellow"
))
return 0
return self._reset_package(args)

# Execute the appropriate subcommand
if args.reset_command == 'package':
Expand Down
Loading