@farris/igix-dev
v0.1.0
Published
iGIX 研发扩展:Farris 前端工程创建(@farris/cli)与 AI Coding 能力(Skills/Rules/MCP)一体化交付
Maintainers
Keywords
Readme
iGIX 研发扩展(@farris/igix-dev / @farris/igix-dev-addon)
将 Farris CAF/BEF AI Coding 能力包升级为 aicoding 扩展:一个仓库同时提供
工程创建(Template)与 工程增强 / Addon(Addon)两个扩展包。
包结构
| 目录 | 包 ID | kind | 用途 |
| --- | --- | --- | --- |
| 根目录 | @farris/igix-dev | Template | 创建新工程:委托 @farris/cli 创建 Farris Vue pnpm workspace + 交付 AI Coding 能力 |
| addon/ | @farris/igix-dev-addon | Addon | 向既有 Farris Vue 工程交付 AI Coding 能力 |
两个包共享同一套能力内容(Skills / Rules / MCP),分别用于 aicoding create 与
aicoding apply 两条链路。
能力组成
| 能力 | 类型 | 说明 |
| --- | --- | --- |
| project | programmatic | Template:create(委托 @farris/cli workspace create + 微应用兼容注入 + 校验);Addon:apply(workspace 校验 + 微应用兼容注入) |
| farris / farris-design / farris-feature / farris-ui | skill | Farris 前端页面生成与 TSX 编码工作流 |
| workspace-bootstrap | skill | Farris Vue 前端 workspace 识别/创建/验证 |
| farris-vue-development-guide / project-layout-style-guide / caf-backend-guide / bef-core-guide | rule | 前端 / 仓库布局 / CAF 后端 / BEF 开发规范 |
| farris-vue-mcp | mcp | Farris Vue 组件契约与页面模板知识库 MCP |
- Template 的 Skills 完整目录(含
scripts/、references/)作为assets复制到项目.aicoding/skills/<id>/,保证技能可执行脚本随工程落地;声明式 Skill/Rule 同时交付到 各 Target 原生位置(.cursor/、.claude/、.codebuddy/、.trae/)。 - MCP 交付为声明式配置(
.mcp.json等),引用共享用户级运行时farris-vue-mcp。
支持 Target
cursor、claude-code、codebuddy、trae。
输入
| 名称 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| appName | string | 是 | 应用编号(小写 kebab-case,写入应用 package.json.name) |
| appTitle | string | 否 | 应用展示标题,默认取 appName |
| appDir | string | 否 | 应用在 packages/ 下目录名,默认与应用编号一致 |
| routerMode | enum | 否 | hash / history,默认 hash |
| style | enum | 否 | css / scss / none,默认 css |
(Addon 仅使用 appName / appDir。)
环境变量(可选覆盖)
| 变量 | 默认 | 说明 |
| --- | --- | --- |
| FARRIS_CLI | Windows:cmd.exe /d /s /c npx --yes --package @farris/cli farris-cli;其他系统:npx --yes --package @farris/cli farris-cli | farris-cli 命令前缀,可指向内网镜像或本地桩 |
| FARRIS_CLI_ARGS | [] | 追加的 JSON 数组参数 |
开发与验证
# 根目录(Template)
npm install && npm run build # 或 npx tsc -b .
aicoding extension validate .
aicoding extension test .
aicoding extension pack .
# addon 包
cd addon
npm install && npm run build
aicoding extension validate .
aicoding extension test .
aicoding extension pack .端到端夹具:
node scripts/setup-e2e.mjs # Template create 夹具(含 stub farris-cli)
node scripts/setup-e2e-addon-clean.mjs # Addon apply 夹具(裸 workspace)
# create 全链路
FARRIS_CLI="node <repo>/test/fixtures/farris-cli-stub.mjs" \
aicoding extension dev ".aicoding/templates/igix-template" --project "." \
--operation create --target cursor --set appName=order-center --yes --allow process.execute
# apply 全链路
FARRIS_CLI="node <repo>/test/fixtures/farris-cli-stub.mjs" \
aicoding extension dev ".aicoding/templates/igix-addon" --project "." \
--operation apply --target cursor --set appName=order-center --set appDir=order-center --yes --allow process.execute说明
kind: Template声明project.create(工程创建);kind: Addon声明project.apply(工程增强),两者分别对应aicoding create与aicoding apply。- 真实
@farris/cli版本以workspace create契约为准(Windows 默认通过cmd.exe调用npx --yes --package @farris/cli farris-cli, E2E 使用test/fixtures/farris-cli-stub.mjs桩)。 @aicoding/extension-sdk仅作编译期类型依赖,运行时由 Core 注入唯一 SDK 实例。
