frontend-harness 0.6.3 → 0.6.4

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 (37) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cli/index.js +2 -2
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/runtime/scaffold/template-renderer.d.ts +26 -0
  5. package/dist/runtime/scaffold/template-renderer.js +28 -0
  6. package/dist/runtime/scaffold/template-renderer.js.map +1 -0
  7. package/dist/runtime/scaffold/vue-template.d.ts +1 -5
  8. package/dist/runtime/scaffold/vue-template.js +43 -95
  9. package/dist/runtime/scaffold/vue-template.js.map +1 -1
  10. package/dist/runtime/scaffold.d.ts +1 -0
  11. package/dist/runtime/scaffold.js +13 -3
  12. package/dist/runtime/scaffold.js.map +1 -1
  13. package/package.json +2 -1
  14. package/templates/scaffold/vue/.husky/pre-commit +1 -0
  15. package/templates/scaffold/vue/README.md.tpl +50 -0
  16. package/templates/scaffold/vue/eslint.config.mjs +49 -0
  17. package/templates/scaffold/vue/gitignore.tpl +23 -0
  18. package/templates/scaffold/vue/index.html.tpl +12 -0
  19. package/templates/scaffold/vue/playwright.config.mjs +29 -0
  20. package/templates/scaffold/vue/postcss.config.mjs +5 -0
  21. package/templates/scaffold/vue/src/App.vue +7 -0
  22. package/templates/scaffold/vue/src/env.d.ts +7 -0
  23. package/templates/scaffold/vue/src/features/home/HomeView.vue +86 -0
  24. package/templates/scaffold/vue/src/main.ts +5 -0
  25. package/templates/scaffold/vue/src/service/http.ts +18 -0
  26. package/templates/scaffold/vue/src/service/index.ts +1 -0
  27. package/templates/scaffold/vue/src/storage/index.ts +31 -0
  28. package/templates/scaffold/vue/src/styles/main.scss +21 -0
  29. package/templates/scaffold/vue/src/styles/tokens.scss +20 -0
  30. package/templates/scaffold/vue/src/utils/index.ts +11 -0
  31. package/templates/scaffold/vue/tests/e2e/app-desktop.spec.ts +10 -0
  32. package/templates/scaffold/vue/tests/e2e/app-mobile.spec.ts +9 -0
  33. package/templates/scaffold/vue/tests/integration/app.test.ts +15 -0
  34. package/templates/scaffold/vue/tests/render.ts +6 -0
  35. package/templates/scaffold/vue/tests/setup.ts +7 -0
  36. package/templates/scaffold/vue/vite.config.mjs +33 -0
  37. package/templates/scaffold/vue/vitest.config.mjs +34 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to `frontend-harness` are documented here.
4
4
 
5
5
  This project follows semver while it is pre-1.0: patch releases may include harness policy improvements that tighten validation, and minor releases may change generated protocol expectations.
6
6
 
7
+ ## 0.6.4 - 2026-05-23
8
+
9
+ ### Changed
10
+
11
+ - Refactored the Vue scaffold preset to use external template files under `templates/scaffold/vue` with a shared manifest renderer instead of embedding long generated files in TypeScript strings.
12
+ - Split the default scaffold app into a thin `App.vue` shell and a `src/features/home/HomeView.vue` example feature boundary.
13
+ - Added scaffold output stability coverage for generated file lists, selected exact file contents, package metadata, and unsupported preset handling.
14
+
7
15
  ## 0.6.3 - 2026-05-23
8
16
 
9
17
  ### Changed
package/dist/cli/index.js CHANGED
@@ -7,7 +7,7 @@ import { publicHelpLines } from "../runtime/command-taxonomy.js";
7
7
  import { cleanRuntimeArtifacts } from "../runtime/clean.js";
8
8
  import { checkRepairDecision } from "../runtime/repair-decision.js";
9
9
  import { createRepairPacket } from "../runtime/repair-packet.js";
10
- import { scaffoldProject } from "../runtime/scaffold.js";
10
+ import { isScaffoldPresetName, scaffoldProject } from "../runtime/scaffold.js";
11
11
  import { explainState } from "../runtime/state-explain.js";
12
12
  import { checkProtocol, initializeProtocol } from "../runtime/protocol-init.js";
13
13
  import { checkSkills, discoverSkills } from "../runtime/skills.js";
@@ -585,7 +585,7 @@ function stringFlag(value) {
585
585
  }
