🤖 代码自动生成模块

基于 OpenClaw + Claude Code 的端到端研发自动化系统

Version 1.0.0 Python 3.12 FastAPI + React MIT License

项目概述

代码自动生成模块是一个智能代码生成引擎,能够根据 YAML/JSON 配置文件自动生成完整的全栈应用程序代码。 它集成了数据模型、API 路由、业务逻辑、数据库操作等多个生成器,提供统一的代码生成接口, 大幅提升开发效率,减少重复性工作。

17 源代码文件
3500+ 代码行数
93 测试生成文件
<1s 平均生成时间

核心特性

🏗️ 多框架支持

  • FastAPI / Flask / Django
  • React / Vue / Angular
  • SQLAlchemy / Prisma / TypeORM
  • RESTful / GraphQL / gRPC

📦 完整代码层次

  • Models (ORM 模型)
  • Schemas (数据验证)
  • Routes (API 路由)
  • Controllers (控制器)
  • Services (业务逻辑)
  • Repositories (数据访问)

🔧 自动化工具

  • 数据库迁移脚本
  • pytest 测试用例
  • OpenAPI 文档
  • Docker 配置
  • TypeScript 类型

✨ 智能生成

  • 业务规则验证
  • 字段类型映射
  • 命名规范转换
  • 依赖关系处理
  • 错误异常处理

系统架构

📋 Configuration Layer (配置层)

模块: config/settings.py

职责: 定义项目配置、实体配置、字段配置、API 配置等数据结构,支持 YAML/JSON 加载

ProjectConfig EntityConfig ModelField APIEndpoint
⚙️ Generator Layer (生成器层)
Model Generator
SQLAlchemy ORM + Pydantic Schemas
Route Generator
FastAPI Routes + Controllers
Business Logic Generator
Service Layer + Validators
Database Generator
Repository Pattern + Migrations
🚀 Engine Layer (引擎层)

模块: core/engine.py

职责: 集成所有生成器,协调代码生成流程,提供统一 API 接口

CodeGenerationEngine generate_code_from_config generate_code_from_dict
🛠️ Utility Layer (工具层)

模块: utils/helpers.py, utils/validators.py

职责: 提供命名转换、类型映射、配置验证等通用工具函数

生成的文件结构

project_name/
├── backend/
│ ├── app/
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ └── {entity}.py (SQLAlchemy ORM)
│ │ ├── schemas/
│ │ │ └── {entity}.py (Pydantic)
│ │ ├── routes/
│ │ │ └── {entity}.py (API Routes)
│ │ ├── controllers/
│ │ │ └── {entity}_controller.py
│ │ ├── services/
│ │ │ └── {entity}_service.py
│ │ ├── db/
│ │ │ ├── database.py
│ │ │ └── {entity}_repository.py
│ │ └── main.py
│ ├── tests/
│ │ ├── conftest.py
│ │ └── test_{entity}.py
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/src/
│ ├── types/{entity}.ts
│ └── services/{entity}Api.ts
├── docs/
│ ├── API.md
│ └── openapi.json
├── docker-compose.yml
└── README.md

测试结果

✅ 所有测试通过
测试项 状态 生成实体数 生成文件数 耗时
简单配置测试 (Simple Generation) PASS 1 27 <0.01s
YAML 配置测试 (User Management) PASS 4 66 <0.01s
文件结构验证 PASS - 全部存在 <0.01s

使用示例

方式 1: 命令行

# 使用 YAML 配置文件生成代码 python core/engine.py --config examples/user_management_config.yaml # 输出: ✅ Code generation completed successfully! 📁 Output directory: ./generated_output 📄 Files generated: 66 ⏱️ Duration: 0.00s

方式 2: Python API

from core.engine import generate_code_from_config # 从配置文件生成 result = generate_code_from_config('config.yaml') if result['success']: print(f"✅ Generated {result['files_generated']} files") print(f"📁 Output: {result['output_directory']}")

配置文件示例

# config.yaml project_name: "my_app" version: "1.0.0" database: db_type: "postgresql" host: "localhost" database: "my_app_db" framework: backend_framework: "fastapi" frontend_framework: "react" entities: - name: "User" fields: - name: "id" field_type: "int" required: true - name: "username" field_type: "str" required: true apis: - path: "/users" method: "POST" operation: "create"

技术栈

🐍 Python 生态

Python 3.12 FastAPI 0.109+ SQLAlchemy 2.0+ Pydantic 2.0+ PyYAML 6.0+ Jinja2 3.1+

⚛️ 前端技术

React 18+ TypeScript 5+ Node.js 18+

🗄️ 数据库

PostgreSQL 15 Alembic 1.13+ psycopg2-binary

🐳 DevOps

Docker Docker Compose pytest 7.4+

交付文件清单

类别 文件 说明
核心模块 core/engine.py 代码生成引擎主入口
config/settings.py 配置管理模块
generators/model_generator.py 数据模型生成器
generators/route_generator.py API 路由生成器
generators/business_logic_generator.py 业务逻辑生成器
工具模块 utils/helpers.py 工具函数(命名转换、类型映射)
examples/test_generator.py 测试脚本
配置文件 examples/user_management_config.yaml 示例配置文件
文档 README.md 详细使用文档
包初始化 __init__.py (x6) Python 包初始化文件