@h-ai/cli 0.1.0-alpha.65 → 0.1.0-alpha.67

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 (141) hide show
  1. package/README.en.md +66 -251
  2. package/README.ja.md +67 -252
  3. package/README.md +66 -251
  4. package/dist/{chunk-47V5OT22.js → chunk-7DSURTJ4.js} +32 -115
  5. package/dist/chunk-7DSURTJ4.js.map +1 -0
  6. package/dist/{chunk-IPG3QNYK.js → chunk-AOQ4N657.js} +212 -8
  7. package/dist/chunk-AOQ4N657.js.map +1 -0
  8. package/dist/cli-config-templates-6AHNUGBN.js +5 -0
  9. package/dist/{cli-config-templates-SJ2MBIR7.js.map → cli-config-templates-6AHNUGBN.js.map} +1 -1
  10. package/dist/{cli-skill-templates-A5VIR5J6.js → cli-skill-templates-FC3QRKDO.js} +3 -3
  11. package/dist/{cli-skill-templates-A5VIR5J6.js.map → cli-skill-templates-FC3QRKDO.js.map} +1 -1
  12. package/dist/index.js +644 -391
  13. package/dist/index.js.map +1 -1
  14. package/dist/{src-6PPBKQ6Q.js → src-2V6VP4I5.js} +972 -520
  15. package/dist/src-2V6VP4I5.js.map +1 -0
  16. package/package.json +8 -8
  17. package/templates/README.md +48 -145
  18. package/templates/apps/admin/src/routes/admin/+layout.svelte.hbs +1 -1
  19. package/templates/apps/api/.dockerignore.hbs +18 -12
  20. package/templates/apps/api/.gitignore.hbs +9 -1
  21. package/templates/apps/api/apps/{{projectName}}-contract/README.md.hbs +23 -2
  22. package/templates/apps/api/apps/{{projectName}}-service/README.md.hbs +28 -7
  23. package/templates/apps/api/apps/{{projectName}}-service/package.json.hbs +1 -3
  24. package/templates/apps/api/hai.build.json.hbs +1 -0
  25. package/templates/apps/api/images/app.Dockerfile.hbs +35 -0
  26. package/templates/apps/api/package.json.hbs +10 -8
  27. package/templates/apps/fullstack/.dockerignore.hbs +18 -14
  28. package/templates/apps/fullstack/.gitignore.hbs +9 -1
  29. package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +23 -8
  30. package/templates/apps/fullstack/apps/{{projectName}}-app/index.html.hbs +1 -0
  31. package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +0 -2
  32. package/templates/apps/fullstack/apps/{{projectName}}-app/public/runtime-config.js.hbs +4 -0
  33. package/templates/apps/fullstack/apps/{{projectName}}-app/vite.config.ts.hbs +3 -3
  34. package/templates/apps/fullstack/apps/{{projectName}}-desktop/README.md.hbs +25 -10
  35. package/templates/apps/fullstack/apps/{{projectName}}-desktop/package.json.hbs +2 -3
  36. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src-tauri/src/lib.rs.hbs +73 -2
  37. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src-tauri/tauri.conf.json.hbs +2 -2
  38. package/templates/apps/fullstack/apps/{{projectName}}-desktop/vite.config.ts.hbs +2 -2
  39. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/README.md.hbs +16 -6
  40. package/templates/apps/fullstack/apps/{{projectName}}-web/README.md.hbs +24 -10
  41. package/templates/apps/fullstack/apps/{{projectName}}-web/package.json.hbs +0 -2
  42. package/templates/apps/fullstack/apps/{{projectName}}-web/vite.config.ts.hbs +3 -3
  43. package/templates/apps/fullstack/e2e/fullstack.spec.ts.hbs +12 -1
  44. package/templates/apps/fullstack/hai.build.json.hbs +7 -0
  45. package/templates/apps/fullstack/images/app.Dockerfile.hbs +36 -0
  46. package/templates/apps/fullstack/images/web.Dockerfile.hbs +34 -0
  47. package/templates/apps/fullstack/package.json.hbs +7 -12
  48. package/templates/apps/fullstack/packages/{{projectName}}-contract/README.md.hbs +23 -2
  49. package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +28 -7
  50. package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +0 -1
  51. package/templates/apps/fullstack/packages/{{projectName}}-shared/.gitignore.hbs +7 -0
  52. package/templates/apps/fullstack/packages/{{projectName}}-shared/README.md.hbs +33 -12
  53. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AppShell.svelte.hbs +2 -2
  54. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/settings.svelte.hbs +3 -3
  55. package/templates/apps/fullstack/packages/{{projectName}}-shared/tests/api-client.test.ts.hbs +2 -2
  56. package/templates/apps/h5/src/routes/+layout.svelte.hbs +2 -2
  57. package/templates/apps/mobile-app/index.html.hbs +1 -0
  58. package/templates/apps/mobile-app/public/runtime-config.js +1 -0
  59. package/templates/apps/mobile-app/src/App.svelte.hbs +2 -2
  60. package/templates/apps/mobile-app/src/lib/api.ts.hbs +2 -1
  61. package/templates/apps/mobile-app/src/lib/app-config.ts.hbs +3 -2
  62. package/templates/apps/mobile-app/src/lib/pages/home.svelte.hbs +2 -2
  63. package/templates/apps/website/src/routes/+layout.svelte.hbs +3 -3
  64. package/templates/apps/website/src/routes/services/+page.svelte.hbs +1 -1
  65. package/templates/base/.dockerignore.hbs +18 -13
  66. package/templates/base/.gitignore.hbs +9 -1
  67. package/templates/base/e2e/app.spec.ts.hbs +10 -0
  68. package/templates/base/hai.build.json.hbs +1 -0
  69. package/templates/base/images/app.Dockerfile.hbs +64 -0
  70. package/templates/base/{docker → images/web}/nginx.conf.hbs +6 -0
  71. package/templates/base/package.json.hbs +20 -19
  72. package/templates/base/svelte.config.js.hbs +2 -0
  73. package/templates/base/vite.config.ts.hbs +9 -3
  74. package/templates/shared/.gitattributes +11 -0
  75. package/templates/shared/container-runtime-config.sh +30 -0
  76. package/templates/shared/run-e2e.mjs +65 -0
  77. package/templates/shared/vite-runtime-config.ts +54 -0
  78. package/templates/skills/AGENTS.md +3 -3
  79. package/templates/skills/bridges/admin/AGENTS.md +1 -1
  80. package/templates/skills/bridges/api/AGENTS.md +1 -1
  81. package/templates/skills/bridges/fullstack/AGENTS.md.hbs +1 -1
  82. package/templates/skills/bridges/h5/AGENTS.md +1 -1
  83. package/templates/skills/bridges/mobile-app/AGENTS.md +1 -1
  84. package/templates/skills/bridges/website/AGENTS.md +1 -1
  85. package/templates/skills/hai-api-client/SKILL.md +14 -161
  86. package/templates/skills/hai-api-client/reference.md +166 -0
  87. package/templates/skills/hai-api-contract/SKILL.md +15 -273
  88. package/templates/skills/hai-api-contract/reference.md +278 -0
  89. package/templates/skills/hai-app-create/SKILL.md +2 -2
  90. package/templates/skills/hai-app-create/development.md +6 -4
  91. package/templates/skills/hai-app-create/reference.md +5 -4
  92. package/templates/skills/hai-app-review/SKILL.md +1 -1
  93. package/templates/skills/hai-app-tests/SKILL.md +4 -3
  94. package/templates/skills/hai-app-tests/reference.md +2 -2
  95. package/templates/skills/hai-app-tests/validation.md +31 -0
  96. package/templates/skills/hai-audit/SKILL.md +17 -142
  97. package/templates/skills/hai-audit/reference.md +145 -0
  98. package/templates/skills/hai-build/SKILL.md +24 -3
  99. package/templates/skills/hai-build/reference.md +10 -9
  100. package/templates/skills/hai-cache/SKILL.md +15 -182
  101. package/templates/skills/hai-cache/reference.md +187 -0
  102. package/templates/skills/hai-capacitor/SKILL.md +4 -3
  103. package/templates/skills/hai-capacitor/reference.md +6 -4
  104. package/templates/skills/hai-ci/SKILL.md +2 -0
  105. package/templates/skills/hai-core/SKILL.md +3 -3
  106. package/templates/skills/hai-crypto/SKILL.md +16 -252
  107. package/templates/skills/hai-crypto/reference.md +256 -0
  108. package/templates/skills/hai-datapipe/SKILL.md +15 -196
  109. package/templates/skills/hai-datapipe/reference.md +202 -0
  110. package/templates/skills/hai-deploy/SKILL.md +28 -271
  111. package/templates/skills/hai-deploy/middleware.md +6 -18
  112. package/templates/skills/hai-framework-sync/SKILL.md +2 -2
  113. package/templates/skills/hai-framework-sync/sync.md +1 -1
  114. package/templates/skills/hai-iam/SKILL.md +1 -3
  115. package/templates/skills/hai-kit/SKILL.md +12 -167
  116. package/templates/skills/hai-kit/reference.md +172 -0
  117. package/templates/skills/hai-payment/SKILL.md +19 -251
  118. package/templates/skills/hai-payment/reference.md +256 -0
  119. package/templates/skills/hai-pr-review/SKILL.md +4 -4
  120. package/templates/skills/hai-reach/SKILL.md +2 -2
  121. package/templates/skills/hai-reldb/SKILL.md +1 -1
  122. package/templates/skills/hai-scheduler/SKILL.md +15 -195
  123. package/templates/skills/hai-scheduler/reference.md +202 -0
  124. package/templates/skills/hai-serv/SKILL.md +2 -2
  125. package/templates/skills/hai-spec-implement/SKILL.md +1 -1
  126. package/templates/skills/hai-spec-implement/workflow.md +3 -3
  127. package/templates/skills/hai-storage/SKILL.md +17 -238
  128. package/templates/skills/hai-storage/reference.md +243 -0
  129. package/templates/skills/hai-ui/SKILL.md +1 -1
  130. package/templates/skills/hai-ui/reference.md +11 -5
  131. package/templates/skills/hai-vecdb/SKILL.md +2 -2
  132. package/dist/chunk-47V5OT22.js.map +0 -1
  133. package/dist/chunk-IPG3QNYK.js.map +0 -1
  134. package/dist/cli-config-templates-SJ2MBIR7.js +0 -5
  135. package/dist/src-6PPBKQ6Q.js.map +0 -1
  136. package/templates/apps/api/Dockerfile.hbs +0 -48
  137. package/templates/apps/fullstack/Dockerfile.hbs +0 -69
  138. package/templates/base/Dockerfile.hbs +0 -79
  139. /package/templates/apps/fullstack/{docker → images/web}/19-runtime-config.envsh.hbs +0 -0
  140. /package/templates/apps/fullstack/{docker → images/web}/nginx.conf.hbs +0 -0
  141. /package/templates/apps/fullstack/{docker → images/web}/runtime-config.js.template.hbs +0 -0
