@coze-arch/cli 0.0.1-alpha.1fb1dc → 0.0.1-alpha.224471

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 (80) hide show
  1. package/lib/__templates__/expo/.coze +7 -2
  2. package/lib/__templates__/expo/.cozeproj/scripts/dev_build.sh +46 -0
  3. package/lib/__templates__/expo/.cozeproj/scripts/dev_run.sh +220 -0
  4. package/lib/__templates__/expo/.cozeproj/scripts/prod_build.sh +47 -0
  5. package/lib/__templates__/expo/.cozeproj/scripts/prod_run.sh +34 -0
  6. package/lib/__templates__/expo/.cozeproj/scripts/server_dev_run.sh +45 -0
  7. package/lib/__templates__/expo/README.md +68 -7
  8. package/lib/__templates__/expo/_gitignore +1 -1
  9. package/lib/__templates__/expo/_npmrc +2 -4
  10. package/lib/__templates__/expo/client/app/_layout.tsx +14 -14
  11. package/lib/__templates__/expo/client/app/index.tsx +1 -0
  12. package/lib/__templates__/expo/client/app.config.ts +76 -0
  13. package/lib/__templates__/expo/client/components/ThemedText.tsx +33 -0
  14. package/lib/__templates__/expo/client/components/ThemedView.tsx +38 -0
  15. package/lib/__templates__/expo/client/constants/theme.ts +786 -50
  16. package/lib/__templates__/expo/client/declarations.d.ts +5 -0
  17. package/lib/__templates__/expo/{eslint.config.mjs → client/eslint.config.mjs} +13 -10
  18. package/lib/__templates__/expo/client/hooks/useColorScheme.ts +34 -1
  19. package/lib/__templates__/expo/client/hooks/useTheme.ts +26 -6
  20. package/lib/__templates__/expo/client/metro.config.js +121 -0
  21. package/lib/__templates__/expo/client/package.json +93 -0
  22. package/lib/__templates__/expo/client/screens/demo/index.tsx +25 -0
  23. package/lib/__templates__/expo/client/screens/demo/styles.ts +28 -0
  24. package/lib/__templates__/expo/client/scripts/install-missing-deps.js +1 -0
  25. package/lib/__templates__/expo/client/tsconfig.json +24 -0
  26. package/lib/__templates__/expo/client/utils/index.ts +22 -0
  27. package/lib/__templates__/expo/eslint-plugins/fontawesome6/index.js +9 -0
  28. package/lib/__templates__/expo/eslint-plugins/fontawesome6/names.js +2486 -0
  29. package/lib/__templates__/expo/eslint-plugins/fontawesome6/rule.js +155 -0
  30. package/lib/__templates__/expo/package.json +13 -103
  31. package/lib/__templates__/expo/pnpm-lock.yaml +451 -867
  32. package/lib/__templates__/expo/pnpm-workspace.yaml +3 -0
  33. package/lib/__templates__/expo/server/build.js +21 -0
  34. package/lib/__templates__/expo/server/package.json +32 -0
  35. package/lib/__templates__/expo/server/src/index.ts +19 -0
  36. package/lib/__templates__/expo/server/tsconfig.json +24 -0
  37. package/lib/__templates__/expo/template.config.js +1 -0
  38. package/lib/__templates__/expo/tsconfig.json +1 -24
  39. package/lib/__templates__/nextjs/.coze +1 -0
  40. package/lib/__templates__/nextjs/_npmrc +1 -0
  41. package/lib/__templates__/nextjs/next.config.ts +12 -0
  42. package/lib/__templates__/nextjs/package.json +3 -2
  43. package/lib/__templates__/nextjs/pnpm-lock.yaml +13 -5
  44. package/lib/__templates__/nextjs/scripts/dev.sh +7 -26
  45. package/lib/__templates__/nextjs/scripts/prepare.sh +9 -0
  46. package/lib/__templates__/nextjs/src/app/globals.css +109 -89
  47. package/lib/__templates__/nextjs/src/app/layout.tsx +19 -30
  48. package/lib/__templates__/nextjs/src/app/page.tsx +35 -23
  49. package/lib/__templates__/nextjs/src/components/ui/resizable.tsx +29 -22
  50. package/lib/__templates__/nextjs/src/components/ui/sidebar.tsx +228 -230
  51. package/lib/__templates__/nextjs/template.config.js +30 -0
  52. package/lib/__templates__/templates.json +61 -36
  53. package/lib/__templates__/vite/.coze +1 -0
  54. package/lib/__templates__/vite/_npmrc +1 -0
  55. package/lib/__templates__/vite/eslint.config.mjs +9 -0
  56. package/lib/__templates__/vite/package.json +6 -2
  57. package/lib/__templates__/vite/pnpm-lock.yaml +3486 -19
  58. package/lib/__templates__/vite/scripts/dev.sh +7 -26
  59. package/lib/__templates__/vite/scripts/prepare.sh +9 -0
  60. package/lib/__templates__/vite/src/main.ts +1 -2
  61. package/lib/__templates__/vite/template.config.js +39 -6
  62. package/lib/__templates__/vite/vite.config.ts +3 -3
  63. package/lib/cli.js +201 -57
  64. package/package.json +8 -3
  65. package/lib/__templates__/expo/.cozeproj/scripts/deploy_build.sh +0 -116
  66. package/lib/__templates__/expo/.cozeproj/scripts/deploy_run.sh +0 -239
  67. package/lib/__templates__/expo/app.json +0 -63
  68. package/lib/__templates__/expo/babel.config.js +0 -9
  69. package/lib/__templates__/expo/client/app/(tabs)/_layout.tsx +0 -43
  70. package/lib/__templates__/expo/client/app/(tabs)/home.tsx +0 -1
  71. package/lib/__templates__/expo/client/app/(tabs)/index.tsx +0 -7
  72. package/lib/__templates__/expo/client/app/+not-found.tsx +0 -79
  73. package/lib/__templates__/expo/client/index.js +0 -12
  74. package/lib/__templates__/expo/client/screens/home/index.tsx +0 -51
  75. package/lib/__templates__/expo/client/screens/home/styles.ts +0 -60
  76. package/lib/__templates__/expo/metro.config.js +0 -53
  77. package/lib/__templates__/expo/src/index.ts +0 -12
  78. package/lib/__templates__/nextjs/.vscode/settings.json +0 -121
  79. package/lib/__templates__/vite/.vscode/settings.json +0 -7
  80. /package/lib/__templates__/expo/{eslint-formatter-simple.mjs → client/eslint-formatter-simple.mjs} +0 -0
