Files
claude-code-skills-reference/transcript-fixer/scripts/cli/argument_parser.py
daymade 9b724f33e3 Release v1.9.0: Add video-comparer skill and enhance transcript-fixer
## New Skill: video-comparer v1.0.0
- Compare original and compressed videos with interactive HTML reports
- Calculate quality metrics (PSNR, SSIM) for compression analysis
- Generate frame-by-frame visual comparisons (slider, side-by-side, grid)
- Extract video metadata (codec, resolution, bitrate, duration)
- Multi-platform FFmpeg support with security features

## transcript-fixer Enhancements
- Add async AI processor for parallel processing
- Add connection pool management for database operations
- Add concurrency manager and rate limiter
- Add audit log retention and database migrations
- Add health check and metrics monitoring
- Add comprehensive test suite (8 new test files)
- Enhance security with domain and path validators

## Marketplace Updates
- Update marketplace version from 1.8.0 to 1.9.0
- Update skills count from 15 to 16
- Update documentation (README.md, CLAUDE.md, CHANGELOG.md)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 00:23:12 +08:00

223 lines
5.9 KiB
Python

#!/usr/bin/env python3
"""
Argument Parser - CLI Argument Configuration
SINGLE RESPONSIBILITY: Configure command-line argument parsing
"""
from __future__ import annotations
import argparse
def create_argument_parser() -> argparse.ArgumentParser:
"""
Create and configure the argument parser for transcript-fixer CLI.
Returns:
Configured ArgumentParser instance
"""
parser = argparse.ArgumentParser(
description="Transcript Fixer - Iterative correction tool",
formatter_class=argparse.RawDescriptionHelpFormatter
)
# Setup commands
parser.add_argument(
"--init",
action="store_true",
help="Initialize ~/.transcript-fixer/"
)
# Correction management
parser.add_argument(
"--add",
nargs=2,
metavar=("FROM", "TO"),
dest="add_correction",
help="Add correction"
)
parser.add_argument(
"--list",
action="store_true",
dest="list_corrections",
help="List all corrections"
)
# Correction workflow
parser.add_argument(
"--input", "-i",
help="Input file"
)
parser.add_argument(
"--output", "-o",
help="Output directory"
)
parser.add_argument(
"--stage", "-s",
type=int,
choices=[1, 2, 3],
default=3,
help="Run stage (1=dict, 2=AI, 3=full)"
)
parser.add_argument(
"--domain", "-d",
default="general",
help="Correction domain"
)
# Learning commands
parser.add_argument(
"--review-learned",
action="store_true",
help="Review learned suggestions"
)
parser.add_argument(
"--approve",
nargs=2,
metavar=("FROM", "TO"),
help="Approve suggestion"
)
# Utility commands
parser.add_argument(
"--validate",
action="store_true",
help="Validate configuration and JSON files"
)
parser.add_argument(
"--health",
action="store_true",
help="Perform system health check (P1-4 fix)"
)
parser.add_argument(
"--health-level",
dest="health_level",
choices=["basic", "standard", "deep"],
default="standard",
help="Health check thoroughness (default: standard)"
)
parser.add_argument(
"--health-format",
dest="health_format",
choices=["text", "json"],
default="text",
help="Health check output format (default: text)"
)
parser.add_argument(
"--verbose", "-v",
action="store_true",
help="Show verbose output (for health check)"
)
parser.add_argument(
"--metrics",
action="store_true",
help="Display collected metrics (P1-7 fix)"
)
parser.add_argument(
"--metrics-format",
dest="metrics_format",
choices=["text", "json", "prometheus"],
default="text",
help="Metrics output format (default: text)"
)
# Configuration management (P1-5 fix)
parser.add_argument(
"--config",
dest="config_action",
choices=["show", "create-example", "validate", "set-env"],
help="Configuration management (P1-5 fix)"
)
parser.add_argument(
"--config-path",
dest="config_path",
help="Path for config file operations"
)
parser.add_argument(
"--env",
dest="config_env",
choices=["development", "staging", "production", "test"],
help="Set environment (with --config set-env)"
)
# Database migration commands (P1-6 fix)
parser.add_argument(
"--migration",
dest="migration_action",
choices=["status", "history", "migrate", "rollback", "plan", "validate", "create"],
help="Database migration commands (P1-6 fix)"
)
parser.add_argument(
"--migration-version",
dest="migration_version",
help="Target migration version (for migrate/rollback commands)"
)
parser.add_argument(
"--migration-dry-run",
dest="migration_dry_run",
action="store_true",
help="Dry run mode for migrations (no changes applied)"
)
parser.add_argument(
"--migration-force",
dest="migration_force",
action="store_true",
help="Force migration (bypass safety checks)"
)
parser.add_argument(
"--migration-yes",
dest="migration_yes",
action="store_true",
help="Skip confirmation prompts"
)
parser.add_argument(
"--migration-history-format",
dest="migration_history_format",
choices=["text", "json"],
default="text",
help="Migration history output format (default: text)"
)
parser.add_argument(
"--migration-name",
dest="migration_name",
help="Migration name (for create command)"
)
parser.add_argument(
"--migration-description",
dest="migration_description",
help="Migration description (for create command)"
)
# Audit log retention commands (P1-11 fix)
parser.add_argument(
"--audit-retention",
dest="audit_retention_action",
choices=["cleanup", "report", "policies", "restore"],
help="Audit log retention commands (P1-11 fix)"
)
parser.add_argument(
"--entity-type",
dest="entity_type",
help="Entity type to operate on (for cleanup command)"
)
parser.add_argument(
"--dry-run",
dest="dry_run",
action="store_true",
help="Dry run mode (no actual changes)"
)
parser.add_argument(
"--archive-file",
dest="archive_file",
help="Archive file path (for restore command)"
)
parser.add_argument(
"--verify-only",
dest="verify_only",
action="store_true",
help="Verify archive integrity without restoring (for restore command)"
)
return parser