# Fauto - 下一代低代码 + AI 协作平台

> **Status**: 初始化建设中 (Inception Phase)  
> **Core Philosophy**: Source-Code Level, Non-Intrusive, Hot-Swappable, AI-Collaborative.

## 📖 项目简介

Fauto 是一个旨在打破传统低代码平台“黑盒”限制的创新型开发平台。我们不生成私有的 JSON 定义，也不依赖复杂的运行时解释器。**Fauto 直接生产高质量、可维护的源码**。

通过结合 **Vue3 源码级可视化拖拽**、**Java 增量式代码生成** 以及 **AI 智能终端**，Fauto 允许开发者、业务人员和 AI 助手在同一个代码库上无缝协作。

## 🏗️ 总体架构与设计思路

### 1. 核心理念：源码即真理 (Source is Truth)
*   **传统低代码**：Model JSON -> Runtime Engine (黑盒)。
*   **Fauto**：Visual Editor -> AST Modification -> **Source Code** -> Standard Compiler -> Application。
*   平台生成的代码与人类手写的代码完全一致，可以被 Git 管理，可以被 IDE 编辑，可以脱离平台运行。

### 2. 三大引擎

#### A. 前端可视化引擎 (fauto-design)
*   **技术**: Vue3 AST, Node.js.
*   **功能**: 直接解析 `.vue` 文件，将其转化为可视化编辑器中的组件树。用户的拖拽操作实时转换为对 `.vue` 源码的修改（Template, Script, Style）。

#### B. 后端动态生成引擎 (java-g)
*   **技术**: JavaParser, MyBatis Dynamic SQL.
*   **功能**:
    *   **智能依赖**: 自动分析对象关系，生成能够处理复杂嵌套查询的 MyBatis XML。
    *   **增量更新**: 使用 JavaParser 分析现有 Java 类，只在特定位置插入新字段或方法，严格保护用户手动编写的业务逻辑。

#### C. 热重载运行时 (Hot Swap Runtime)
*   **技术**: DCEVM, HotswapAgent.
*   **功能**: 无论是前端页面的修改，还是后端 Entity/Service 的变更，都能在毫秒级内热更新，提供类似脚本语言的开发体验。

### 3. AI 协作层
*   集成 Web Terminal 与 AI CLI (Trae/Qoder)。
*   允许用户通过自然语言指令，指挥 AI 直接修改项目文件，与可视化操作形成互补。

---

## 📅 实施计划 (Implementation Plan)

### Phase 1: 地基搭建 (Foundation)
- [ ] **项目结构重构**: 建立平台与用户工作区 (`workspace`) 分离的目录结构。
- [ ] **项目管理器**: 实现基于 Web 的项目创建、导入、与文件系统浏览。
- [ ] **进程守护**: 实现对子项目 JVM 进程和 Vite 进程的启动、停止与日志监控。

### Phase 2: 后端生成引擎 (Backend Engine)
- [ ] **移植 java-g**: 将 `MyBatisGeneratorUtils` 核心逻辑集成到平台。
- [ ] **引入 JavaParser**: 实现对 Controller/Service 的增量修改能力。
- [ ] **对象建模器**: 开发用于定义数据模型的前端界面。

### Phase 3: 前端可视化集成 (Frontend Integration)
- [ ] **集成 fauto-design**: 将设计器前端合并入平台。
- [ ] **启动伴生服务**: 运行 `vue-ast-server` 处理前端源码修改请求。
- [ ] **全链路打通**: 模型定义 -> 代码生成 -> 页面设计 -> 实时预览。

### Phase 4: AI 终端与优化 (AI & Polish)
- [ ] **Web Terminal**: 集成 xterm.js + pty4j。
- [ ] **AI 环境预设**: 预装 Trae CLI，配置 AI 协作上下文。
- [ ] **体验优化**: 统一 UI 风格，完善错误处理。

---

## 📂 目录结构

```text
D:\workspace\Fauto\
├── fauto-platform/      # 平台源码 (RuoYi-Vue3 改造)
├── fauto-design/        # (参考) 前端设计器 Demo
├── java-g/              # (参考) 后端生成引擎 Demo
├── workspace/           # 用户创建的项目存放地
└── AI_CONTEXT.md        # AI 协作上下文指南
```

## 🚀 快速开始 (Coming Soon)

目前项目处于架构搭建阶段。
1. 查看 `AI_CONTEXT.md` 了解详细技术背景。
2. 关注 `fauto-platform` 目录下的开发进展。