@@ -0,0 +1,3 @@
1
+ packages:
2
+ - client
3
+ - server
@@ -0,0 +1,21 @@
1
+ import * as esbuild from 'esbuild';
2
+ import { createRequire } from 'module';
3
+
4
+ const require = createRequire(import.meta.url);
5
+ const pkg = require('./package.json');
6
+ const dependencies = pkg.dependencies || {};
7
+ const externalList = Object.keys(dependencies).filter(dep => dep !== 'dayjs');
8
+ try {
9
+ await esbuild.build({
10
+ entryPoints: ['src/index.ts'],
11
+ bundle: true,
12
+ platform: 'node',
13
+ format: 'esm',
14
+ outdir: 'dist',
15
+ external: externalList,
16
+ });
17
+ console.log('⚡ Build complete!');
18
+ } catch (e) {
19
+ console.error(e);
20
+ process.exit(1);
21
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "server",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "preinstall": "npx only-allow pnpm",
7
+ "dev": "bash ../.cozeproj/scripts/server_dev_run.sh",
8
+ "build": "node build.js",
9
+ "start": "NODE_ENV=production PORT=${PORT:-5000} node dist/index.js"
10
+ },
11
+ "dependencies": {
12
+ "express": "^4.22.1",
13
+ "cors": "^2.8.5",
14
+ "coze-coding-dev-sdk": "^0.7.2",
15
+ "dayjs": "^1.11.19",
16
+ "drizzle-orm": "^0.45.1",
17
+ "drizzle-zod": "^0.8.3",
18
+ "multer": "^2.0.2",
19
+ "pg": "^8.16.3",
20
+ "zod": "^4.2.1"
21
+ },
22
+ "devDependencies": {
23
+ "@types/cors": "^2.8.19",
24
+ "@types/express": "^5.0.6",
25
+ "tsx": "^4.21.0",
26
+ "@types/multer": "^2.0.0",
27
+ "@types/pg": "^8.16.0",
28
+ "esbuild": "0.27.2",
29
+ "typescript": "^5.8.3",
30
+ "drizzle-kit": "^0.31.8"
31
+ }
32
+ }
@@ -0,0 +1,19 @@
1
+ import express from "express";
2
+ import cors from "cors";
3
+
4
+ const app = express();
5
+ const port = process.env.PORT || 9091;
6
+
7
+ // Middleware
8
+ app.use(cors());
9
+ app.use(express.json({ limit: '50mb' }));
10
+ app.use(express.urlencoded({ limit: '50mb', extended: true }));
11
+
12
+ app.get('/api/v1/health', (req, res) => {
13
+ res.status(200).json({ status: 'ok' });
14
+ });
15
+
16
+
17
+ app.listen(port, () => {
18
+ console.log(`Server listening at http://localhost:${port}/`);
19
+ });
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://www.schemastore.org/tsconfig",
3
+ "compilerOptions": {
4
+ "lib": [
5
+ "es2024",
6
+ "ESNext.Array",
7
+ "ESNext.Collection",
8
+ "ESNext.Iterator",
9
+ "ESNext.Promise"
10
+ ],
11
+ "module": "preserve",
12
+ "target": "es2024",
13
+
14
+ "strict": true,
15
+ "esModuleInterop": true,
16
+ "skipLibCheck": true,
17
+ "moduleResolution": "bundler",
18
+
19
+ "rewriteRelativeImportExtensions": true,
20
+ "erasableSyntaxOnly": true,
21
+ "verbatimModuleSyntax": true
22
+ },
23
+ "include": ["src"]
24
+ }
@@ -29,6 +29,7 @@ export const paramsSchema = {
29
29
  };
