@farris/cli 2.2.6 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/lib/commands/add-app.js +6 -0
  2. package/lib/commands/add-app.js.map +1 -0
  3. package/lib/commands/add-lib.js +6 -0
  4. package/lib/commands/add-lib.js.map +1 -0
  5. package/lib/commands/add-project.js +194 -0
  6. package/lib/commands/add-project.js.map +1 -0
  7. package/lib/commands/build-components.js +8 -1
  8. package/lib/commands/build-components.js.map +1 -1
  9. package/lib/commands/build-lib.js +5 -0
  10. package/lib/commands/build-lib.js.map +1 -1
  11. package/lib/commands/build.js +7 -2
  12. package/lib/commands/build.js.map +1 -1
  13. package/lib/commands/create-app-options.js +0 -2
  14. package/lib/commands/create-app-options.js.map +1 -1
  15. package/lib/commands/create-app.js +6 -1
  16. package/lib/commands/create-app.js.map +1 -1
  17. package/lib/commands/create-options.js +3 -0
  18. package/lib/commands/create-options.js.map +1 -1
  19. package/lib/commands/create.js +96 -50
  20. package/lib/commands/create.js.map +1 -1
  21. package/lib/commands/generate/common.js +13 -12
  22. package/lib/commands/generate/common.js.map +1 -1
  23. package/lib/commands/workspace/add-app.js +10 -175
  24. package/lib/commands/workspace/add-app.js.map +1 -1
  25. package/lib/commands/workspace/create.js +29 -346
  26. package/lib/commands/workspace/create.js.map +1 -1
  27. package/lib/common/agents-doc.js +34 -0
  28. package/lib/common/agents-doc.js.map +1 -0
  29. package/lib/common/constant.js +18 -0
  30. package/lib/common/constant.js.map +1 -1
  31. package/lib/common/generate-app.js +48 -24
  32. package/lib/common/generate-app.js.map +1 -1
  33. package/lib/common/output.js +72 -2
  34. package/lib/common/output.js.map +1 -1
  35. package/lib/common/project-layout.js +143 -0
  36. package/lib/common/project-layout.js.map +1 -0
  37. package/lib/common/safety.js +4 -2
  38. package/lib/common/safety.js.map +1 -1
  39. package/lib/common/template-manifest.js +2 -4
  40. package/lib/common/template-manifest.js.map +1 -1
  41. package/lib/common/verifier.js +143 -99
  42. package/lib/common/verifier.js.map +1 -1
  43. package/lib/common/workspace-contract.js +86 -0
  44. package/lib/common/workspace-contract.js.map +1 -0
  45. package/lib/index.js +31 -2
  46. package/lib/index.js.map +1 -1
  47. package/lib/plugins/create-app-package-json.js +24 -0
  48. package/lib/plugins/create-app-package-json.js.map +1 -0
  49. package/package.json +87 -52
  50. package/templates/create/.gitignore.tpl +12 -0
  51. package/templates/create/AGENTS.md +62 -0
  52. package/templates/create/CLAUDE.md +1 -0
  53. package/templates/create/README.md +14 -1
  54. package/templates/create/package.json +11 -3
  55. package/templates/create/pnpm-workspace.yaml +3 -9
  56. package/templates/lib/.eslintrc.cjs +15 -0
  57. package/templates/lib/.gitignore.tpl +3 -0
  58. package/templates/lib/.prettierrc.json +8 -0
  59. package/templates/lib/index.html +1 -1
  60. package/templates/lib/package.json +41 -3
  61. package/templates/lib/{components → test/components}/button/button.spec.ts +3 -2
  62. package/templates/lib/test/components/button/button.spec.tsx +11 -0
  63. package/templates/lib/tsconfig.json +5 -1
  64. package/templates/lib/vitest.config.ts +1 -1
  65. package/templates/mobile/.gitignore.tpl +31 -0
  66. package/templates/mobile/.gitlab-ci.yml +3 -9
  67. package/templates/mobile/index.html +1 -1
  68. package/templates/mobile/package.json +16 -10
  69. package/templates/mobile/src/main.ts +5 -4
  70. package/templates/mobile/src/router/index.ts +17 -17
  71. package/templates/mobile/test/src/components/TheButton.spec.ts +15 -0
  72. package/templates/mobile/test/src/components/TheButton.spec.tsx +15 -0
  73. package/templates/mobile/tsconfig.json +3 -2
  74. package/templates/mobile/vitest.config.ts +2 -1
  75. package/templates/web/.gitignore.tpl +31 -0
  76. package/templates/web/.gitlab-ci.yml +3 -9
  77. package/templates/web/index.html +1 -1
  78. package/templates/web/package.json +16 -10
  79. package/templates/web/src/locales/index.ts +5 -0
  80. package/templates/web/src/locales/zh-CN.json +1 -0
  81. package/templates/web/src/main.ts +5 -2
  82. package/templates/web/src/router/index.ts +17 -17
  83. package/templates/web/src/styles/index.css +0 -0
  84. package/templates/web/src/styles/index.scss +0 -0
  85. package/templates/web/test/src/components/TheButton.spec.ts +15 -0
  86. package/templates/web/test/src/components/TheButton.spec.tsx +15 -0
  87. package/templates/web/tsconfig.json +3 -2
  88. package/templates/web/vitest.config.ts +2 -1
  89. package/lib/common/project-package-name.js +0 -5
  90. package/lib/common/project-package-name.js.map +0 -1
  91. package/templates/mobile/.changeset/README.md +0 -4
  92. package/templates/mobile/.changeset/config.json +0 -11
  93. package/templates/mobile/project.json +0 -4
  94. package/templates/mobile/src/components/TheButton.spec.ts +0 -8
  95. package/templates/web/.changeset/README.md +0 -4
  96. package/templates/web/.changeset/config.json +0 -11
  97. package/templates/web/project.json +0 -4
  98. package/templates/web/src/components/TheButton.spec.ts +0 -8
  99. package/templates/workspace/app/farris.config.mjs +0 -13
  100. package/templates/workspace/app/index.html +0 -12
  101. package/templates/workspace/app/package.json +0 -22
  102. package/templates/workspace/app/src/App.tsx +0 -11
  103. package/templates/workspace/app/src/main.ts +0 -12
  104. package/templates/workspace/app/src/router/index.ts +0 -16
  105. package/templates/workspace/app/src/views/home/composables/use-home.ts +0 -7
  106. package/templates/workspace/app/src/views/home/home.component.tsx +0 -15
  107. package/templates/workspace/app/src/views/home/index.ts +0 -4
  108. package/templates/workspace/app/tsconfig.json +0 -21
  109. package/templates/workspace/root/README.md +0 -28
  110. package/templates/workspace/root/package.json +0 -13
  111. package/templates/workspace/root/pnpm-workspace.yaml +0 -12
  112. /package/templates/{workspace/app → mobile}/src/locales/index.ts +0 -0
  113. /package/templates/{workspace/app → mobile}/src/locales/zh-CN.json +0 -0
  114. /package/templates/{workspace/app → mobile}/src/styles/index.css +0 -0
  115. /package/templates/{workspace/app → mobile}/src/styles/index.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/common/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/common/verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { PROJECT_CONTAINERS } from './project-layout.js';