@@ -1,48 +0,0 @@
1
- # syntax=docker/dockerfile:1.7
2
- FROM node:24-bookworm-slim AS build
3
- ARG SQLITE_PREBUILD_MIRROR
4
- ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
5
- ARG HAI_DEPLOY_ENVIRONMENT=prod
6
- ARG HAI_CORE_ENV=production
7
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
8
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
9
-
10
- ENV PNPM_HOME=/pnpm
11
- ENV PATH=$PNPM_HOME:$PATH
12
- ENV CI=true
13
- WORKDIR /workspace
14
-
15
- RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
16
- COPY pnpm-lock.yaml pnpm-workspace.yaml ./
17
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
18
- COPY . .
19
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
20
- RUN pnpm build
21
- RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
22
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{api.servicePackageName}} --prod /prod/app
23
-
24
- FROM node:24-bookworm-slim AS runtime-base
25
- ARG HAI_DEPLOY_ENVIRONMENT=prod
26
- ARG HAI_CORE_ENV=production
27
-
28
- ENV NODE_ENV=production
29
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
30
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
31
- ENV HOST=0.0.0.0
32
- ENV PORT=3000
33
- WORKDIR /app
34
-
35
- COPY --from=build --chown=node:node /prod/app ./
36
- RUN mkdir -p /app/data && chown node:node /app/data
37
-
38
- USER node
39
- EXPOSE 3000
40
- HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
41
- CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
42
- CMD ["node", "dist/index.js"]
43
-
44
- FROM runtime-base AS runtime-with-data
45
-
46
- COPY --from=embedded-data --chown=node:node / /app/data/
47
-
48
- FROM runtime-base AS runtime
@@ -1,69 +0,0 @@
1
- # syntax=docker/dockerfile:1.7
2
- FROM node:24-bookworm-slim AS build
3
- ARG SQLITE_PREBUILD_MIRROR
4
- ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
5
- ARG HAI_DEPLOY_ENVIRONMENT=prod
6
- ARG HAI_CORE_ENV=production
7
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
8
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
9
-
10
- ENV PNPM_HOME=/pnpm
11
- ENV PATH=$PNPM_HOME:$PATH
12
- ENV CI=true
13
- WORKDIR /workspace
14
-
15
- RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
16
- COPY pnpm-lock.yaml pnpm-workspace.yaml ./
17
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
18
- COPY . .
19
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
20
- RUN pnpm build
21
-
22
- FROM build AS service-build
23
-
24
- RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
25
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{fullstack.servPackageName}} --prod /prod/service
26
-
27
- FROM node:24-bookworm-slim AS service
28
- ARG HAI_DEPLOY_ENVIRONMENT=prod
29
- ARG HAI_CORE_ENV=production
30
-
31
- ENV NODE_ENV=production
32
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
33
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
34
- ENV HOST=0.0.0.0
35
- ENV PORT=3000
36
- WORKDIR /app
37
-
38
- COPY --from=service-build --chown=node:node /prod/service ./
39
- RUN mkdir -p /app/data && chown node:node /app/data
40
-
41
- USER node
42
- EXPOSE 3000
43
- HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
44
- CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
45
- CMD ["node", "dist/index.js"]
46
-
47
- FROM service AS runtime-with-data
48
-
49
- COPY --from=embedded-data --chown=node:node / /app/data/
50
-
51
- FROM service AS runtime
52
-
53
- {{#if fullstack.frontends.web}}
54
- FROM nginxinc/nginx-unprivileged:1.29-alpine AS web
55
-
56
- ENV PUBLIC_API_BASE=
57
- ENV NGINX_ENVSUBST_FILTER=PUBLIC_API_BASE_BASE64
58
- ENV NGINX_ENVSUBST_OUTPUT_DIR=/tmp/hai-runtime-config
59
-
60
- RUN mkdir -p /tmp/hai-runtime-config
61
- COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
62
- COPY --chmod=755 docker/19-runtime-config.envsh /docker-entrypoint.d/19-runtime-config.envsh
63
- COPY docker/runtime-config.js.template /etc/nginx/templates/runtime-config.js.template
64
- COPY --from=build /workspace/apps/{{projectName}}-web/dist /usr/share/nginx/html
65
-
66
- EXPOSE 8080
67
- HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
68
- CMD wget -Y off -q -O /dev/null http://127.0.0.1:8080/health || exit 1
69
- {{/if}}
@@ -1,79 +0,0 @@
1
- # syntax=docker/dockerfile:1.7
2
- {{#if isSvelteOnlyApp}}
3
- FROM node:24-bookworm-slim AS build
4
- ARG SQLITE_PREBUILD_MIRROR
5
- ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
6
- ARG HAI_DEPLOY_ENVIRONMENT=prod
7
- ARG HAI_CORE_ENV=production
8
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
9
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
10
-
11
- ENV PNPM_HOME=/pnpm
12
- ENV PATH=$PNPM_HOME:$PATH
13
- ENV CI=true
14
- WORKDIR /workspace
15
-
16
- RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
17
- COPY pnpm-lock.yaml pnpm-workspace.yaml ./
18
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
19
- COPY . .
20
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
21
- RUN pnpm build
22
-
23
- FROM nginxinc/nginx-unprivileged:1.29-alpine AS runtime
24
-
25
- COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
26
- COPY --from=build /workspace/dist /usr/share/nginx/html
27
-
28
- EXPOSE 8080
29
- HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
30
- CMD wget -q -O /dev/null http://127.0.0.1:8080/health || exit 1
31
- {{else}}
32
- FROM node:24-bookworm-slim AS build
33
- ARG SQLITE_PREBUILD_MIRROR
34
- ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
35
- ARG HAI_DEPLOY_ENVIRONMENT=prod
36
- ARG HAI_CORE_ENV=production
37
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
38
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
39
-
40
- ENV PNPM_HOME=/pnpm
41
- ENV PATH=$PNPM_HOME:$PATH
42
- ENV CI=true
43
- WORKDIR /workspace
44
-
45
- RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
46
- COPY pnpm-lock.yaml pnpm-workspace.yaml ./
47
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
48
- COPY . .
49
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
50
- RUN pnpm build
51
- RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
52
- RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{projectName}} --prod /prod/app
53
-
54
- FROM node:24-bookworm-slim AS runtime-base
55
- ARG HAI_DEPLOY_ENVIRONMENT=prod
56
- ARG HAI_CORE_ENV=production
57
-
58
- ENV NODE_ENV=production
59
- ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
60
- ENV HAI_CORE_ENV=$HAI_CORE_ENV
61
- ENV HOST=0.0.0.0
62
- ENV PORT=3000
63
- WORKDIR /app
64
-
65
- COPY --from=build --chown=node:node /prod/app ./
66
- RUN mkdir -p /app/data && chown node:node /app/data
67
-
68
- USER node
69
- EXPOSE 3000
70
- HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
71
- CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
72
- CMD ["node", "build"]
73
-
74
- FROM runtime-base AS runtime-with-data
75
-
76
- COPY --from=embedded-data --chown=node:node / /app/data/
77
-
78
- FROM runtime-base AS runtime
79
- {{/if}}