MCPcopy Create free account
hub / github.com/RightNow-AI/rightnow-cli / main

Function main

rightnow_cli/cli_minimal.py:729–785  ·  view source on GitHub ↗

CLI entry point.

()

Source from the content-addressed store, hash-verified

727
728
729def main():
730 """CLI entry point."""
731 parser = argparse.ArgumentParser(description="RightNow CLI - CUDA AI Assistant")
732
733 parser.add_argument("--working-dir", type=Path, default=None, help="Working directory")
734 parser.add_argument("--model", type=str, default=None, help="Override model")
735 parser.add_argument("--agent", type=str, choices=["optimizer", "debugger", "analyzer", "general"], default="general", help="Starting agent")
736 parser.add_argument("--no-routing", action="store_true", help="Disable auto-routing")
737 parser.add_argument("--continue", dest="continue_session", action="store_true", help="Continue latest session")
738 parser.add_argument("--resume", action="store_true", help="Show list of sessions to resume from")
739
740 args = parser.parse_args()
741
742 # Working directory
743 working_dir = args.working_dir or Path.cwd()
744
745 # Handle session resumption
746 session_id_to_load = None
747
748 if args.continue_session:
749 # Load latest session
750 session_id_to_load = load_latest_session(working_dir)
751 if not session_id_to_load:
752 console.print("[yellow]Starting new session instead...[/yellow]\n")
753
754 elif args.resume:
755 # Interactive session selection
756 session_id_to_load = list_sessions_interactive(working_dir)
757 if not session_id_to_load:
758 console.print("[yellow]Starting new session instead...[/yellow]\n")
759
760 # Config
761 config_overrides = {}
762 if args.model:
763 config_overrides["model"] = args.model
764
765 # Initialize
766 try:
767 orchestrator = AgentOrchestrator(working_dir=working_dir, config_overrides=config_overrides)
768 except Exception as e:
769 show_error(f"Init failed: {e}")
770 sys.exit(1)
771
772 # Restore session if requested
773 if session_id_to_load:
774 if not orchestrator.restore_session(session_id_to_load):
775 show_warning("Failed to restore session, starting fresh")
776 else:
777 # Setup fresh session
778 if args.agent != "general":
779 orchestrator.switch_agent(args.agent)
780
781 if args.no_routing:
782 orchestrator.toggle_auto_routing()
783
784 # Run
785 interactive_mode(orchestrator)
786

Callers 4

rightnow.pyFile · 0.90
test_main_functionMethod · 0.90
cli_minimal.pyFile · 0.85
__main__.pyFile · 0.85

Calls 9

restore_sessionMethod · 0.95
switch_agentMethod · 0.95
toggle_auto_routingMethod · 0.95
load_latest_sessionFunction · 0.85
AgentOrchestratorClass · 0.85
show_errorFunction · 0.85
show_warningFunction · 0.85
interactive_modeFunction · 0.85

Tested by 1

test_main_functionMethod · 0.72