30
30
 
31
31
  const config = {
32
+ description: 'Expo template for React Native applications',
32
33
  paramsSchema,
33
34
  defaultParams: {
34
35
  port: 9090,
@@ -1,24 +1 @@
1
- {
2
- "extends": "expo/tsconfig.base",
3
- "compilerOptions": {
4
- "skipLibCheck": true,
5
- "jsx": "react-jsx",
6
- "baseUrl": ".",
7
- "strict": true,
8
- "noEmit": true,
9
- "paths": {
10
- "@/*": ["./client/*"]
11
- }
12
- },
13
- "include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"],
14
- "exclude": [
15
- "node_modules",
16
- "**/*.spec.ts",
17
- "**/*.test.ts",
18
- "**/*.spec.tsx",
19
- "**/*.test.tsx",
20
- "dist",
21
- "build",
22
- "client/.expo"
23
- ]
24
- }
1
+ {}
@@ -2,6 +2,7 @@
2
2
  requires = ["nodejs-24"]
3
3
 
4
4
  [dev]
5
+ build = ["bash", "./scripts/prepare.sh"]
5
6
  run = ["bash", "./scripts/dev.sh"]
6
7
  deps = ["git"] # -> apt install git
7
8
 
@@ -1,3 +1,4 @@
1
+ loglevel=error
1
2
  registry=https://registry.npmmirror.com
2
3
 
3
4
  strictStorePkgContentCheck=false
@@ -1,7 +1,19 @@
1
1
  import type { NextConfig } from 'next';
2
+ import path from 'path';
2
3
 
3
4
  const nextConfig: NextConfig = {
5
+ // outputFileTracingRoot: path.resolve(__dirname, '../../'),
4
6
  /* config options here */
7
+ allowedDevOrigins: ['*.dev.coze.site'],
8
+ images: {
9
+ remotePatterns: [
10
+ {
11
+ protocol: 'https',
12
+ hostname: 'lf-coze-web-cdn.coze.cn',
13
+ pathname: '/**',
14
+ },
15
+ ],
16
+ },
5
17
  };
6
18
 
7
19
  export default nextConfig;
@@ -7,7 +7,8 @@
7
7
  "dev": "bash ./scripts/dev.sh",
8
8
  "preinstall": "npx only-allow pnpm",
9
9
  "lint": "eslint",
10
- "start": "bash ./scripts/start.sh"
10
+ "start": "bash ./scripts/start.sh",
11
+ "ts-check": "tsc -p tsconfig.json"
11
12
  },