2
+ /**
3
+ * 根 package.json 必须存在的脚本(设计文档 §7.1)。数组顺序即收尾提示中的展示顺序。
4
+ */
5
+ export const ROOT_SCRIPT_CONTRACT = [
6
+ { script: 'add-app', description: '添加应用', kind: 'cli', sampleArg: 'shop', containerKey: 'app' },
7
+ { script: 'add-lib', description: '添加组件库', kind: 'cli', sampleArg: 'button', containerKey: 'lib' },
8
+ { script: 'build', description: '构建所有工程', kind: 'pnpm' },
9
+ { script: 'typecheck', description: '全量类型检查', kind: 'pnpm' },
10
+ { script: 'lint', description: '全量代码检查', kind: 'pnpm' },
11
+ { script: 'test', description: '全量单元测试', kind: 'pnpm' },
12
+ { script: 'verify', description: '校验 workspace 规范', kind: 'pnpm' }
13
+ ];
14
+ /** 仅工程目录内存在的脚本(设计文档 §5.2 规则 2)。 */
15
+ export const PROJECT_SCRIPT_CONTRACT = [
16
+ { script: 'dev', description: '启动开发服务器' },
17
+ { script: 'preview', description: '预览构建产物' }
18
+ ];
19
+ /** 根 package.json 中禁止出现的脚本:长驻服务不递归执行,避免抢端口与日志交织。 */
20
+ export const FORBIDDEN_ROOT_SCRIPTS = ['dev', 'preview'];
21
+ /** 根脚本的递归执行前缀(设计文档 §7.1)。 */
22
+ export const RECURSIVE_SCRIPT_PREFIX = 'pnpm --recursive --if-present run';
23
+ /** CLI 命令注册表(供 AGENTS.md 校验使用,不解析 commander)。 */
24
+ export const CLI_COMMAND_REGISTRY = [
25
+ 'create',
26
+ 'add-app',
27
+ 'add-lib',
28
+ 'workspace create',
29
+ 'workspace verify',
30
+ 'create-app'
31
+ ];
32
+ export const APP_BUILD_SCRIPT = 'farris-cli build';
33
+ export const LIB_BUILD_SCRIPT = 'farris-cli build-lib -ep && farris-cli build-components';
34
+ export const APP_ARTIFACT_DIR = 'dist';
35
+ export const LIB_ARTIFACT_DIR = 'lib';
36
+ export function rootScriptCommand(script) {
37
+ return `pnpm ${script}`;
38
+ }
39
+ export function cliScriptCommand(script, sampleArg) {
40
+ return `farris-cli ${script} ${sampleArg}`;
41
+ }
42
+ export function cliScriptTarget(containerKey, sampleArg) {
43
+ return `${PROJECT_CONTAINERS[containerKey]}/${sampleArg}`;
44
+ }
45
+ /**
46
+ * 根 package.json 中某个脚本的期望值(设计文档 §7.1)。
47
+ *
48
+ * 注意:契约里的条目按「展示形态」分 kind,但**期望值**另有三种形态——
49
+ * 递归脚本(build/test/typecheck/lint/format)、CLI 转发(verify)、带参数的 CLI 转发(add-app/add-lib)。
50
+ * 校验必须走这个函数,不能按 kind 反推,否则会把 verify 误判为递归脚本。
51
+ */
52
+ export function expectedRootScriptValue(script) {
53
+ if (script === 'verify') {
54
+ return 'farris-cli workspace verify';
55
+ }
56
+ if (script === 'add-app' || script === 'add-lib') {
57
+ return `farris-cli ${script}`;
58
+ }
59
+ return `${RECURSIVE_SCRIPT_PREFIX} ${script}`;
60
+ }
61
+ /** 生成 AGENTS.md 用的命令速查表(纯文本,无 ANSI)。 */
62
+ export function renderCommandTable() {
63
+ const lines = [];
64
+ ROOT_SCRIPT_CONTRACT.forEach((item) => {
65
+ if (item.kind === 'cli') {
66
+ const target = cliScriptTarget(item.containerKey, item.sampleArg);
67
+ lines.push(`- \`farris-cli ${item.script} ${item.sampleArg}\`(${item.description})→ ${target}`);
68
+ return;
69
+ }
70
+ lines.push(`- \`pnpm ${item.script}\`(${item.description})`);
71
+ });
72
+ PROJECT_SCRIPT_CONTRACT.forEach((item) => {
73
+ lines.push(`- \`pnpm ${item.script}\`(工程目录内 · ${item.description})`);
74
+ });
75
+ return lines.join('\n');
76
+ }
77
+ /** 生成 AGENTS.md 用的子工程清单。 */
78
+ export function renderProjectList(projects) {
79
+ if (projects.length === 0) {
80
+ return '(暂无工程:可用 `farris-cli add-app` / `farris-cli add-lib` 创建)';
81
+ }
82
+ return projects
83
+ .map((project) => `- \`${project.dir}\`(${project.type === 'lib' ? '组件库' : '应用'})`)
84
+ .join('\n');
85
+ }
86
+ //# sourceMappingURL=workspace-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-contract.js","sourceRoot":"","sources":["../../src/common/workspace-contract.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -12,6 +12,7 @@ program
12
12
  .option('-c, --configFile [configFile]', 'Farris 配置文件路径')
