MCPcopy Index your code
hub / github.com/FSoft-AI4Code/CodeWiki / config_validate

Function config_validate

codewiki/cli/commands/config.py:476–694  ·  view source on GitHub ↗

Validate configuration and test LLM API connectivity. Checks: • Configuration file exists and is valid • API key is present • API settings are correctly formatted • (Optional) API connectivity test Examples: \b # Full validation with API te

(quick: bool, verbose: bool)

Source from the content-addressed store, hash-verified

474 help="Show detailed validation steps"
475)
476def config_validate(quick: bool, verbose: bool):
477 """
478 Validate configuration and test LLM API connectivity.
479
480 Checks:
481 • Configuration file exists and is valid
482 • API key is present
483 • API settings are correctly formatted
484 • (Optional) API connectivity test
485
486 Examples:
487
488 \b
489 # Full validation with API test
490 $ codewiki config validate
491
492 \b
493 # Quick validation (config only)
494 $ codewiki config validate --quick
495
496 \b
497 # Verbose output
498 $ codewiki config validate --verbose
499 """
500 try:
501 click.echo()
502 click.secho("Validating configuration...", fg="blue", bold=True)
503 click.echo()
504
505 manager = ConfigManager()
506
507 # Step 1: Check config file
508 if verbose:
509 click.echo("[1/5] Checking configuration file...")
510 click.echo(f" Path: {manager.config_file_path}")
511
512 if not manager.load():
513 click.secho("✗ Configuration file not found", fg="red")
514 click.echo()
515 click.echo("Error: Configuration is incomplete. Run 'codewiki config set --help' for setup instructions.")
516 sys.exit(EXIT_CONFIG_ERROR)
517
518 if verbose:
519 click.secho(" ✓ File exists", fg="green")
520 click.secho(" ✓ Valid JSON format", fg="green")
521 else:
522 click.secho("✓ Configuration file exists", fg="green")
523
524 # Load config early so we know the provider for the rest of the checks.
525 config = manager.get_config()
526 from codewiki.src.be.backend import is_caw_provider
527 caw_mode = bool(config) and is_caw_provider(config.provider)
528
529 # Step 2: Check API key (skipped for subscription providers)
530 if verbose:
531 click.echo()
532 click.echo("[2/5] Checking API key...")
533

Callers

nothing calls this directly

Calls 8

loadMethod · 0.95
get_configMethod · 0.95
get_api_keyMethod · 0.95
ConfigManagerClass · 0.90
is_caw_providerFunction · 0.90
validate_urlFunction · 0.90
is_top_tier_modelFunction · 0.90
handle_errorFunction · 0.90

Tested by

no test coverage detected