12
13
  "dependencies": {
13
14
  "@aws-sdk/client-s3": "^3.958.0",
@@ -42,7 +43,7 @@
42
43
  "class-variance-authority": "^0.7.1",
43
44
  "clsx": "^2.1.1",
44
45
  "cmdk": "^1.1.1",
45
- "coze-coding-dev-sdk": "0.5.0",
46
+ "coze-coding-dev-sdk": "^0.7.0",
46
47
  "date-fns": "^4.1.0",
47
48
  "drizzle-kit": "^0.31.8",
48
49
  "drizzle-orm": "^0.45.1",
@@ -105,8 +105,8 @@ importers:
105
105
  specifier: ^1.1.1
106
106
  version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
107
107
  coze-coding-dev-sdk:
108
- specifier: 0.5.0
109
- version: 0.5.0(@types/pg@8.16.0)(openai@6.15.0(zod@4.3.5))
108
+ specifier: ^0.7.0
109
+ version: 0.7.2(@types/pg@8.16.0)(openai@6.15.0(zod@4.3.5))
110
110
  date-fns:
111
111
  specifier: ^4.1.0
112
112
  version: 4.1.0
@@ -2747,8 +2747,8 @@ packages:
2747
2747
  typescript:
2748
2748
  optional: true
2749
2749
 
2750
- coze-coding-dev-sdk@0.5.0:
2751
- resolution: {integrity: sha512-fmJypE4jgExKOOFSz26ZNRUyKmAh3FENKORXMfvP7JIbXmk092ntrnll9DCJ+HpNOcpdvlE5lTmGSvyGh9nwrw==}
2750
+ coze-coding-dev-sdk@0.7.2:
2751
+ resolution: {integrity: sha512-IAAbI8W6MHL95BV/OmiacM2aMzkruyBwUMsvzJk/9jBT9vra2xiUC5ggS5xFi7V7MrL5VqfLv9ZlWSjcOAVRpw==}
2752
2752
  engines: {node: '>=18.0.0'}
2753
2753
  hasBin: true
2754
2754
 
@@ -4820,6 +4820,11 @@ packages:
4820
4820
  resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==}
4821
4821
  engines: {node: '>=16'}
4822
4822
 
4823
+ transliteration@2.6.0:
4824
+ resolution: {integrity: sha512-T6frfMj7N5xNK0l+duIzIWKxkc9ewG72uv7NeOs4dIoysqTnYpwxeVEE5qYdKKmy7hby55ah0wNUoMaLsB2Zjw==}
4825
+ engines: {node: '>=20.0.0'}
4826
+ hasBin: true
4827
+
4823
4828
  ts-api-utils@2.3.0:
4824
4829
  resolution: {integrity: sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==}
4825
4830
  engines: {node: '>=18.12'}
@@ -7931,7 +7936,7 @@ snapshots:
7931
7936
  optionalDependencies:
7932
7937
  typescript: 5.9.3
7933
7938
 
7934
- coze-coding-dev-sdk@0.5.0(@types/pg@8.16.0)(openai@6.15.0(zod@4.3.5)):
7939
+ coze-coding-dev-sdk@0.7.2(@types/pg@8.16.0)(openai@6.15.0(zod@4.3.5)):
7935
7940
  dependencies:
7936
7941
  '@aws-sdk/client-s3': 3.962.0
7937
7942
  '@aws-sdk/lib-storage': 3.962.0(@aws-sdk/client-s3@3.962.0)
@@ -7944,6 +7949,7 @@ snapshots:
7944
7949
  drizzle-orm: 0.45.1(@types/pg@8.16.0)(pg@8.16.3)
7945
7950
  ora: 9.0.0
7946
7951
  pg: 8.16.3
7952
+ transliteration: 2.6.0
7947
7953
  transitivePeerDependencies:
7948
7954
  - '@aws-sdk/client-rds-data'
7949
7955
  - '@cloudflare/workers-types'
@@ -10186,6 +10192,8 @@ snapshots:
10186
10192
  dependencies:
10187
10193
  tldts: 7.0.19
10188
10194
 
10195
+ transliteration@2.6.0: {}
10196
+
10189
10197
  ts-api-utils@2.3.0(typescript@5.9.3):
10190
10198
  dependencies:
10191
10199
  typescript: 5.9.3
@@ -4,44 +4,25 @@ set -Eeuo pipefail
4
4
  PORT=<%= port %>
