llmcodegen/design.json

161 lines
4.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"project_name": "llm-codegen",
"version": "1.0.0",
"description": "一个基于大语言模型的智能代码生成与维护工具支持自动生成、增量添加功能和自动修复Bug。",
"files": [
{
"path": "pyproject.toml",
"summary": "项目元数据、依赖配置和脚本入口",
"dependencies": [],
"functions": [],
"classes": []
},
{
"path": "src/llm_codegen/__init__.py",
"summary": "包初始化文件",
"dependencies": [],
"functions": [],
"classes": []
},
{
"path": "src/llm_codegen/cli.py",
"summary": "命令行接口使用typer定义命令",
"dependencies": ["src/llm_codegen/core.py", "src/llm_codegen/models.py"],
"functions": [
{
"name": "main",
"summary": "主CLI入口处理命令行参数并启动生成器",
"inputs": ["readme", "output_dir", "api_key", "base_url", "model", "log_file"],
"outputs": []
}
],
"classes": []
},
{
"path": "src/llm_codegen/core.py",
"summary": "核心生成逻辑包含CodeGenerator类",
"dependencies": ["src/llm_codegen/utils.py", "src/llm_codegen/diff_applier.py", "src/llm_codegen/models.py"],
"functions": [
{
"name": "_call_llm",
"summary": "调用LLM并返回解析后的JSON",
"inputs": ["system_prompt", "user_prompt", "temperature", "expect_json"],
"outputs": ["result"]
},
{
"name": "parse_readme",
"summary": "读取README文件内容",
"inputs": ["readme_path"],
"outputs": ["content"]
},
{
"name": "get_project_structure",
"summary": "根据README内容生成文件列表和依赖关系",
"inputs": [],
"outputs": ["files", "dependencies"]
},
{
"name": "generate_file",
"summary": "生成单个文件,返回代码、描述和命令列表",
"inputs": ["file_path", "prompt_instruction", "dependency_files"],
"outputs": ["code", "description", "commands"]
},
{
"name": "execute_command",
"summary": "执行单个命令,检查风险",
"inputs": ["cmd", "cwd"],
"outputs": []
},
{
"name": "run",
"summary": "主执行流程,控制整个生成过程",
"inputs": ["readme_path"],
"outputs": []
}
],
"classes": [
{
"name": "CodeGenerator",
"summary": "代码生成器,封装所有逻辑",
"methods": ["__init__", "_call_llm", "parse_readme", "get_project_structure", "generate_file", "execute_command", "run"]
}
]
},
{
"path": "src/llm_codegen/checker.py",
"summary": "并行检查与修复模块,运行检查工具并收集错误",
"dependencies": ["src/llm_codegen/core.py", "src/llm_codegen/models.py"],
"functions": [],
"classes": []
},
{
"path": "src/llm_codegen/utils.py",
"summary": "工具函数,如危险命令判断和文件操作",
"dependencies": ["src/llm_codegen/models.py"],
"functions": [
{
"name": "is_dangerous_command",
"summary": "判断命令是否危险",
"inputs": ["cmd"],
"outputs": ["is_dangerous", "reason"]
}
],
"classes": []
},
{
"path": "src/llm_codegen/diff_applier.py",
"summary": "",
"dependencies": ["src/llm_codegen/models.py"],
"functions": [
{
"name": "",
"summary": "",
"inputs": [],
"outputs": []
}
],
"classes": []
},
{
"path": "src/llm_codegen/models.py",
"summary": "数据模型使用Pydantic定义数据结构",
"dependencies": [],
"functions": [],
"classes": []
},
{
"path": "tests/__init__.py",
"summary": "测试包初始化",
"dependencies": [],
"functions": [],
"classes": []
},
{
"path": "tests/test_cli.py",
"summary": "测试命令行接口",
"dependencies": ["src/llm_codegen/cli.py"],
"functions": [],
"classes": []
},
{
"path": "tests/test_core.py",
"summary": "测试核心生成逻辑",
"dependencies": ["src/llm_codegen/core.py"],
"functions": [],
"classes": []
},
{
"path": "tests/test_checker.py",
"summary": "测试检查模块",
"dependencies": ["src/llm_codegen/checker.py"],
"functions": [],
"classes": []
}
],
"commands": [
"pip install -e .",
"pytest tests/"
],
"check_tools": ["pytest", "pylint", "mypy", "black"]
}