@syzlm/fe-ai
@syzlm/fe-ai
基于 Node.js + TypeScript 的 AI 编码规范初始化工具。执行 init 后,
会自动识别当前项目架构并生成 AGENTS、Claude、Cursor rules、Agent skills
以及隔离高噪声工作的 Subagent。
生成内容
目标项目/
├── .agents/
│ ├── rules/
│ │ └── 架构规则.md
│ ├── subagents/
│ │ ├── repo-explorer.md
│ │ ├── reviewer.md
│ │ └── verifier.md
│ └── skills/
│ └── develop-*/
│ ├── SKILL.md
│ └── agents/
│ └── openai.yaml
├── .claude/
│ ├── agents/
│ │ ├── repo-explorer.md
│ │ ├── reviewer.md
│ │ └── verifier.md
│ └── skills
├── .codex/
│ ├── agents/
│ │ ├── repo-explorer.toml
│ │ ├── reviewer.toml
│ │ └── verifier.toml
│ └── config.toml
├── .cursor/
│ ├── agents/
│ │ ├── repo-explorer.md
│ │ ├── reviewer.md
│ │ └── verifier.md
│ └── rules/
│ ├── git.mdc
│ ├── index.mdc
│ ├── project.mdc
│ ├── ts.mdc
│ └── 架构专属规则.mdc
├── CLAUDE.md
├── AI说明.md
├── skills-lock.json(仅 Vue3 架构)
└── AGENTS.md
AGENTS.md使用对应架构模板生成。AI说明.md用大白话说明三端 Rule、Skill、Hook、Subagent 的用途、调用方式和业务扩展方法。CLAUDE.md使用@AGENTS.md和@.agents/rules/*.md引用公共规则。- Vue3 架构额外生成
skills-lock.json,锁定 Pinia、pnpm、UnoCSS、 Vite、Vue、VueUse 及 Vue 最佳实践 skills。 - “命令”区块读取目标项目
package.json的全部scripts。 AGENTS.md不扫描或注入项目目录树,减少上下文行数;Agent 按任务需要查找文件。.agents/rules是规则正文的唯一维护位置。.cursor/rules只保留 Cursor frontmatter,并通过@引用.agents/rules。AGENTS.md只保存规则路径和适用范围,供 ChatGPT/Codex 精确按需读取。- Claude Code、ChatGPT/Codex 和 Cursor 分别生成原生 Subagent 配置。
.agents/subagents是 Subagent 角色指令的唯一维护位置,三端配置只引用它。repo-explorer外包大范围检索,verifier压缩类型检查、测试和构建日志,reviewer在实现完成后独立检查回归风险。- Subagent 只返回证据摘要且不修改业务源码,避免主会话被检索结果和原始日志占满。
.agents/skills写入架构对应的标准 skill 目录。.claude/skills的 UTF-8 文本内容为../.agents/skills。AGENTS.md已存在时必须确认覆盖,选择否不产生任何修改。CLAUDE.md每次初始化都会覆盖,确保内容固定。- 其他已有规则和 skill 文件默认跳过,使用
--force才会全部覆盖。
当前支持架构
yudao-admin:芋道管理后台,Vue 3 + Element Plusvue3-element-plus-vite:Vue 3 + Element Plus + Vite + Piniauni-app-uni-ui:uni-app + uni-ui 跨端项目react-antd-redux:React + Ant Design + Redux Toolkit + Lessnode-ts-tool:Node.js + TypeScript 工具或 CLI
扩展项目架构
架构由 AGENTS 模板、依赖识别条件、rules 清单和 skills 清单组成。
内置架构统一注册在 src/constants.ts。公共规则位于
templates/common/rules,架构模板位于 templates/<architecture-id>。
作为库使用时,也可以通过导出的 registerArchitecture 注册架构。外部模板路径
需要使用绝对路径:
import { registerArchitecture } from "@syzlm/fe-ai/fe-ai-coding-rules";
registerArchitecture({
id: "react-admin",
label: "React 管理后台",
agentsTemplate: "/absolute/templates/react-admin/AGENTS.md",
dependencyGroups: [["react"], ["typescript"]],
rules: [
{
source: "/absolute/templates/react-admin/rules/react.mdc",
target: "react.mdc",
},
],
skills: [
{
sourceDirectory: "/absolute/templates/react-admin/skills/develop-react",
targetDirectory: "develop-react",
},
],
});
新增 skill 必须包含 SKILL.md,其 YAML frontmatter 只包含 name 和
description。生成器会递归复制 skill 内的 agents、references、scripts
或 assets。
前后端同目录项目
交互执行 fe-ai init 时会询问前后端源码是否位于当前总目录,默认否。选择是后,依次选择后端技术栈、后端文件夹、前端技术栈和前端文件夹。文件夹从当前目录的现有直接子目录中选择,前后端不能选择同一目录。生成的 AGENTS.md 使用所选目录与技术栈,命令读取前端子项目的 scripts 和锁文件。
后端支持芋道、Spring Boot、NestJS、Express、Django、FastAPI、Go 和 ASP.NET Core;前端复用已有架构列表。只有选择芋道后端和芋道前端时,才使用财税平台专属全栈规范,其他组合沿用所选前端模板与通用后端约定。
fe-ai init --fullstack
fe-ai init --fullstack --backend-stack nestjs --backend-dir server --architecture react-antd-redux --frontend-dir web
fe-ai init --no-fullstack --architecture vue3-element-plus-vite
非交互环境省略 --fullstack 时保留原单项目行为;启用全栈模式时需提供上述四项选择参数。生成后请核对技术栈版本和业务文档;工具不会创建业务项目或安装后端依赖。
Related Packages
AI Skill 模板包 v2.33.1 — 14 条编码规范 + 13 个 AI Skill + 34 个 MCP Tool,独立...
Version History
| Version | Released | License |
|---|---|---|
| 0.1.12 | MIT | |
| 0.1.11 | MIT | |
| 0.1.10 | MIT | |
| 0.1.9 | MIT | |
| 0.1.8 | MIT | |
| 0.1.7 | MIT | |
| 0.1.6 | MIT | |
| 0.1.5 | MIT | |
| 0.1.4 | MIT | |
| 0.1.3 | MIT | |
| 0.1.2 | MIT | |
| 0.1.1 | MIT | |
| 0.1.0 | MIT | |
| 0.0.10 | MIT | |
| 0.0.9 | MIT | |
| 0.0.6 | MIT | |
| 0.0.3 | MIT | |
| 0.0.2 | MIT |