repo_analyzer module

class repo_analyzer.RepoAnalyzer(github_token=None)[מקור]

Bases: object

מנתח ריפוזיטורי GitHub ומציע שיפורים

פרמטרים:

github_token (str | None)

MAX_FILE_SIZE = 102400
MAX_FILES = 50
LARGE_FILE_LINES = 500
LONG_FUNCTION_LINES = 50
CODE_EXTENSIONS = {'.c', '.cpp', '.cs', '.go', '.java', '.js', '.jsx', '.kt', '.m', '.php', '.py', '.r', '.rb', '.rs', '.scala', '.swift', '.ts', '.tsx'}
CONFIG_FILES = {'Cargo.toml', 'Gemfile', 'Package.swift', 'Pipfile', 'build.gradle', 'composer.json', 'go.mod', 'package.json', 'pom.xml', 'pyproject.toml', 'requirements.txt'}
IMPORTANT_FILES = {'.dockerignore', '.github/workflows', '.gitignore', '.gitlab-ci.yml', 'Dockerfile', 'LICENSE', 'LICENSE.md', 'LICENSE.txt', 'README', 'README.md', 'README.rst', 'README.txt', 'azure-pipelines.yml', 'docker-compose.yaml', 'docker-compose.yml'}
__init__(github_token=None)[מקור]

אתחול המנתח

פרמטרים:

github_token (str | None)

parse_github_url(url)[מקור]

מחלץ owner ו-repo מ-URL של GitHub

Return type:

tuple[str, str]

פרמטרים:

url (str)

async fetch_and_analyze_repo(repo_url)[מקור]

שולף ומנתח ריפוזיטורי מ-GitHub

Return type:

Dict[str, Any]

פרמטרים:

repo_url (str)

generate_improvement_suggestions(analysis_data)[מקור]

מייצר הצעות לשיפור על בסיס הניתוח

Return type:

List[Dict[str, Any]]

פרמטרים:

analysis_data (Dict[str, Any])