586
586
  function scaffoldPresetFlag(value) {
587
587
  const preset = typeof value === "string" ? value : "vue";
588
- if (preset !== "vue") {
588
+ if (!isScaffoldPresetName(preset)) {
589
589
  throw new Error(`Unsupported scaffold preset: ${preset}`);
590
590
  }
591
591
  return preset;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface ScaffoldTemplateFile {
2
+ path: string;
3
+ content: string;
4
+ mode?: number;
5
+ }
6
+ export interface ScaffoldTemplateContext {
7
+ [key: string]: string;
8
+ }
9
+ export interface ScaffoldManifestTemplateFile {
10
+ source: string;
11
+ target: string;
12
+ mode?: number;
13
+ }
14
+ export interface ScaffoldStaticFile {
15
+ path: string;
16
+ content: string;
17
+ mode?: number;
18
+ }
19
+ export declare function renderScaffoldTemplateFiles(options: {
20
+ templateRoot: URL;
21
+ context: ScaffoldTemplateContext;
22
+ staticFiles?: ScaffoldStaticFile[];
23
+ manifestFiles: ScaffoldManifestTemplateFile[];
24
+ }): ScaffoldTemplateFile[];
25
+ export declare function escapeHtml(value: string): string;
26
+ export declare function json(value: unknown): string;
@@ -0,0 +1,28 @@
1
+ import { readFileSync } from "node:fs";
2
+ export function renderScaffoldTemplateFiles(options) {
3
+ return [
4
+ ...(options.staticFiles ?? []),
5
+ ...options.manifestFiles.map((file) => ({
6
+ path: file.target,
7
+ content: renderTemplate(readTemplate(options.templateRoot, file.source), options.context),
8
+ ...(file.mode === undefined ? {} : { mode: file.mode })
9
+ }))
10
+ ];
11
+ }
12
+ export function escapeHtml(value) {
13
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
14
+ }
15
+ export function json(value) {
16
+ return `${JSON.stringify(value, null, 2)}\n`;
17
+ }
18
+ function readTemplate(templateRoot, source) {
19
+ return readFileSync(new URL(source, templateRoot), "utf8");
20
+ }
21
+ function renderTemplate(template, context) {
22
+ let rendered = template;
23
+ for (const [key, value] of Object.entries(context)) {
24
+ rendered = rendered.replaceAll(`{{${key}}}`, value);
25
+ }
26
+ return rendered;
27
+ }
28
+ //# sourceMappingURL=template-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../../../src/runtime/scaffold/template-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAwBvC,MAAM,UAAU,2BAA2B,CAAC,OAK3C;IACC,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9B,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;YACzF,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACxD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAc;IACjC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,YAAiB,EAAE,MAAc;IACrD,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAgC;IACxE,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,7 +1,3 @@
1
- export interface ScaffoldTemplateFile {
2
- path: string;
3
- content: string;
4
- mode?: number;
5
- }
1
+ import { type ScaffoldTemplateFile } from "./template-renderer.js";
6
2
  export declare function buildVueScaffoldFiles(projectName: string): ScaffoldTemplateFile[];
7
3
  export declare function toPackageName(value: string): string;
@@ -1,45 +1,53 @@
1
1
  import { readFileSync } from "node:fs";
2
- import { lines } from "../common/text.js";
2
+ import { escapeHtml, json, renderScaffoldTemplateFiles } from "./template-renderer.js";
3
+ const VUE_TEMPLATE_ROOT = new URL("../../../templates/scaffold/vue/", import.meta.url);
4
+ const VUE_TEMPLATE_FILES = [
5
+ { source: "gitignore.tpl", target: ".gitignore" },
6
+ { source: ".husky/pre-commit", target: ".husky/pre-commit", mode: 0o755 },
7
+ { source: "eslint.config.mjs", target: "eslint.config.mjs" },
8
+ { source: "index.html.tpl", target: "index.html" },
9
+ { source: "postcss.config.mjs", target: "postcss.config.mjs" },
10
+ { source: "README.md.tpl", target: "README.md" },
11
+ { source: "vite.config.mjs", target: "vite.config.mjs" },
12
+ { source: "vitest.config.mjs", target: "vitest.config.mjs" },
13
+ { source: "playwright.config.mjs", target: "playwright.config.mjs" },
14
+ { source: "src/App.vue", target: "src/App.vue" },
15
+ { source: "src/main.ts", target: "src/main.ts" },
16
+ { source: "src/env.d.ts", target: "src/env.d.ts" },
17
+ { source: "src/features/home/HomeView.vue", target: "src/features/home/HomeView.vue" },
18
+ { source: "src/styles/main.scss", target: "src/styles/main.scss" },
19
+ { source: "src/styles/tokens.scss", target: "src/styles/tokens.scss" },
20
+ { source: "src/utils/index.ts", target: "src/utils/index.ts" },
21
+ { source: "src/storage/index.ts", target: "src/storage/index.ts" },
22
+ { source: "src/service/http.ts", target: "src/service/http.ts" },
23
+ { source: "src/service/index.ts", target: "src/service/index.ts" },
24
+ { source: "tests/setup.ts", target: "tests/setup.ts" },
25
+ { source: "tests/render.ts", target: "tests/render.ts" },
26
+ { source: "tests/integration/app.test.ts", target: "tests/integration/app.test.ts" },
27
+ { source: "tests/e2e/app-desktop.spec.ts", target: "tests/e2e/app-desktop.spec.ts" },
28
+ { source: "tests/e2e/app-mobile.spec.ts", target: "tests/e2e/app-mobile.spec.ts" }
29
+ ];
3
30
  export function buildVueScaffoldFiles(projectName) {
4
- return [
5
- { path: "package.json", content: packageJson(projectName) },
6
- { path: ".gitignore", content: gitignore() },
7
- { path: ".prettierrc.json", content: json({ semi: true, singleQuote: false, trailingComma: "none" }) },
8
- { path: ".husky/pre-commit", content: lines("npx lint-staged"), mode: 0o755 },
9
- { path: ".frontend-harness/config.json", content: harnessConfig() },
10
- { path: "eslint.config.mjs", content: eslintConfig() },
11
- { path: "index.html", content: indexHtml(projectName) },
12
- { path: "postcss.config.mjs", content: lines("export default {", " plugins: {", " autoprefixer: {}", " }", "};") },
13
- { path: "README.md", content: readme(projectName) },
14
- { path: "tsconfig.json", content: tsconfig() },
15
- { path: "tsconfig.node.json", content: tsconfigNode() },
16
- { path: "vite.config.mjs", content: viteConfig() },
17
- { path: "vitest.config.mjs", content: vitestConfig() },
18
- { path: "playwright.config.mjs", content: playwrightConfig() },
19
- { path: "src/App.vue", content: appVue() },
20
- { path: "src/main.ts", content: lines("import { createApp } from \"vue\";", "import App from \"./App.vue\";", "import \"./styles/main.scss\";", "", "createApp(App).mount(\"#app\");") },
21
- { path: "src/env.d.ts", content: envDts() },
22
- { path: "src/features/.gitkeep", content: "" },
23
- { path: "src/styles/main.scss", content: mainScss() },
24
- { path: "src/styles/tokens.scss", content: styleTokens() },
25
- { path: "src/utils/index.ts", content: utilsIndex() },
26
- { path: "src/storage/index.ts", content: storageIndex() },
27
- { path: "src/service/http.ts", content: serviceHttp() },
28
- { path: "src/service/index.ts", content: lines("export { http, normalizeHttpError } from \"./http\";") },
29
- { path: "tests/setup.ts", content: testSetup() },
30
- { path: "tests/render.ts", content: testRender() },
31
- { path: "tests/integration/app.test.ts", content: appIntegrationTest() },
32
- { path: "tests/e2e/app-desktop.spec.ts", content: appDesktopE2eTest() },
33
- { path: "tests/e2e/app-mobile.spec.ts", content: appMobileE2eTest() }
34
- ];
31
+ return renderScaffoldTemplateFiles({
32
+ templateRoot: VUE_TEMPLATE_ROOT,
33
+ context: {
34
+ projectName,
35
+ projectNameHtml: escapeHtml(projectName)
36
+ },
37
+ staticFiles: [
38
+ { path: "package.json", content: packageJson(projectName) },
39
+ { path: ".prettierrc.json", content: json({ semi: true, singleQuote: false, trailingComma: "none" }) },
40
+ { path: ".frontend-harness/config.json", content: harnessConfig() },
41
+ { path: "tsconfig.json", content: tsconfig() },
42
+ { path: "tsconfig.node.json", content: tsconfigNode() }
43
+ ],
44
+ manifestFiles: VUE_TEMPLATE_FILES
45
+ });
35
46
  }
36
47
  export function toPackageName(value) {
37
48
  const normalized = value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
38
49
  return normalized || "vue-scaffold";
39
50
  }
40
- function gitignore() {
41
- return lines("node_modules", "dist", "coverage", ".DS_Store", "*.log", ".vite", "playwright-report", "test-results", "src/types/auto-imports.d.ts", "src/types/components.d.ts", "", "# frontend-harness generated runtime evidence", ".frontend-harness/context/", ".frontend-harness/plans/", ".frontend-harness/execution-units/", ".frontend-harness/component-graph/", ".frontend-harness/guidance/", ".frontend-harness/state.json", ".frontend-harness/verification/", ".frontend-harness/logs/", ".frontend-harness/repair/", ".frontend-harness/repair-decision/", ".frontend-harness/state-explain/");
42
- }
43
51
  function packageJson(projectName) {
44
52
  return json({
45
53
  name: projectName,
@@ -119,15 +127,6 @@ function harnessConfig() {
119
127
  }
120
128
  });
121
129
  }
122
- function eslintConfig() {
123
- return lines("import js from \"@eslint/js\";", "import prettier from \"eslint-config-prettier\";", "import vue from \"eslint-plugin-vue\";", "import vueParser from \"vue-eslint-parser\";", "import tsParser from \"@typescript-eslint/parser\";", "", "export default [", " {", " ignores: [\"dist/**\", \"node_modules/**\"]", " },", " js.configs.recommended,", " ...vue.configs[\"flat/essential\"],", " prettier,", " {", " languageOptions: {", " globals: {", " document: \"readonly\",", " localStorage: \"readonly\",", " sessionStorage: \"readonly\",", " Storage: \"readonly\",", " window: \"readonly\"", " }", " }", " },", " {", " files: [\"**/*.{ts,tsx}\"],", " languageOptions: {", " parser: tsParser,", " parserOptions: {", " ecmaVersion: \"latest\",", " sourceType: \"module\"", " }", " }", " },", " {", " files: [\"**/*.vue\"],", " languageOptions: {", " parser: vueParser,", " parserOptions: {", " parser: tsParser,", " ecmaVersion: \"latest\",", " sourceType: \"module\"", " }", " },", " rules: {", " \"vue/multi-word-component-names\": \"off\"", " }", " }", "];");
124
- }
125
- function indexHtml(projectName) {
126
- return lines("<!doctype html>", "<html lang=\"zh-CN\">", " <head>", " <meta charset=\"UTF-8\" />", " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />", ` <title>${escapeHtml(projectName)}</title>`, " </head>", " <body>", " <div id=\"app\"></div>", " <script type=\"module\" src=\"/src/main.ts\"></script>", " </body>", "</html>");
127
- }
128
- function readme(projectName) {
129
- return lines(`# ${projectName}`, "", "Vue 3 + Vite engineering scaffold.", "", "This preset is based on the company Vue stack shape used in freight-admin, but it only includes engineering infrastructure.", "It intentionally avoids business pages, admin routes, dashboards, permissions, and domain components.", "", "## Scripts", "", "- `npm run dev`", "- `npm run build`", "- `npm run preview`", "- `npm run lint`", "- `npm run typecheck`", "- `npm test`", "- `npm run test:e2e`", "- `npm run format`", "- `npm run harness -- <command>`", "- `npm run harness:init`", "- `npm run harness:check`", "- `npm run harness:clean`", "", "## Base layers", "", "- `src/utils` for shared helpers", "- `src/storage` for browser storage wrappers", "- `src/service` for API client setup", "- `src/styles` for project-wide styles", "- `src/styles/tokens.scss` for reusable UI restoration tokens", "- `src/features/<feature>` for page-specific types, fixtures, columns, calculations, and components", "- `tests/integration` for Vitest + Testing Library behavior tests", "- `tests/e2e` for Playwright browser smoke tests", "", "## UI restoration workflow", "", "Use the injected `ui-implementation` project skill and `.frontend-harness/guidance/latest.md` for the current harness plan.", "Use selected `.frontend-harness/knowledge` cards for project semantics, interactions, and visible states; keep provider design output as evidence.", "When visual restoration is required, follow the evidence contract in `.frontend-harness/guidance/latest.md`: keep design, actual, and diff artifacts plus comparison metadata and matching hashes under `.frontend-harness/`.", "Place project-native UI work under `src/features/<feature>` and verify it with the commands named by the harness plan.", "", "## Harness onboarding", "", "This scaffold includes `.frontend-harness/config.json` so verification commands are explicit.", "Run `npm run harness:init` after installing dependencies to inject the agent protocol into `AGENTS.md` and `CLAUDE.md`.", "Use `npm run harness -- <command>` for other harness commands so the project-local `frontend-harness` dependency is used.", "", "## Testing", "", "`npm test` runs Vitest in jsdom with Testing Library helpers from `tests/render.ts` and `tests/setup.ts`.", "`npm run test:e2e` runs Playwright against `npm run preview`; install Playwright browsers in environments that need browser smoke coverage.");
130
- }
131
130
  function tsconfig() {
132
131
  return json({
133
132
  compilerOptions: {
@@ -166,55 +165,4 @@ function tsconfigNode() {
166
165
  include: ["vite.config.mjs", "vitest.config.mjs", "playwright.config.mjs", "eslint.config.mjs", "postcss.config.mjs"]
167
166
  });
168
167
  }
169
- function viteConfig() {
170
- return lines("import { defineConfig } from \"vite\";", "import vue from \"@vitejs/plugin-vue\";", "import AutoImport from \"unplugin-auto-import/vite\";", "import Components from \"unplugin-vue-components/vite\";", "import { ElementPlusResolver } from \"unplugin-vue-components/resolvers\";", "import path from \"node:path\";", "import { fileURLToPath } from \"node:url\";", "", "const __dirname = path.dirname(fileURLToPath(import.meta.url));", "", "export default defineConfig({", " plugins: [", " vue(),", " AutoImport({", " imports: [\"vue\"],", " dts: \"src/types/auto-imports.d.ts\",", " resolvers: [ElementPlusResolver()]", " }),", " Components({", " dts: \"src/types/components.d.ts\",", " resolvers: [ElementPlusResolver()]", " })", " ],", " resolve: {", " alias: {", " \"@\": path.resolve(__dirname, \"src\")", " }", " },", " server: {", " host: true,", " hmr: { overlay: false }", " }", "});");
171
- }
172
- function vitestConfig() {
173
- return lines("import { defineConfig } from \"vitest/config\";", "import vue from \"@vitejs/plugin-vue\";", "import AutoImport from \"unplugin-auto-import/vite\";", "import Components from \"unplugin-vue-components/vite\";", "import { ElementPlusResolver } from \"unplugin-vue-components/resolvers\";", "import path from \"node:path\";", "import { fileURLToPath } from \"node:url\";", "", "const __dirname = path.dirname(fileURLToPath(import.meta.url));", "", "export default defineConfig({", " plugins: [", " vue(),", " AutoImport({", " imports: [\"vue\"],", " dts: false,", " resolvers: [ElementPlusResolver()]", " }),", " Components({", " dts: false,", " resolvers: [ElementPlusResolver()]", " })", " ],", " resolve: {", " alias: {", " \"@\": path.resolve(__dirname, \"src\")", " }", " },", " test: {", " environment: \"jsdom\",", " include: [\"tests/**/*.test.ts\"],", " setupFiles: [\"tests/setup.ts\"]", " }", "});");
174
- }
175
- function playwrightConfig() {
176
- return lines("import { defineConfig, devices } from \"@playwright/test\";", "", "export default defineConfig({", " testDir: \"./tests/e2e\",", " fullyParallel: true,", " reporter: [[\"list\"]],", " use: {", " baseURL: \"http://127.0.0.1:4173\",", " trace: \"retain-on-failure\"", " },", " webServer: {", " command: \"npm run preview -- --host 127.0.0.1 --port 4173 --strictPort\",", " url: \"http://127.0.0.1:4173\",", " reuseExistingServer: !process.env.CI,", " timeout: 120_000", " },", " projects: [", " {", " name: \"chromium-desktop\",", " testMatch: /desktop\\.spec\\.ts/,", " use: { ...devices[\"Desktop Chrome\"] }", " },", " {", " name: \"mobile-chrome\",", " testMatch: /mobile\\.spec\\.ts/,", " use: { ...devices[\"Pixel 7\"] }", " }", " ]", "});");
177
- }
178
- function appVue() {
179
- return lines("<template>", " <main class=\"app-shell\">", " <section class=\"hero\">", " <p class=\"eyebrow\">Vue scaffold</p>", " <h1>Engineering base is ready</h1>", " <p class=\"lead\">", " This scaffold carries the company Vue engineering baseline: Vite, TypeScript, Element Plus, auto imports, storage, utility, and service layers.", " </p>", " </section>", " <section class=\"grid\">", " <article>", " <h2>utils</h2>", " <p>Shared helpers and data shaping utilities.</p>", " </article>", " <article>", " <h2>storage</h2>", " <p>Browser storage wrappers with JSON handling.</p>", " </article>", " <article>", " <h2>service</h2>", " <p>API client setup and error normalization.</p>", " </article>", " </section>", " </main>", "</template>", "", "<style scoped lang=\"scss\">", ".app-shell {", " min-height: 100vh;", " padding: 48px 24px;", " background: #f6f8fb;", " color: #102030;", "}", "", ".hero {", " max-width: 960px;", " margin: 0 auto 32px;", "}", "", ".eyebrow {", " margin: 0 0 12px;", " font-size: 12px;", " letter-spacing: 0.12em;", " text-transform: uppercase;", " color: #5f6b7a;", "}", "", "h1 {", " margin: 0;", " font-size: 40px;", " line-height: 1.1;", "}", "", ".lead {", " max-width: 680px;", " margin: 16px 0 0;", " font-size: 16px;", " line-height: 1.75;", " color: #425466;", "}", "", ".grid {", " display: grid;", " grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));", " gap: 16px;", " max-width: 960px;", " margin: 0 auto;", "}", "", "article {", " padding: 20px;", " border: 1px solid #d7deea;", " border-radius: 8px;", " background: #fff;", "}", "", "h2 {", " margin: 0 0 8px;", " font-size: 18px;", "}", "", "p {", " margin: 0;", " line-height: 1.7;", "}", "</style>");
180
- }
181
- function envDts() {
182
- return lines("/// <reference types=\"vite/client\" />", "", "declare module \"*.vue\" {", " import type { DefineComponent } from \"vue\";", " const component: DefineComponent<{}, {}, any>;", " export default component;", "}");
183
- }
184
- function mainScss() {
185
- return lines("@use \"./tokens\" as *;", "", ":root {", " color-scheme: light;", " font-family: Inter, \"PingFang SC\", \"Microsoft YaHei\", sans-serif;", " line-height: 1.5;", " font-weight: 400;", " font-synthesis: none;", " text-rendering: optimizeLegibility;", " -webkit-font-smoothing: antialiased;", " -moz-osx-font-smoothing: grayscale;", "}", "", "* { box-sizing: border-box; }", "", "html, body, #app {", " min-height: 100%;", " margin: 0;", "}", "", "body { background: $color-surface-muted; }");
186
- }
187
- function styleTokens() {
188
- return lines("$color-surface: #ffffff;", "$color-surface-muted: #f6f8fb;", "$color-border: #d7deea;", "$color-text: #102030;", "$color-text-muted: #5f6b7a;", "$color-primary: #2563eb;", "$color-success: #16a34a;", "$color-warning: #d97706;", "$color-danger: #dc2626;", "", "$space-1: 4px;", "$space-2: 8px;", "$space-3: 12px;", "$space-4: 16px;", "$space-5: 20px;", "$space-6: 24px;", "", "$radius-control: 6px;", "$radius-card: 8px;", "$table-min-width: 960px;");
189
- }
190
- function utilsIndex() {
191
- return lines("export function isNil(value: unknown): value is null | undefined {", " return value === null || value === undefined;", "}", "", "export function isBlank(value: unknown): value is string {", " return typeof value === \"string\" && value.trim().length === 0;", "}", "", "export function pickDefined<T extends Record<string, unknown>>(value: T): Partial<T> {", " return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined)) as Partial<T>;", "}");
192
- }
193
- function storageIndex() {
194
- return lines("type StorageKind = \"local\" | \"session\";", "", "function resolveStorage(kind: StorageKind): Storage {", " return kind === \"session\" ? sessionStorage : localStorage;", "}", "", "export function createStorage(kind: StorageKind = \"local\") {", " const storage = resolveStorage(kind);", "", " return {", " get<T>(key: string): T | null {", " const raw = storage.getItem(key);", " if (raw === null) return null;", " try {", " return JSON.parse(raw) as T;", " } catch (error) {", " const message = error instanceof Error ? error.message : String(error);", " throw new Error(`Storage value for ${key} is not valid JSON: ${message}`);", " }", " },", " set<T>(key: string, value: T): void {", " storage.setItem(key, JSON.stringify(value));", " },", " remove(key: string): void {", " storage.removeItem(key);", " },", " clear(): void {", " storage.clear();", " }", " };", "}");
195
- }
196
- function serviceHttp() {
197
- return lines("import axios from \"axios\";", "", "export const http = axios.create({", " baseURL: import.meta.env.VITE_API_BASE_URL || \"/api\",", " timeout: 15_000", "});", "", "http.interceptors.response.use(", " (response) => response,", " (error) => Promise.reject(normalizeHttpError(error))", ");", "", "export function normalizeHttpError(error: unknown): Error {", " if (axios.isAxiosError(error)) {", " return new Error(error.response?.data?.message || error.message || \"Request failed\");", " }", " return error instanceof Error ? error : new Error(String(error));", "}");
198
- }
199
- function testSetup() {
200
- return lines("import \"@testing-library/jest-dom/vitest\";", "import { cleanup } from \"@testing-library/vue\";", "import { afterEach } from \"vitest\";", "", "afterEach(() => {", " cleanup();", "});");
201
- }
202
- function testRender() {
203
- return lines("import { render } from \"@testing-library/vue\";", "import type { Component } from \"vue\";", "", "export function renderPage(component: Component) {", " return render(component);", "}");
204
- }
205
- function appIntegrationTest() {
206
- return lines("import { screen } from \"@testing-library/vue\";", "import { describe, expect, it } from \"vitest\";", "import App from \"../../src/App.vue\";", "import { renderPage } from \"../render\";", "", "describe(\"scaffold app\", () => {", " it(\"renders the engineering baseline sections\", () => {", " renderPage(App);", "", " expect(screen.getByRole(\"heading\", { level: 1, name: \"Engineering base is ready\" })).toBeInTheDocument();", " expect(screen.getByRole(\"heading\", { level: 2, name: \"utils\" })).toBeInTheDocument();", " expect(screen.getByRole(\"heading\", { level: 2, name: \"storage\" })).toBeInTheDocument();", " expect(screen.getByRole(\"heading\", { level: 2, name: \"service\" })).toBeInTheDocument();", " });", "});");
207
- }
208
- function appDesktopE2eTest() {
209
- return lines("import { expect, test } from \"@playwright/test\";", "", "test(\"desktop smoke renders the scaffold shell\", async ({ page }) => {", " await page.goto(\"/\");", "", " await expect(page.getByRole(\"heading\", { level: 1, name: \"Engineering base is ready\" })).toBeVisible();", " await expect(page.getByRole(\"heading\", { level: 2, name: \"utils\" })).toBeVisible();", " await expect(page.getByRole(\"heading\", { level: 2, name: \"storage\" })).toBeVisible();", " await expect(page.getByRole(\"heading\", { level: 2, name: \"service\" })).toBeVisible();", "});");
210
- }
211
- function appMobileE2eTest() {
212
- return lines("import { expect, test } from \"@playwright/test\";", "", "test(\"mobile smoke keeps scaffold content in the viewport\", async ({ page }) => {", " await page.goto(\"/\");", "", " await expect(page.getByRole(\"heading\", { level: 1, name: \"Engineering base is ready\" })).toBeVisible();", " const documentOverflow = await page.evaluate(() => document.documentElement.scrollWidth > document.documentElement.clientWidth);", " expect(documentOverflow).toBe(false);", "});");
213
- }
214
- function escapeHtml(value) {
215
- return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
216
- }
217
- function json(value) {
218
- return `${JSON.stringify(value, null, 2)}\n`;
219
- }
220
168
  //# sourceMappingURL=vue-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vue-template.js","sourceRoot":"","sources":["../../../src/runtime/scaffold/vue-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue-template.js","sourceRoot":"","sources":["../../../src/runtime/scaffold/vue-template.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,5 @@ export interface ScaffoldResult {
18
18
  force: boolean;
19
19
  files: ScaffoldFileResult[];
20
20
  }
21
+ export declare function isScaffoldPresetName(value: string): value is ScaffoldPresetName;
21
22
  export declare function scaffoldProject(projectRoot: string, options: ScaffoldOptions): ScaffoldResult;
@@ -1,8 +1,18 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { buildVueScaffoldFiles, toPackageName } from "./scaffold/vue-template.js";
4
+ const SCAFFOLD_PRESETS = {
5
+ vue: {
6
+ name: "vue",
7
+ buildFiles: buildVueScaffoldFiles
8
+ }
9
+ };
10
+ export function isScaffoldPresetName(value) {
11
+ return value in SCAFFOLD_PRESETS;
12
+ }
4
13
  export function scaffoldProject(projectRoot, options) {
5
- if (options.preset !== "vue") {
14
+ const preset = SCAFFOLD_PRESETS[options.preset];
15
+ if (!preset) {
6
16
  throw new Error(`Unsupported scaffold preset: ${options.preset}`);
7
17
  }
8
18
  if (!options.target.trim()) {
@@ -29,7 +39,7 @@ export function scaffoldProject(projectRoot, options) {
29
39
  }
30
40
  const projectName = toPackageName(path.basename(targetPath));
31
41
  const results = [];
32
- for (const file of buildVueScaffoldFiles(projectName)) {
42
+ for (const file of preset.buildFiles(projectName)) {
33
43
  const fullPath = path.join(targetPath, file.path);
34
44
  assertSafeScaffoldFilePath(projectRoot, fullPath, file.path);
35
45
  const current = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, "utf8") : null;
@@ -46,7 +56,7 @@ export function scaffoldProject(projectRoot, options) {
46
56
  }
47
57
  return {
48
58
  status: options.dryRun ? "dry-run" : "passed",
49
- preset: options.preset,
59
+ preset: preset.name,
50
60
  target: targetRelative ? targetRelative.split(path.sep).join("/") : ".",
51
61
  projectName,
52
62
  dryRun: Boolean(options.dryRun),
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/runtime/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/runtime/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "frontend-harness",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
7
+ "templates/scaffold",
7
8
  "docs/RELEASE.md",
8
9
  "docs/DIRECTION.md",
9
10
  "CHANGELOG.md",
@@ -0,0 +1 @@
1
+ npx lint-staged
@@ -0,0 +1,50 @@
1
+ # {{projectName}}
2
+
3
+ Vue 3 + Vite engineering scaffold.
4
+
5
+ This preset is based on the company Vue stack shape used in freight-admin, but it only includes engineering infrastructure.
6
+ It intentionally avoids business pages, admin routes, dashboards, permissions, and domain components.
7
+
8
+ ## Scripts
9
+
10
+ - `npm run dev`
11
+ - `npm run build`
12
+ - `npm run preview`
13
+ - `npm run lint`
14
+ - `npm run typecheck`
15
+ - `npm test`
16
+ - `npm run test:e2e`
17
+ - `npm run format`
18
+ - `npm run harness -- <command>`
19
+ - `npm run harness:init`
20
+ - `npm run harness:check`
21
+ - `npm run harness:clean`
22
+
23
+ ## Base layers
24
+
25
+ - `src/utils` for shared helpers
26
+ - `src/storage` for browser storage wrappers
27
+ - `src/service` for API client setup
28
+ - `src/styles` for project-wide styles
29
+ - `src/styles/tokens.scss` for reusable UI restoration tokens
30
+ - `src/features/<feature>` for page-specific types, fixtures, columns, calculations, and components
31
+ - `tests/integration` for Vitest + Testing Library behavior tests
32
+ - `tests/e2e` for Playwright browser smoke tests
33
+
34
+ ## UI restoration workflow
35
+
36
+ Use the injected `ui-implementation` project skill and `.frontend-harness/guidance/latest.md` for the current harness plan.
37
+ Use selected `.frontend-harness/knowledge` cards for project semantics, interactions, and visible states; keep provider design output as evidence.
38
+ When visual restoration is required, follow the evidence contract in `.frontend-harness/guidance/latest.md`: keep design, actual, and diff artifacts plus comparison metadata and matching hashes under `.frontend-harness/`.
39
+ Place project-native UI work under `src/features/<feature>` and verify it with the commands named by the harness plan.
40
+
41
+ ## Harness onboarding
42
+
43
+ This scaffold includes `.frontend-harness/config.json` so verification commands are explicit.
44
+ Run `npm run harness:init` after installing dependencies to inject the agent protocol into `AGENTS.md` and `CLAUDE.md`.
45
+ Use `npm run harness -- <command>` for other harness commands so the project-local `frontend-harness` dependency is used.
46
+
47
+ ## Testing
48
+
49
+ `npm test` runs Vitest in jsdom with Testing Library helpers from `tests/render.ts` and `tests/setup.ts`.
50
+ `npm run test:e2e` runs Playwright against `npm run preview`; install Playwright browsers in environments that need browser smoke coverage.
@@ -0,0 +1,49 @@
1
+ import js from "@eslint/js";
2
+ import prettier from "eslint-config-prettier";
3
+ import vue from "eslint-plugin-vue";
4
+ import vueParser from "vue-eslint-parser";
5
+ import tsParser from "@typescript-eslint/parser";
6
+
7
+ export default [
8
+ {
9
+ ignores: ["dist/**", "node_modules/**"]
10
+ },
11
+ js.configs.recommended,
12
+ ...vue.configs["flat/essential"],
13
+ prettier,
14
+ {
15
+ languageOptions: {
16
+ globals: {
17
+ document: "readonly",
18
+ localStorage: "readonly",
19
+ sessionStorage: "readonly",
20
+ Storage: "readonly",
21
+ window: "readonly"
22
+ }
23
+ }
24
+ },
25
+ {
26
+ files: ["**/*.{ts,tsx}"],
27
+ languageOptions: {
28
+ parser: tsParser,
29
+ parserOptions: {
30
+ ecmaVersion: "latest",
31
+ sourceType: "module"
32
+ }
33
+ }
34
+ },
35
+ {
36
+ files: ["**/*.vue"],
37
+ languageOptions: {
38
+ parser: vueParser,
39
+ parserOptions: {
40
+ parser: tsParser,
41
+ ecmaVersion: "latest",
42
+ sourceType: "module"
43
+ }
44
+ },
45
+ rules: {
46
+ "vue/multi-word-component-names": "off"
47
+ }
48
+ }
49
+ ];
@@ -0,0 +1,23 @@
1
+ node_modules
2
+ dist
3
+ coverage
4
+ .DS_Store
5
+ *.log
6
+ .vite
7
+ playwright-report
8
+ test-results
9
+ src/types/auto-imports.d.ts
10
+ src/types/components.d.ts
11
+
12
+ # frontend-harness generated runtime evidence
13
+ .frontend-harness/context/
14
+ .frontend-harness/plans/
15
+ .frontend-harness/execution-units/
16
+ .frontend-harness/component-graph/
17
+ .frontend-harness/guidance/
18
+ .frontend-harness/state.json
19
+ .frontend-harness/verification/
20
+ .frontend-harness/logs/
21
+ .frontend-harness/repair/
22
+ .frontend-harness/repair-decision/
23
+ .frontend-harness/state-explain/
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>{{projectNameHtml}}</title>
7
+ </head>
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="/src/main.ts"></script>
11
+ </body>
12
+ </html>
@@ -0,0 +1,29 @@
1
+ import { defineConfig, devices } from "@playwright/test";
2
+
3
+ export default defineConfig({
4
+ testDir: "./tests/e2e",
5
+ fullyParallel: true,
6
+ reporter: [["list"]],
7
+ use: {
8
+ baseURL: "http://127.0.0.1:4173",
9
+ trace: "retain-on-failure"
10
+ },
11
+ webServer: {
12
+ command: "npm run preview -- --host 127.0.0.1 --port 4173 --strictPort",
13
+ url: "http://127.0.0.1:4173",
14
+ reuseExistingServer: !process.env.CI,
15
+ timeout: 120_000
16
+ },
17
+ projects: [
18
+ {
19
+ name: "chromium-desktop",
20
+ testMatch: /desktop\.spec\.ts/,
21
+ use: { ...devices["Desktop Chrome"] }
22
+ },
23
+ {
24
+ name: "mobile-chrome",
25
+ testMatch: /mobile\.spec\.ts/,
26
+ use: { ...devices["Pixel 7"] }
27
+ }
28
+ ]
29
+ });
@@ -0,0 +1,5 @@
1
+ export default {
2
+ plugins: {
3
+ autoprefixer: {}
4
+ }
5
+ };
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <HomeView />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import HomeView from "@/features/home/HomeView.vue";
7
+ </script>
@@ -0,0 +1,7 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ declare module "*.vue" {
4
+ import type { DefineComponent } from "vue";
5
+ const component: DefineComponent<{}, {}, any>;
6
+ export default component;
7
+ }
@@ -0,0 +1,86 @@
1
+ <template>
2
+ <main class="app-shell">
3
+ <section class="hero">
4
+ <p class="eyebrow">Vue scaffold</p>
5
+ <h1>Engineering base is ready</h1>
6
+ <p class="lead">
7
+ This scaffold carries the company Vue engineering baseline: Vite, TypeScript, Element Plus, auto imports, storage, utility, and service layers.
8
+ </p>
9
+ </section>
10
+ <section class="grid">
11
+ <article>
12
+ <h2>utils</h2>
13
+ <p>Shared helpers and data shaping utilities.</p>
14
+ </article>
15
+ <article>
16
+ <h2>storage</h2>
17
+ <p>Browser storage wrappers with JSON handling.</p>
18
+ </article>
19
+ <article>
20
+ <h2>service</h2>
21
+ <p>API client setup and error normalization.</p>
22
+ </article>
23
+ </section>
24
+ </main>
25
+ </template>
26
+
27
+ <style scoped lang="scss">
28
+ .app-shell {
29
+ min-height: 100vh;
30
+ padding: 48px 24px;
31
+ background: #f6f8fb;
32
+ color: #102030;
33
+ }
34
+
35
+ .hero {
36
+ max-width: 960px;
37
+ margin: 0 auto 32px;
38
+ }
39
+
40
+ .eyebrow {
41
+ margin: 0 0 12px;
42
+ font-size: 12px;
43
+ letter-spacing: 0.12em;
44
+ text-transform: uppercase;
45
+ color: #5f6b7a;
46
+ }
47
+
48
+ h1 {
49
+ margin: 0;
50
+ font-size: 40px;
51
+ line-height: 1.1;
52
+ }
53
+
54
+ .lead {
55
+ max-width: 680px;
56
+ margin: 16px 0 0;
57
+ font-size: 16px;
58
+ line-height: 1.75;
59
+ color: #425466;
60
+ }
61
+
62
+ .grid {
63
+ display: grid;
64
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
65
+ gap: 16px;
66
+ max-width: 960px;
67
+ margin: 0 auto;
68
+ }
69
+
70
+ article {
71
+ padding: 20px;
72
+ border: 1px solid #d7deea;
73
+ border-radius: 8px;
74
+ background: #fff;
75
+ }
76
+
77
+ h2 {
78
+ margin: 0 0 8px;
79
+ font-size: 18px;
80
+ }
81
+
82
+ p {
83
+ margin: 0;
84
+ line-height: 1.7;
85
+ }
86
+ </style>
@@ -0,0 +1,5 @@
1
+ import { createApp } from "vue";
2
+ import App from "./App.vue";
3
+ import "./styles/main.scss";
4
+
5
+ createApp(App).mount("#app");
@@ -0,0 +1,18 @@
1
+ import axios from "axios";
2
+
3
+ export const http = axios.create({
4
+ baseURL: import.meta.env.VITE_API_BASE_URL || "/api",
5
+ timeout: 15_000
6
+ });
7
+
8
+ http.interceptors.response.use(
9
+ (response) => response,
10
+ (error) => Promise.reject(normalizeHttpError(error))
11
+ );
12
+
13
+ export function normalizeHttpError(error: unknown): Error {
14
+ if (axios.isAxiosError(error)) {
15
+ return new Error(error.response?.data?.message || error.message || "Request failed");
16
+ }
17
+ return error instanceof Error ? error : new Error(String(error));
18
+ }
@@ -0,0 +1 @@
1
+ export { http, normalizeHttpError } from "./http";
@@ -0,0 +1,31 @@
1
+ type StorageKind = "local" | "session";
2
+
3
+ function resolveStorage(kind: StorageKind): Storage {
4
+ return kind === "session" ? sessionStorage : localStorage;
5
+ }
6
+
7
+ export function createStorage(kind: StorageKind = "local") {
8
+ const storage = resolveStorage(kind);
9
+
10
+ return {
11
+ get<T>(key: string): T | null {
12
+ const raw = storage.getItem(key);
13
+ if (raw === null) return null;
14
+ try {
15
+ return JSON.parse(raw) as T;
16
+ } catch (error) {
17
+ const message = error instanceof Error ? error.message : String(error);
18
+ throw new Error(`Storage value for ${key} is not valid JSON: ${message}`);
19
+ }
20
+ },
21
+ set<T>(key: string, value: T): void {
22
+ storage.setItem(key, JSON.stringify(value));
23
+ },
24
+ remove(key: string): void {
25
+ storage.removeItem(key);
26
+ },
27
+ clear(): void {
28
+ storage.clear();
29
+ }
30
+ };
31
+ }
@@ -0,0 +1,21 @@
1
+ @use "./tokens" as *;
2
+
3
+ :root {
4
+ color-scheme: light;
5
+ font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
6
+ line-height: 1.5;
7
+ font-weight: 400;
8
+ font-synthesis: none;
9
+ text-rendering: optimizeLegibility;
10
+ -webkit-font-smoothing: antialiased;
11
+ -moz-osx-font-smoothing: grayscale;
12
+ }
13
+
14
+ * { box-sizing: border-box; }
15
+
16
+ html, body, #app {
17
+ min-height: 100%;
18
+ margin: 0;
19
+ }
20
+
21
+ body { background: $color-surface-muted; }
@@ -0,0 +1,20 @@
1
+ $color-surface: #ffffff;
2
+ $color-surface-muted: #f6f8fb;
3
+ $color-border: #d7deea;
4
+ $color-text: #102030;
5
+ $color-text-muted: #5f6b7a;
6
+ $color-primary: #2563eb;
7
+ $color-success: #16a34a;
8
+ $color-warning: #d97706;
9
+ $color-danger: #dc2626;
10
+
11
+ $space-1: 4px;
12
+ $space-2: 8px;
13
+ $space-3: 12px;
14
+ $space-4: 16px;
15
+ $space-5: 20px;
16
+ $space-6: 24px;
17
+
18
+ $radius-control: 6px;
19
+ $radius-card: 8px;
20
+ $table-min-width: 960px;
@@ -0,0 +1,11 @@
1
+ export function isNil(value: unknown): value is null | undefined {
2
+ return value === null || value === undefined;
3
+ }
4
+
5
+ export function isBlank(value: unknown): value is string {
6
+ return typeof value === "string" && value.trim().length === 0;
7
+ }
8
+
9
+ export function pickDefined<T extends Record<string, unknown>>(value: T): Partial<T> {
10
+ return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined)) as Partial<T>;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { expect, test } from "@playwright/test";
2
+
3
+ test("desktop smoke renders the scaffold shell", async ({ page }) => {
4
+ await page.goto("/");
5
+
6
+ await expect(page.getByRole("heading", { level: 1, name: "Engineering base is ready" })).toBeVisible();
7
+ await expect(page.getByRole("heading", { level: 2, name: "utils" })).toBeVisible();
8
+ await expect(page.getByRole("heading", { level: 2, name: "storage" })).toBeVisible();
9
+ await expect(page.getByRole("heading", { level: 2, name: "service" })).toBeVisible();
10
+ });
@@ -0,0 +1,9 @@
1
+ import { expect, test } from "@playwright/test";
2
+
3
+ test("mobile smoke keeps scaffold content in the viewport", async ({ page }) => {
4
+ await page.goto("/");
5
+
6
+ await expect(page.getByRole("heading", { level: 1, name: "Engineering base is ready" })).toBeVisible();
7
+ const documentOverflow = await page.evaluate(() => document.documentElement.scrollWidth > document.documentElement.clientWidth);
8
+ expect(documentOverflow).toBe(false);
9
+ });
@@ -0,0 +1,15 @@
1
+ import { screen } from "@testing-library/vue";
2
+ import { describe, expect, it } from "vitest";
3
+ import App from "../../src/App.vue";
4
+ import { renderPage } from "../render";
5
+
6
+ describe("scaffold app", () => {
7
+ it("renders the engineering baseline sections", () => {
8
+ renderPage(App);
9
+
10
+ expect(screen.getByRole("heading", { level: 1, name: "Engineering base is ready" })).toBeInTheDocument();
11
+ expect(screen.getByRole("heading", { level: 2, name: "utils" })).toBeInTheDocument();
12
+ expect(screen.getByRole("heading", { level: 2, name: "storage" })).toBeInTheDocument();
13
+ expect(screen.getByRole("heading", { level: 2, name: "service" })).toBeInTheDocument();
14
+ });
15
+ });
@@ -0,0 +1,6 @@
1
+ import { render } from "@testing-library/vue";
2
+ import type { Component } from "vue";
3
+
4
+ export function renderPage(component: Component) {
5
+ return render(component);
6
+ }
@@ -0,0 +1,7 @@
1
+ import "@testing-library/jest-dom/vitest";
2
+ import { cleanup } from "@testing-library/vue";
3
+ import { afterEach } from "vitest";
4
+
5
+ afterEach(() => {
6
+ cleanup();
7
+ });
@@ -0,0 +1,33 @@
1
+ import { defineConfig } from "vite";
2
+ import vue from "@vitejs/plugin-vue";
3
+ import AutoImport from "unplugin-auto-import/vite";
4
+ import Components from "unplugin-vue-components/vite";
5
+ import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
6
+ import path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
+
11
+ export default defineConfig({
12
+ plugins: [
13
+ vue(),
14
+ AutoImport({
15
+ imports: ["vue"],
16
+ dts: "src/types/auto-imports.d.ts",
17
+ resolvers: [ElementPlusResolver()]
18
+ }),
19
+ Components({
20
+ dts: "src/types/components.d.ts",
21
+ resolvers: [ElementPlusResolver()]
22
+ })
23
+ ],
24
+ resolve: {
25
+ alias: {
26
+ "@": path.resolve(__dirname, "src")
27
+ }
28
+ },
29
+ server: {
30
+ host: true,
31
+ hmr: { overlay: false }
32
+ }
33
+ });
@@ -0,0 +1,34 @@
1
+ import { defineConfig } from "vitest/config";
2
+ import vue from "@vitejs/plugin-vue";
3
+ import AutoImport from "unplugin-auto-import/vite";
4
+ import Components from "unplugin-vue-components/vite";
5
+ import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
6
+ import path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
+
11
+ export default defineConfig({
12
+ plugins: [
13
+ vue(),
14
+ AutoImport({
15
+ imports: ["vue"],
16
+ dts: false,
17
+ resolvers: [ElementPlusResolver()]
18
+ }),
19
+ Components({
20
+ dts: false,
21
+ resolvers: [ElementPlusResolver()]
22
+ })
23
+ ],
24
+ resolve: {
25
+ alias: {
26
+ "@": path.resolve(__dirname, "src")
27
+ }
28
+ },
29
+ test: {
30
+ environment: "jsdom",
31
+ include: ["tests/**/*.test.ts"],
32
+ setupFiles: ["tests/setup.ts"]
33
+ }
34
+ });