5
5
  COZE_WORKSPACE_PATH="${COZE_WORKSPACE_PATH:-$(pwd)}"
6
6
  NODE_ENV=development
7
+ DEPLOY_RUN_PORT=<%= port %>
7
8
 
8
9
  cd "${COZE_WORKSPACE_PATH}"
9
10
 
10
11
  kill_port_if_listening() {
11
12
  local pids
12
-
13
- # Check if lsof is available (macOS/BSD) or ss (Linux)
14
- if command -v lsof >/dev/null 2>&1; then
15
- # macOS/BSD using lsof
16
- pids=$(lsof -ti:${PORT} 2>/dev/null || true)
17
- elif command -v ss >/dev/null 2>&1; then
18
- # Linux using ss
19
- pids=$(ss -H -lntp 2>/dev/null | awk -v port="${PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
20
- else
21
- echo "Warning: neither lsof nor ss found, cannot check port ${PORT}"
22
- return
23
- fi
24
-
13
+ pids=$(ss -H -lntp 2>/dev/null | awk -v port="${DEPLOY_RUN_PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
25
14
  if [[ -z "${pids}" ]]; then
26
- echo "Port ${PORT} is free."
15
+ echo "Port ${DEPLOY_RUN_PORT} is free."
27
16
  return
28
17
  fi
29
-
30
- echo "Port ${PORT} in use by PIDs: ${pids} (SIGKILL)"
18
+ echo "Port ${DEPLOY_RUN_PORT} in use by PIDs: ${pids} (SIGKILL)"
31
19
  echo "${pids}" | xargs -I {} kill -9 {}
32
20
  sleep 1
33
-
34
- # Verify port is cleared
35
- if command -v lsof >/dev/null 2>&1; then
36
- pids=$(lsof -ti:${PORT} 2>/dev/null || true)
37
- elif command -v ss >/dev/null 2>&1; then
38
- pids=$(ss -H -lntp 2>/dev/null | awk -v port="${PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
39
- fi
40
-
21
+ pids=$(ss -H -lntp 2>/dev/null | awk -v port="${DEPLOY_RUN_PORT}" '$4 ~ ":"port"$"' | grep -o 'pid=[0-9]*' | cut -d= -f2 | paste -sd' ' - || true)
41
22
  if [[ -n "${pids}" ]]; then
42
- echo "Warning: port ${PORT} still busy after SIGKILL, PIDs: ${pids}"
23
+ echo "Warning: port ${DEPLOY_RUN_PORT} still busy after SIGKILL, PIDs: ${pids}"
43
24
  else
44
- echo "Port ${PORT} cleared."
25
+ echo "Port ${DEPLOY_RUN_PORT} cleared."
45
26
  fi
46
27
  }
47
28
 
@@ -0,0 +1,9 @@
1
+ #!/bin/bash
2
+ set -Eeuo pipefail
3
+
4
+ COZE_WORKSPACE_PATH="${COZE_WORKSPACE_PATH:-$(pwd)}"
5
+
6
+ cd "${COZE_WORKSPACE_PATH}"
7
+
8
+ echo "Installing dependencies..."
9
+ pnpm install --prefer-frozen-lockfile --prefer-offline --loglevel debug --reporter=append-only
@@ -1,61 +1,11 @@
1
1
  @import 'tailwindcss';
2
- @import "tw-animate-css";
2
+ @import 'tw-animate-css';
3
3
 
4
4
  @custom-variant dark (&:is(.dark *));
5
5
 
6
- :root {
7
- --background: 0 0% 100%;
8
- --foreground: 0 0% 9%;
9
- --card: 0 0% 100%;
10
- --card-foreground: 0 0% 9%;
11
- --popover: 0 0% 100%;
12
- --popover-foreground: 0 0% 9%;
13
- --primary: 0 0% 9%;
14
- --primary-foreground: 0 0% 98%;
15
- --secondary: 0 0% 96%;
16
- --secondary-foreground: 0 0% 9%;
17
- --muted: 0 0% 96%;
18
- --muted-foreground: 0 0% 45%;
19
- --accent: 0 0% 96%;
20
- --accent-foreground: 0 0% 9%;
21
- --destructive: 0 84% 60%;
22
- --destructive-foreground: 0 0% 98%;
23
- --border: 0 0% 90%;
24
- --input: 0 0% 90%;
25
- --ring: 0 0% 9%;
26
- --radius: 0.5rem;
27
- --sidebar: hsl(0 0% 98%);
28
- --sidebar-foreground: hsl(240 5.3% 26.1%);
29
- --sidebar-primary: hsl(240 5.9% 10%);
30
- --sidebar-primary-foreground: hsl(0 0% 98%);
31
- --sidebar-accent: hsl(240 4.8% 95.9%);
32
- --sidebar-accent-foreground: hsl(240 5.9% 10%);
33
- --sidebar-border: hsl(220 13% 91%);
34
- --sidebar-ring: hsl(217.2 91.2% 59.8%);
35
- }
36
-
37
6
  @theme inline {
38
- --color-background: hsl(var(--background));
39
- --color-foreground: hsl(var(--foreground));
40
- --color-card: hsl(var(--card));
41
- --color-card-foreground: hsl(var(--card-foreground));
42
- --color-popover: hsl(var(--popover));
43
- --color-popover-foreground: hsl(var(--popover-foreground));
44
- --color-primary: hsl(var(--primary));
45
- --color-primary-foreground: hsl(var(--primary-foreground));
46
- --color-secondary: hsl(var(--secondary));
47
- --color-secondary-foreground: hsl(var(--secondary-foreground));
48
- --color-muted: hsl(var(--muted));
49
- --color-muted-foreground: hsl(var(--muted-foreground));
50
- --color-accent: hsl(var(--accent));
51
- --color-accent-foreground: hsl(var(--accent-foreground));
52
- --color-destructive: hsl(var(--destructive));
53
- --color-destructive-foreground: hsl(var(--destructive-foreground));
54
- --color-border: hsl(var(--border));
55
- --color-input: hsl(var(--input));
56
- --color-ring: hsl(var(--ring));
57
- --font-sans: var(--font-geist-sans);
58
- --font-mono: var(--font-geist-mono);
7
+ --color-background: var(--background);
8
+ --color-foreground: var(--foreground);
59
9
  --color-sidebar-ring: var(--sidebar-ring);
60
10
  --color-sidebar-border: var(--sidebar-border);
61
11
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
@@ -64,47 +14,113 @@
64
14
  --color-sidebar-primary: var(--sidebar-primary);
65
15
  --color-sidebar-foreground: var(--sidebar-foreground);
66
16
  --color-sidebar: var(--sidebar);
17
+ --color-chart-5: var(--chart-5);
18
+ --color-chart-4: var(--chart-4);
19
+ --color-chart-3: var(--chart-3);
20
+ --color-chart-2: var(--chart-2);
21
+ --color-chart-1: var(--chart-1);
22
+ --color-ring: var(--ring);
23
+ --color-input: var(--input);
24
+ --color-border: var(--border);
25
+ --color-destructive: var(--destructive);
26
+ --color-accent-foreground: var(--accent-foreground);
27
+ --color-accent: var(--accent);
28
+ --color-muted-foreground: var(--muted-foreground);
29
+ --color-muted: var(--muted);
30
+ --color-secondary-foreground: var(--secondary-foreground);
31
+ --color-secondary: var(--secondary);
32
+ --color-primary-foreground: var(--primary-foreground);
33
+ --color-primary: var(--primary);
34
+ --color-popover-foreground: var(--popover-foreground);
35
+ --color-popover: var(--popover);
36
+ --color-card-foreground: var(--card-foreground);
37
+ --color-card: var(--card);
38
+ --radius-sm: calc(var(--radius) - 4px);
39
+ --radius-md: calc(var(--radius) - 2px);
40
+ --radius-lg: var(--radius);
41
+ --radius-xl: calc(var(--radius) + 4px);
42
+ --radius-2xl: calc(var(--radius) + 8px);
43
+ --radius-3xl: calc(var(--radius) + 12px);
44
+ --radius-4xl: calc(var(--radius) + 16px);
45
+ --font-sans:
46
+ 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', ui-sans-serif,
47
+ system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
48
+ 'Helvetica Neue', Arial, sans-serif;
49
+ --font-mono:
50
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
51
+ 'Courier New', monospace;
52
+ --font-serif:
53
+ 'Noto Serif SC', 'Songti SC', 'SimSun', ui-serif, Georgia, Cambria,
54
+ 'Times New Roman', Times, serif;
67
55
  }
68
56
 
69
- @media (prefers-color-scheme: dark) {
70
- :root {
71
- --background: 0 0% 4%;
72
- --foreground: 0 0% 93%;
73
- --card: 0 0% 4%;
74
- --card-foreground: 0 0% 93%;
75
- --popover: 0 0% 4%;
76
- --popover-foreground: 0 0% 93%;
77
- --primary: 0 0% 98%;
78
- --primary-foreground: 0 0% 9%;
79
- --secondary: 0 0% 15%;
80
- --secondary-foreground: 0 0% 98%;
81
- --muted: 0 0% 15%;
82
- --muted-foreground: 0 0% 64%;
83
- --accent: 0 0% 15%;
84
- --accent-foreground: 0 0% 98%;
85
- --destructive: 0 63% 31%;
86
- --destructive-foreground: 0 0% 98%;
87
- --border: 0 0% 15%;
88
- --input: 0 0% 15%;
89
- --ring: 0 0% 83%;
90
- }
91
- }
92
-
93
- body {
94
- background: hsl(var(--background));
95
- color: hsl(var(--foreground));
96
- font-family: Arial, Helvetica, sans-serif;
57
+ :root {
58
+ --radius: 0.625rem;
59
+ --background: oklch(1 0 0);
60
+ --foreground: oklch(0.145 0 0);
61
+ --card: oklch(1 0 0);
62
+ --card-foreground: oklch(0.145 0 0);
63
+ --popover: oklch(1 0 0);
64
+ --popover-foreground: oklch(0.145 0 0);
65
+ --primary: oklch(0.205 0 0);
66
+ --primary-foreground: oklch(0.985 0 0);
67
+ --secondary: oklch(0.97 0 0);
68
+ --secondary-foreground: oklch(0.205 0 0);
69
+ --muted: oklch(0.97 0 0);
70
+ --muted-foreground: oklch(0.556 0 0);
71
+ --accent: oklch(0.97 0 0);
72
+ --accent-foreground: oklch(0.205 0 0);
73
+ --destructive: oklch(0.577 0.245 27.325);
74
+ --border: oklch(0.922 0 0);
75
+ --input: oklch(0.922 0 0);
76
+ --ring: oklch(0.708 0 0);
77
+ --chart-1: oklch(0.646 0.222 41.116);
78
+ --chart-2: oklch(0.6 0.118 184.704);
79
+ --chart-3: oklch(0.398 0.07 227.392);
80
+ --chart-4: oklch(0.828 0.189 84.429);
81
+ --chart-5: oklch(0.769 0.188 70.08);
82
+ --sidebar: oklch(0.985 0 0);
83
+ --sidebar-foreground: oklch(0.145 0 0);
84
+ --sidebar-primary: oklch(0.205 0 0);
85
+ --sidebar-primary-foreground: oklch(0.985 0 0);
86
+ --sidebar-accent: oklch(0.97 0 0);
87
+ --sidebar-accent-foreground: oklch(0.205 0 0);
88
+ --sidebar-border: oklch(0.922 0 0);
89
+ --sidebar-ring: oklch(0.708 0 0);
97
90
  }
98
91
 
99
92
  .dark {
100
- --sidebar: hsl(240 5.9% 10%);
101
- --sidebar-foreground: hsl(240 4.8% 95.9%);
102
- --sidebar-primary: hsl(224.3 76.3% 48%);
103
- --sidebar-primary-foreground: hsl(0 0% 100%);
104
- --sidebar-accent: hsl(240 3.7% 15.9%);
105
- --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
106
- --sidebar-border: hsl(240 3.7% 15.9%);
107
- --sidebar-ring: hsl(217.2 91.2% 59.8%);
93
+ --background: oklch(0.145 0 0);
94
+ --foreground: oklch(0.985 0 0);
95
+ --card: oklch(0.205 0 0);
96
+ --card-foreground: oklch(0.985 0 0);
97
+ --popover: oklch(0.205 0 0);
98
+ --popover-foreground: oklch(0.985 0 0);
99
+ --primary: oklch(0.922 0 0);
100
+ --primary-foreground: oklch(0.205 0 0);
101
+ --secondary: oklch(0.269 0 0);
102
+ --secondary-foreground: oklch(0.985 0 0);
103
+ --muted: oklch(0.269 0 0);
104
+ --muted-foreground: oklch(0.708 0 0);
105
+ --accent: oklch(0.269 0 0);
106
+ --accent-foreground: oklch(0.985 0 0);
107
+ --destructive: oklch(0.704 0.191 22.216);
108
+ --border: oklch(1 0 0 / 10%);
109
+ --input: oklch(1 0 0 / 15%);
110
+ --ring: oklch(0.556 0 0);
111
+ --chart-1: oklch(0.488 0.243 264.376);
112
+ --chart-2: oklch(0.696 0.17 162.48);
113
+ --chart-3: oklch(0.769 0.188 70.08);
114
+ --chart-4: oklch(0.627 0.265 303.9);
115
+ --chart-5: oklch(0.645 0.246 16.439);
116
+ --sidebar: oklch(0.205 0 0);
117
+ --sidebar-foreground: oklch(0.985 0 0);
118
+ --sidebar-primary: oklch(0.488 0.243 264.376);
119
+ --sidebar-primary-foreground: oklch(0.985 0 0);
120
+ --sidebar-accent: oklch(0.269 0 0);
121
+ --sidebar-accent-foreground: oklch(0.985 0 0);
122
+ --sidebar-border: oklch(1 0 0 / 10%);
123
+ --sidebar-ring: oklch(0.556 0 0);
108
124
  }
109
125
 
110
126
  @layer base {
@@ -115,3 +131,7 @@ body {
115
131
  @apply bg-background text-foreground;
116
132
  }
117
133
  }
134
+
135
+ body {
136
+ @apply font-sans;
137
+ }
@@ -1,17 +1,6 @@
1
1
  import type { Metadata } from 'next';
2
- import { Geist, Geist_Mono } from 'next/font/google';
3
2
  import './globals.css';
4
3
 
5
- const geistSans = Geist({
6
- variable: '--font-geist-sans',
7
- subsets: ['latin'],
8
- });
9
-
10
- const geistMono = Geist_Mono({
11
- variable: '--font-geist-mono',
12
- subsets: ['latin'],
13
- });
14
-
15
4
  export const metadata: Metadata = {
16
5
  title: {
17
6
  default: '新应用 | 扣子编程',
@@ -33,9 +22,9 @@ export const metadata: Metadata = {
33
22
  ],
34
23
  authors: [{ name: 'Coze Code Team', url: 'https://code.coze.cn' }],
35
24
  generator: 'Coze Code',
36
- icons: {
37
- icon: '',
38
- },
25
+ // icons: {
26
+ // icon: '',
27
+ // },
39
28
  openGraph: {
40
29
  title: '扣子编程 | 你的 AI 工程师已就位',
41
30
  description:
@@ -44,22 +33,22 @@ export const metadata: Metadata = {
44
33
  siteName: '扣子编程',
45
34
  locale: 'zh_CN',
46
35
  type: 'website',
47
- images: [
48
- {
49
- url: '',
50
- width: 1200,
51
- height: 630,
52
- alt: '扣子编程 - 你的 AI 工程师',
53
- },
54
- ],
55
- },
56
- twitter: {
57
- card: 'summary_large_image',
58
- title: 'Coze Code | Your AI Engineer is Here',
59
- description:
60
- 'Build and deploy full-stack applications through AI conversation. No env setup, just flow.',
61
- images: [''],
36
+ // images: [
37
+ // {
38
+ // url: '',
39
+ // width: 1200,
40
+ // height: 630,
41
+ // alt: '扣子编程 - 你的 AI 工程师',
42
+ // },
43
+ // ],
62
44
  },
45
+ // twitter: {
46
+ // card: 'summary_large_image',
47
+ // title: 'Coze Code | Your AI Engineer is Here',
48
+ // description:
49
+ // 'Build and deploy full-stack applications through AI conversation. No env setup, just flow.',
50
+ // // images: [''],
51
+ // },
63
52
  robots: {
64
53
  index: true,
65
54
  follow: true,
@@ -74,7 +63,7 @@ export default function RootLayout({
74
63
  return (
75
64
  <html lang="en">
76
65
  <body
77
- className={`${geistSans.variable} ${geistMono.variable} antialiased`}
66
+ className={`antialiased`}
78
67
  >
79
68
  {children}
80
69
  </body>