femaker

Crates.iofemaker
lib.rsfemaker
version0.1.3
created_at2023-09-22 16:58:11.033712+00
updated_at2025-08-25 14:55:01.014811+00
description简单优雅的前端脚手架
homepage
repository
max_upload_size
id980710
size75,224
Leslie (luozyiii)

documentation

README

FeMaker - 前端脚手架工具

Crates.io License: MIT

FeMaker 是一个使用 Rust 开发的现代化前端脚手架工具,专为提升前端开发效率而设计。它提供了项目模板管理、快速项目初始化和自动化部署等功能。

✨ 特性

  • 🚀 高性能: 基于 Rust 开发,启动速度快,运行效率高
  • 🎯 简单易用: 交互式命令行界面,操作直观便捷
  • 📦 模板管理: 支持项目、组件、工具库等多种类型模板
  • 🔄 动态模板: 从远程服务器获取最新模板列表
  • 🚀 一键部署: 支持多环境配置的自动化部署
  • 🛠️ 可扩展: 支持自定义模板添加

📦 安装

通过 Cargo 安装(推荐)

cargo install femaker

环境配置

安装完成后,确保 Rust 的二进制目录在你的 PATH 中:

# Bash 用户
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Zsh 用户
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# 验证安装
femaker --version

🚀 快速开始

创建新项目

使用 femaker new 命令快速创建新项目:

femaker new my-project

执行后会出现交互式选择界面:

femaker v0.1.2
✔ 请选择模版类型 · 项目
✔ 请选择模板 · vite-antd-pc 管理后台
正在下载模版...
项目初始化完成!

项目初始化完整流程

# 1. 创建项目
femaker new my-project

# 2. 进入项目目录
cd my-project

# 3. 初始化 Git 仓库(可选)
git init
git add .
git commit -m "feat: initial commit"

# 4. 关联远程仓库(可选)
git branch -M main
git remote add origin https://github.com/username/my-project.git
git push -u origin main

📋 命令详解

femaker new <project-name>

创建新项目,支持多种模板类型:

  • 项目模板: 完整的前端项目脚手架
  • 组件模板: 可复用的组件库模板
  • 工具模板: 工具函数库等其他类型模板

femaker list

查看所有可用的模板列表:

femaker list

# 输出示例:
【项目】vite-antd-pc 管理后台
【项目】next-antd-pc 管理后台
【项目】vite h5 基建项目模板
【组件】react 组件库
【其他】css 库
【其他】基于rollup + typescript 封装常用的工具函数

femaker add

添加自定义模板到脚手架(仅支持 Git 仓库):

femaker add

# 交互式添加流程:
✔ 请选择模版类型 · 项目
请填写模版名称: 我的自定义模板
请填写模版git地址: https://github.com/username/my-template.git
模板添加成功!

femaker deploy

自动化部署功能,支持多环境配置(建议仅用于开发/测试环境)。

配置部署环境

在项目根目录创建 deploy.config.json 文件:

[
  {
    "name": "开发环境",
    "server_address": "your-server:22",
    "username": "your-username",
    "password": "your-password",
    "local_dir": "./dist",
    "remote_dir": "/var/www/html"
  },
  {
    "name": "测试环境",
    "server_address": "test-server:22",
    "username": "your-username",
    "password": "your-password",
    "local_dir": "./dist",
    "remote_dir": "/var/www/test"
  }
]

执行部署

femaker deploy

# 交互式选择部署环境:
✔ 请选择部署环境 · 测试环境
开始部署...
创建远程目录: "/var/www/test"
上传文件: "/var/www/test/index.html"
上传文件: "/var/www/test/assets/main.js"
部署成功!

⚠️ 安全提示: 部署功能建议仅在开发和测试环境使用,生产环境建议使用更安全的 CI/CD 流程。

🛠️ 技术栈

FeMaker 基于以下技术构建:

  • Rust - 系统编程语言,保证高性能和内存安全
  • Clap - 命令行参数解析
  • Dialoguer - 交互式命令行界面
  • Git2 - Git 操作支持
  • Reqwest - HTTP 客户端
  • SSH2 - SSH 连接和文件传输

🔧 开发指南

本地开发

# 克隆项目
git clone https://github.com/luozyiii/femaker-cli.git
cd femaker-cli

# 构建项目
cargo build

# 运行测试
cargo test

# 本地安装
cargo install --path .

代码规范

项目使用 rustfmt 进行代码格式化,建议配置 VS Code:

// .vscode/settings.json
{
  "[rust]": {
    "editor.defaultFormatter": "statiolake.vscode-rustfmt",
    "editor.formatOnSave": true,
    "editor.tabSize": 4
  }
}

发布流程

# 1. 登录 crates.io (需要先在 https://crates.io/settings/tokens 获取 token)
cargo login <your-token>

# 2. 构建项目
cargo build --release

# 3. 生成文档
cargo doc --no-deps

# 4. 发布到 crates.io
cargo publish

📚 相关资源

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

本项目基于 MIT 许可证 开源。

🔗 链接


如果 FeMaker 对你有帮助,请给个 ⭐️ 支持一下!

Commit count: 0

cargo fmt