13
13
  .option('-vc, --viteConfigFile [viteConfigFile]', 'Vite 配置文件路径')
14
14
  .option('-b, --base [base]', '覆盖构建公共路径 Base (如 / 或 ./ 或 /apps/xxx/)')
15
+ .option('-ep, --emitPackage', '是否生成 dist/package.json 发布清单')
15
16
  .action(async (options) => {
16
17
  process.env.BUILD_TYPE = 'app';
17
18
  const { buildCommon } = await import('./commands/build.js');
@@ -59,6 +60,7 @@ program
59
60
  .option('--app <appName>', '非交互时指定工程目录名')
60
61
  .option('--no-app', '不创建工程')
61
62
  .option('--install', '生成后执行 pnpm install')
63
+ .option('--force', '确认覆盖与模板同名的已有文件(非交互模式必须显式指定)')
62
64
  .action(async (name, options) => {
63
65
  const { create } = await import('./commands/create.js');
64
66
  const noApp = options.noApp === true || options.app === false;
@@ -68,9 +70,36 @@ program
68
70
  json: options.json,
69
71
  install: options.install,
70
72
  app,
71
- noApp
73
+ noApp,
74
+ force: options.force
72
75
  });
73
76
  });
77
+ program
78
+ .command('add-app [name]')
79
+ .description('向当前 workspace 添加应用 → applications/<name>')
80
+ .option('-t, --title <title>', '应用展示标题')
81
+ .option('--platform <platform>', '应用平台 (web | mobile)', 'web')
82
+ .option('--style <style>', '应用全局样式 (none | css | scss)', 'css')
83
+ .option('--format <format>', '产物交付格式 (es | systemjs)', 'es')
84
+ .option('--json', '以 JSON 格式输出结果')
85
+ .option('--force', '确认覆盖与模板同名的已有文件')
86
+ .option('--install', '添加后执行 pnpm install', false)
87
+ .action(async (name, options) => {
88
+ const { addApp } = await import('./commands/add-app.js');
89
+ await addApp(name, options);
90
+ });
91
+ program
92
+ .command('add-lib [name]')
93
+ .description('向当前 workspace 添加组件库 → libraries/<name>')
94
+ .option('-t, --title <title>', '组件库展示标题')
95
+ .option('--formats <formats>', 'lib 产物格式,逗号分隔 (es,cjs,umd,systemjs)')
96
+ .option('--json', '以 JSON 格式输出结果')
97
+ .option('--force', '确认覆盖与模板同名的已有文件')
98
+ .option('--install', '添加后执行 pnpm install', false)
99
+ .action(async (name, options) => {
100
+ const { addLib } = await import('./commands/add-lib.js');
101
+ await addLib(name, options);
102
+ });
74
103
  program
