Skip to content

Latest commit

 

History

History
303 lines (217 loc) · 5.84 KB

File metadata and controls

303 lines (217 loc) · 5.84 KB

DevFlow

🚀 AI 驱动的开发工作流自动化工具

DevFlow 是一个使用 Rust 构建的现代 CLI 工具,它利用 AI 来简化您的开发工作流程。它帮助您快速搭建项目、生成代码,并设置遵循最佳实践的开发环境。

特性

  • 🤖 AI 驱动的项目生成:使用 OpenAI、Claude 或本地 Ollama 模型生成智能的项目配置
  • 📦 智能模板:内置流行技术栈的模板(React、Vue、Python、Rust 等)
  • 🐳 环境设置:自动配置 Docker、Dev Container 和 CI/CD
  • ⚙️ 开发工作流:Git hooks、代码质量工具和测试框架设置
  • 🔧 代码生成:使用 AI 辅助生成组件、API、模型等
  • 🌐 多语言支持:支持 JavaScript/TypeScript、Python、Rust、Go 等

安装

从源码安装

git clone https://github.com/ychenfen/devflow.git
cd devflow
cargo install --path .

使用 Cargo 安装

cargo install devflow

快速开始

1. 初始化新项目

devflow init my-awesome-project

这将启动一个交互式向导,帮助您:

  • 选择技术栈
  • 选择功能(Docker、CI/CD、测试等)
  • 配置团队规模和需求
  • 使用 AI 生成项目结构

2. 生成代码组件

# 生成 React 组件
devflow generate component UserProfile

# 生成 API 端点
devflow generate api users

# 生成数据库模型
devflow generate model User

3. 设置开发环境

# 生成 Docker 配置
devflow env docker

# 设置 Dev Container
devflow env devcontainer

# 检查环境健康状况
devflow env check

4. 配置开发工作流

# 设置 Git hooks、CI/CD 和代码质量工具
devflow setup

配置

DevFlow 可以通过项目根目录或家目录中的 devflow.toml 文件进行配置:

[ai]
provider = "openai"  # 或 "claude", "ollama"
model = "gpt-4"
api_key_env = "OPENAI_API_KEY"

[templates]
custom_path = "./templates"
auto_update = true

环境变量

  • OPENAI_API_KEY:您的 OpenAI API 密钥
  • ANTHROPIC_API_KEY:您的 Anthropic Claude API 密钥
  • DEVFLOW_AI_PROVIDER:AI 提供商(openai、claude、ollama)
  • DEVFLOW_AI_MODEL:要使用的 AI 模型

命令

项目管理

  • devflow init [名称] - 初始化新项目
  • devflow generate <类型> <名称> - 生成代码组件
  • devflow template <操作> - 管理项目模板

环境和设置

  • devflow env <操作> - 环境配置
  • devflow setup - 开发工作流设置

模板管理

# 列出可用模板
devflow template list

# 创建自定义模板
devflow template create my-template

# 从仓库安装模板
devflow template install https://github.com/user/template

# 删除模板
devflow template remove template-name

支持的技术栈

前端

  • React + TypeScript + Vite
  • Vue.js + TypeScript
  • Angular + TypeScript
  • Svelte + TypeScript
  • Next.js
  • Nuxt.js

后端

  • Node.js + Express/Fastify
  • Python + FastAPI/Django
  • Rust + Actix-web/Axum
  • Go + Gin/Echo
  • Java + Spring Boot

数据库

  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • SQLite

DevOps

  • Docker 和 Docker Compose
  • Dev Containers
  • GitHub Actions
  • GitLab CI
  • Kubernetes(即将推出)

AI 提供商

OpenAI

export OPENAI_API_KEY="your-api-key"
devflow init --ai-provider openai

Anthropic Claude

export ANTHROPIC_API_KEY="your-api-key"
devflow init --ai-provider claude

本地 Ollama

# 本地启动 Ollama 服务器
ollama serve
ollama pull llama2

# 与 DevFlow 一起使用
devflow init --ai-provider ollama --ai-model llama2

使用示例

创建全栈应用

# 使用 React + Node.js + PostgreSQL 初始化
devflow init my-fullstack-app

# 按照交互式提示操作:
# - 选择 "React + Node.js + PostgreSQL"
# - 选择功能:Docker、CI/CD、测试
# - 设置团队规模:小团队(2-5 人)

cd my-fullstack-app

# 生成后端 API
devflow generate api users
devflow generate model User

# 生成前端组件
devflow generate component UserList
devflow generate component UserForm

# 设置开发环境
devflow env docker
devflow setup

自定义模板使用

# 从现有项目创建模板
devflow template create --from-current my-company-template

# 为新项目使用模板
devflow init new-project --template my-company-template

开发

前置要求

  • Rust 1.70+
  • OpenAI API 密钥(可选)
  • Docker(用于容器化功能)

从源码构建

git clone https://github.com/ychenfen/devflow.git
cd devflow
cargo build --release

运行测试

cargo test

使用本地 AI 进行开发

为了在开发时避免 API 成本,使用 Ollama:

# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 启动 Ollama 并拉取模型
ollama serve
ollama pull llama2

# 设置环境变量
export DEVFLOW_AI_PROVIDER=ollama
export DEVFLOW_AI_MODEL=llama2

贡献

我们欢迎贡献!请查看 CONTRIBUTING.md 了解指南。

贡献领域

  • 🎨 新项目模板
  • 🔧 额外的代码生成器
  • 🌐 新的语言/框架支持
  • 📚 文档改进
  • 🐛 错误修复和改进

路线图

  • 项目管理的 Web UI
  • 可扩展性的插件系统
  • 云部署集成
  • 团队协作功能
  • 高级 AI 代码审查
  • 性能监控集成

许可证

该项目在 MIT 许可证下授权 - 查看 LICENSE 文件了解详情。

致谢

  • 使用 ❤️ 和 Rust 构建
  • 由 OpenAI、Anthropic Claude 和 Ollama 提供支持
  • 受现代开发工作流启发
  • 感谢所有贡献者和开源社区

支持


使用 DevFlow 愉快编码! 🚀