75
104
  .command('create-app [name]')
76
105
  .description('新建 App / Lib 模板')
@@ -141,7 +170,7 @@ workspaceCmd
141
170
  });
142
171
  workspaceCmd
143
172
  .command('add-app <name>')
144
- .description('在现有 Workspace 中添加新应用')
173
+ .description('[已废弃] 请改用 farris-cli add-app')
145
174
  .option('-t, --title <title>', '应用展示标题')
146
175
  .option('--router', '启用 Vue Router')
147
176
  .option('--router-mode <mode>', '路由模式 (hash | history)', 'hash')
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ /**
4
+ * 为 app 生成发布清单到 dist/package.json(设计文档 §7.5)。
5
+ *
6
+ * 工程自身的 package.json 是 private 且含 devDependencies/scripts,不能直接发布;
7
+ * 这里只写可发布的最小信息:name 保留工程原值(含 scope,不做任何改写)、version 取工程 package.json。
8
+ */
9
+ export const createAppPackageJson = () => ({
10
+ name: 'create-app-package-json',
11
+ generateBundle() {
12
+ const pkg = JSON.parse(readFileSync(resolve(process.cwd(), 'package.json'), 'utf-8'));
13
+ const result = {
14
+ name: pkg.name,
15
+ version: pkg.version
16
+ };
17
+ this.emitFile({
18
+ type: 'asset',
19
+ fileName: 'package.json',
20
+ source: JSON.stringify(result, null, 2)
21
+ });
22
+ }
23
+ });
24
+ //# sourceMappingURL=create-app-package-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app-package-json.js","sourceRoot":"","sources":["../../src/plugins/create-app-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAQ,EAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,yBAAyB;IAC/B,cAAc;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,52 +1,87 @@
1
- {
2
- "name": "@farris/cli",
3
- "private": false,
4
- "version": "2.2.6",
5
- "type": "module",
6
- "typings": "lib/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./lib/commands/create.js",
10
- "import": "./lib/commands/create.js"
11
- }
12
- },
13
- "bin": {
14
- "farris-cli": "./bin/index.js"
15
- },
16
- "engines": {
17
- "node": "^18.0.0 || >=20.0.0",
18
- "pnpm": ">=9.0.0"
19
- },
20
- "scripts": {
21
- "build": "rimraf ./lib && tsc",
22
- "test": "vitest run --config vitest.config.ts"
23
- },
24
- "files": [
25
- "lib",
26
- "templates",
27
- "bin"
28
- ],
29
- "license": "MIT",
30
- "dependencies": {
31
- "@vitejs/plugin-vue": "^5.2.4",
32
- "@vitejs/plugin-vue-jsx": "^3.0.0",
33
- "commander": "^9.4.0",
34
- "esbuild": "^0.23.0",
35
- "esbuild-sass-plugin": "^3.3.1",
36
- "fs-extra": "^11.2.0",
37
- "glob": "^10.4.5",
38
- "inquirer": "^9.3.0",
39
- "ora": "^8.0.1",
40
- "typescript": "^5.7.3",
41
- "vite": "^5.4.19",
42
- "vite-plugin-css-injected-by-js": "^3.5.2",
43
- "vite-plugin-dts": "^3.9.1"
44
- },
45
- "devDependencies": {
46
- "@types/fs-extra": "^11.0.4",
47
- "@types/inquirer": "^9.0.7",
48
- "rimraf": "^5.0.7",
49
- "vitest": "^1.6.1",
50
- "vue": "^3.5.13"
51
- }
52
- }
1
+ {
2
+ "name": "@farris/cli",
3
+ "private": false,
4
+ "version": "2.3.1",
5
+ "type": "module",
6
+ "typings": "lib/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./lib/commands/create.js",
10
+ "import": "./lib/commands/create.js"
11
+ }
12
+ },
13
+ "bin": {
14
+ "farris-cli": "./bin/index.js"
15
+ },
16
+ "engines": {
17
+ "node": "^18.0.0 || >=20.0.0",
18
+ "pnpm": ">=9.0.0"
19
+ },
20
+ "scripts": {
21
+ "build": "rimraf ./lib && tsc",
22
+ "test": "vitest run --config vitest.config.ts"
23
+ },
24
+ "files": [
25
+ "lib",
26
+ "templates",
27
+ "bin"
28
+ ],
29
+ "license": "MIT",
30
+ "dependencies": {
31
+ "commander": "^9.4.0",
32
+ "glob": "^10.4.5",
33
+ "inquirer": "^9.3.0",
34
+ "ora": "^8.0.1"
35
+ },
36
+ "peerDependencies": {
37
+ "@vitejs/plugin-vue": "^5.2.4",
38
+ "@vitejs/plugin-vue-jsx": "^3.0.0",
39
+ "esbuild": "^0.23.0",
40
+ "esbuild-sass-plugin": "^3.3.1",
41
+ "typescript": "^5.7.3",
42
+ "vite": "^5.4.19",
43
+ "vite-plugin-css-injected-by-js": "^3.5.2",
44
+ "vite-plugin-dts": "^3.9.1"
45
+ },
46
+ "peerDependenciesMeta": {
47
+ "@vitejs/plugin-vue": {
48
+ "optional": true
49
+ },
50
+ "@vitejs/plugin-vue-jsx": {
51
+ "optional": true
52
+ },
53
+ "esbuild": {
54
+ "optional": true
55
+ },
56
+ "esbuild-sass-plugin": {
57
+ "optional": true
58
+ },
59
+ "typescript": {
60
+ "optional": true
61
+ },
62
+ "vite": {
63
+ "optional": true
64
+ },
65
+ "vite-plugin-css-injected-by-js": {
66
+ "optional": true
67
+ },
68
+ "vite-plugin-dts": {
69
+ "optional": true
70
+ }
71
+ },
72
+ "devDependencies": {
73
+ "@types/inquirer": "^9.0.7",
74
+ "@vitejs/plugin-vue": "^5.2.4",
75
+ "@vitejs/plugin-vue-jsx": "^3.0.0",
76
+ "esbuild": "^0.23.0",
77
+ "esbuild-sass-plugin": "^3.3.1",
78
+ "rimraf": "^5.0.7",
79
+ "sass": "^1.90.0",
80
+ "typescript": "^5.7.3",
81
+ "vite": "^5.4.19",
82
+ "vite-plugin-css-injected-by-js": "^3.5.2",
83
+ "vite-plugin-dts": "^3.9.1",
84
+ "vitest": "^1.6.1",
85
+ "vue": "^3.5.13"
86
+ }
87
+ }
@@ -0,0 +1,12 @@
1
+ node_modules
2
+ dist
3
+ package
4
+ lib
5
+ .DS_Store
6
+ *.local
7
+ .vscode/*
8
+ !.vscode/extensions.json
9
+ !.vscode/settings.json
10
+ .idea
11
+ *.log
12
+ .pnpm-store
@@ -0,0 +1,62 @@
1
+ # <%= title %> — AI 协作契约
2
+
3
+ 本文件是本 workspace 的**唯一真源**。子工程内不放任何 AI 配置文件;所有工具(Claude Code / Cursor / Windsurf / Copilot / Codex / Zed / VS Code …)都读这一份。
4
+
5
+ ## 1. 全局契约
6
+
7
+ ### 目录分层
8
+
9
+ | 目录 | 含义 | 构建产物 |
10
+ |---|---|---|
11
+ | `<%= appContainer %>/` | 应用,可部署 | `dist/` |
12
+ | `<%= libContainer %>/` | 组件库,可发布 | `lib/` |
13
+
14
+ ### 命令契约
15
+
16
+ | 命令 | 作用 |
17
+ |---|---|
18
+ | `npm create farris [name]` / `farris-cli create [name]` | 新建 workspace(可同时创建一个工程) |
19
+ | `farris-cli add-app <name>` | 添加应用 |
20
+ | `farris-cli add-lib <name>` | 添加组件库 |
21
+ | `farris-cli create-app [name]` | 在当前位置就地创建独立工程(不要用于 workspace 内) |
22
+ | `farris-cli workspace create [target]` | workspace 初始化(等价于 create) |
23
+ | `farris-cli workspace verify` | 校验 workspace 规范 |
24
+
25
+ ### 根脚本
26
+
27
+ <%= commandTable %>
28
+
29
+ ### 依赖契约
30
+
31
+ - 依赖版本统一由根 `pnpm-workspace.yaml` 的 `catalog:` 提供;子工程里属于 catalog 的依赖一律写 `"catalog:"`。
32
+ - 禁止手工 `npm install` 单个子包;禁止手改 `pnpm-workspace.yaml` 的 `packages` glob 或 `catalog` 版本。
33
+ - 根脚本一律 `pnpm --recursive --if-present run <script>`。**根目录没有 `dev` / `preview` 是有意为之**:长驻服务不递归执行,避免多工程抢端口、日志交织。
34
+
35
+ ## 2. 工程类型差异速查表
36
+
37
+ | 关注点 | 应用 `<%= appContainer %>/<name>` | 组件库 `<%= libContainer %>/<name>` |
38
+ |---|---|---|
39
+ | 源码位置 | `src/` | `components/` 是**发布物唯一入口**;`src/` 仅供本地演示 |
40
+ | 构建 | `farris-cli build` | `farris-cli build-lib -ep && farris-cli build-components` |
41
+ | 产物 | `dist/` | `lib/` |
42
+ | 发版 | 不单独发版(`private: true`) | `pnpm changeset` |
43
+ | 测试 | `test/` 镜像 `src/` 路径 | `test/` 镜像 `components/` 与 `src/` 路径 |
44
+
45
+ **高频陷阱:** 组件写在组件库的 `src/` 下等于「写了但发不出去」——`farris-cli build-components` 只扫 `components/`。
46
+
47
+ ## 3. 测试约定
48
+
49
+ 测试路径 = 被测文件相对工程根的路径,前缀 `test/`,扩展名换成 `.spec.ts` / `.spec.tsx`:
50
+
51
+ ```text
52
+ <%= libContainer %>/button/components/button/src/button.vue
53
+ → <%= libContainer %>/button/test/components/button/src/button.spec.ts
54
+ ```
55
+
56
+ 工程内 `pnpm test` 跑本工程测试;根目录 `pnpm test` 递归跑全部工程。
57
+
58
+ ## 4. 子工程清单
59
+
60
+ <!-- projects:start -->
61
+ <%= projectList %>
62
+ <!-- projects:end -->
@@ -0,0 +1 @@
1
+ @AGENTS.md
@@ -2,8 +2,21 @@
2
2
 
3
3
  <%= readmeBody %>
4
4
 
5
+ ## 目录结构
6
+
7
+ ```text
8
+ ├── <%= appContainer %>/ # 应用(可部署)
9
+ ├── <%= libContainer %>/ # 组件库(可发布)
10
+ ├── AGENTS.md # AI 协作契约(唯一真源)
11
+ ├── pnpm-workspace.yaml # workspace 配置与 catalog 依赖版本
12
+ └── package.json # 根脚本
13
+ ```
14
+
15
+ ## 快速上手
16
+
5
17
  ```bash
6
18
  pnpm install
7
- pnpm dev
19
+ pnpm --filter <pkg> dev # 启动某个工程的开发服务器(根目录不提供 dev)
8
20
  pnpm build
21
+ pnpm verify
9
22
  ```
@@ -5,9 +5,17 @@
5
5
  "node": "^18.0.0 || >=20.0.0",
6
6
  "pnpm": ">=9.0.0 <10.0.0"
7
7
  },
8
+ "devDependencies": {
9
+ "@farris/cli": "catalog:"
10
+ },
8
11
  "scripts": {
9
- "dev": "<%= rootDevScript %>",
10
- "build": "<%= rootBuildScript %>",
11
- "test": "<%= rootTestScript %>"
12
+ "build": "pnpm --recursive --if-present run build",
13
+ "test": "pnpm --recursive --if-present run test",
14
+ "typecheck": "pnpm --recursive --if-present run typecheck",
15
+ "lint": "pnpm --recursive --if-present run lint",
16
+ "format": "pnpm --recursive --if-present run format",
17
+ "verify": "farris-cli workspace verify",
18
+ "add-app": "farris-cli add-app",
19
+ "add-lib": "farris-cli add-lib"
12
20
  }
13
21
  }
@@ -1,12 +1,6 @@
1
1
  packages:
2
- - "packages/*"
2
+ - "<%= appContainer %>/*"
3
+ - "<%= libContainer %>/*"
3
4
 
4
5
  catalog:
5
- "@farris/ui-vue": "<%= farrisUiVueVersion %>"
6
- "@farris/cli": "<%= farrisCliVersion %>"
7
- "typescript": "<%= typescriptVersion %>"
8
- "vite": "<%= viteVersion %>"
9
- "vue": "<%= vueVersion %>"
10
- "vue-router": "<%= vueRouterVersion %>"
11
- "vue-tsc": "<%= vueTscVersion %>"
12
- "sass": "<%= sassVersion %>"
6
+ <%= catalogEntries %>
@@ -0,0 +1,15 @@
1
+ /* eslint-env node */
2
+ require('@rushstack/eslint-patch/modern-module-resolution');
3
+
4
+ module.exports = {
5
+ root: true,
6
+ 'extends': [
7
+ 'plugin:vue/vue3-essential',
8
+ 'eslint:recommended',
9
+ '@vue/eslint-config-typescript',
10
+ '@vue/eslint-config-prettier/skip-formatting'
11
+ ],
12
+ parserOptions: {
13
+ ecmaVersion: 'latest'
14
+ }
15
+ };
@@ -0,0 +1,3 @@
1
+ node_modules/
2
+ lib/
3
+ package-lock.json
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "semi": false,
4
+ "tabWidth": 2,
5
+ "singleQuote": true,
6
+ "printWidth": 100,
7
+ "trailingComma": "none"
8
+ }
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Lib Demo</title>
6
+ <title><%= title %></title>
7
7
  </head>
8
8
  <body>
9
9
  <div id="app"></div>