@coze-arch/cli 0.0.1-alpha.ef0249 → 0.0.1-alpha.ef8b63

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 (91) hide show
  1. package/lib/__templates__/expo/.cozeproj/scripts/dev_run.sh +25 -16
  2. package/lib/__templates__/expo/.cozeproj/scripts/server_dev_run.sh +9 -8
  3. package/lib/__templates__/expo/README.md +2 -2
  4. package/lib/__templates__/expo/client/app/+not-found.tsx +30 -0
  5. package/lib/__templates__/expo/client/app/_layout.tsx +11 -8
  6. package/lib/__templates__/expo/client/app.config.ts +2 -2
  7. package/lib/__templates__/expo/client/components/Screen.tsx +1 -17
  8. package/lib/__templates__/expo/client/components/ThemedView.tsx +1 -2
  9. package/lib/__templates__/expo/client/constants/theme.ts +21 -698
  10. package/lib/__templates__/expo/client/eslint.config.mjs +20 -0
  11. package/lib/__templates__/expo/client/hooks/{useColorScheme.ts → useColorScheme.tsx} +20 -6
  12. package/lib/__templates__/expo/client/hooks/useSafeRouter.ts +152 -0
  13. package/lib/__templates__/expo/client/metro.config.js +3 -0
  14. package/lib/__templates__/expo/client/package.json +36 -34
  15. package/lib/__templates__/expo/client/screens/demo/index.tsx +3 -3
  16. package/lib/__templates__/expo/eslint-plugins/fontawesome6/names.js +1886 -2483
  17. package/lib/__templates__/expo/eslint-plugins/fontawesome6/rule.js +20 -1
  18. package/lib/__templates__/expo/eslint-plugins/fontawesome6/v5-only-names.js +388 -0
  19. package/lib/__templates__/expo/eslint-plugins/react-native/index.js +9 -0
  20. package/lib/__templates__/expo/eslint-plugins/react-native/rule.js +64 -0
  21. package/lib/__templates__/expo/eslint-plugins/reanimated/index.js +9 -0
  22. package/lib/__templates__/expo/eslint-plugins/reanimated/rule.js +88 -0
  23. package/lib/__templates__/expo/package.json +3 -0
  24. package/lib/__templates__/expo/patches/expo@54.0.33.patch +45 -0
  25. package/lib/__templates__/expo/pnpm-lock.yaml +1318 -2636
  26. package/lib/__templates__/expo/server/package.json +9 -7
  27. package/lib/__templates__/expo/server/src/index.ts +1 -0
  28. package/lib/__templates__/expo/template.config.js +56 -0
  29. package/lib/__templates__/native-static/.coze +11 -0
  30. package/lib/__templates__/native-static/index.html +33 -0
  31. package/lib/__templates__/native-static/styles/main.css +136 -0
  32. package/lib/__templates__/native-static/template.config.js +22 -0
  33. package/lib/__templates__/nextjs/.babelrc +15 -0
  34. package/lib/__templates__/nextjs/package.json +6 -1
  35. package/lib/__templates__/nextjs/pnpm-lock.yaml +2063 -926
  36. package/lib/__templates__/nextjs/src/app/layout.tsx +5 -3
  37. package/lib/__templates__/nextjs/src/app/page.tsx +18 -60
  38. package/lib/__templates__/nextjs/template.config.js +49 -14
  39. package/lib/__templates__/taro/.coze +14 -0
  40. package/lib/__templates__/taro/.cozeproj/scripts/deploy_build.sh +19 -0
  41. package/lib/__templates__/taro/.cozeproj/scripts/deploy_run.sh +14 -0
  42. package/lib/__templates__/taro/.cozeproj/scripts/dev_build.sh +2 -0
  43. package/lib/__templates__/taro/.cozeproj/scripts/dev_run.sh +151 -0
  44. package/lib/__templates__/taro/.cozeproj/scripts/init_env.sh +5 -0
  45. package/lib/__templates__/taro/.cozeproj/scripts/pack.sh +24 -0
  46. package/lib/__templates__/taro/README.md +751 -0
  47. package/lib/__templates__/taro/_gitignore +40 -0
  48. package/lib/__templates__/taro/_npmrc +18 -0
  49. package/lib/__templates__/taro/babel.config.js +12 -0
  50. package/lib/__templates__/taro/config/dev.ts +9 -0
  51. package/lib/__templates__/taro/config/index.ts +174 -0
  52. package/lib/__templates__/taro/config/prod.ts +35 -0
  53. package/lib/__templates__/taro/eslint.config.mjs +80 -0
  54. package/lib/__templates__/taro/key/private.appid.key +0 -0
  55. package/lib/__templates__/taro/package.json +97 -0
  56. package/lib/__templates__/taro/pnpm-lock.yaml +22706 -0
  57. package/lib/__templates__/taro/pnpm-workspace.yaml +2 -0
  58. package/lib/__templates__/taro/project.config.json +15 -0
  59. package/lib/__templates__/taro/server/nest-cli.json +10 -0
  60. package/lib/__templates__/taro/server/package.json +40 -0
  61. package/lib/__templates__/taro/server/src/app.controller.ts +23 -0
  62. package/lib/__templates__/taro/server/src/app.module.ts +10 -0
  63. package/lib/__templates__/taro/server/src/app.service.ts +8 -0
  64. package/lib/__templates__/taro/server/src/interceptors/http-status.interceptor.ts +23 -0
  65. package/lib/__templates__/taro/server/src/main.ts +49 -0
  66. package/lib/__templates__/taro/server/tsconfig.json +24 -0
  67. package/lib/__templates__/taro/src/app.config.ts +11 -0
  68. package/lib/__templates__/taro/src/app.css +52 -0
  69. package/lib/__templates__/taro/src/app.tsx +9 -0
  70. package/lib/__templates__/taro/src/index.html +39 -0
  71. package/lib/__templates__/taro/src/network.ts +39 -0
  72. package/lib/__templates__/taro/src/pages/index/index.config.ts +3 -0
  73. package/lib/__templates__/taro/src/pages/index/index.css +1 -0
  74. package/lib/__templates__/taro/src/pages/index/index.tsx +33 -0
  75. package/lib/__templates__/taro/src/presets/h5-container.tsx +17 -0
  76. package/lib/__templates__/taro/src/presets/h5-navbar.tsx +167 -0
  77. package/lib/__templates__/taro/src/presets/h5-styles.ts +88 -0
  78. package/lib/__templates__/taro/src/presets/index.tsx +18 -0
  79. package/lib/__templates__/taro/src/presets/wx-debug.ts +23 -0
  80. package/lib/__templates__/taro/stylelint.config.mjs +4 -0
  81. package/lib/__templates__/taro/template.config.js +68 -0
  82. package/lib/__templates__/taro/tsconfig.json +29 -0
  83. package/lib/__templates__/taro/types/global.d.ts +32 -0
  84. package/lib/__templates__/templates.json +43 -0
  85. package/lib/__templates__/vite/package.json +5 -1
  86. package/lib/__templates__/vite/pnpm-lock.yaml +146 -1659
  87. package/lib/__templates__/vite/src/main.ts +17 -47
  88. package/lib/__templates__/vite/template.config.js +49 -14
  89. package/lib/__templates__/vite/vite.config.ts +1 -0
  90. package/lib/cli.js +838 -130
  91. package/package.json +2 -1
@@ -3,18 +3,20 @@
3
3
  "private": true,
4
4
  "type": "module",
5
5
  "scripts": {
6
- "preinstall": "npx only-allow pnpm",
7
- "dev": "bash ../.cozeproj/scripts/server_dev_run.sh",
8
6
  "build": "node build.js",
7
+ "dev": "bash ../.cozeproj/scripts/server_dev_run.sh",
8
+ "preinstall": "npx only-allow pnpm",
9
9
  "start": "NODE_ENV=production PORT=${PORT:-5000} node dist/index.js"
10
10
  },
11
11
  "dependencies": {
12
- "express": "^4.22.1",
12
+ "@supabase/supabase-js": "2.95.3",
13
13
  "cors": "^2.8.5",
14
- "coze-coding-dev-sdk": "^0.7.2",
14
+ "coze-coding-dev-sdk": "^0.7.16",
15
15
  "dayjs": "^1.11.19",
16
+ "dotenv": "^17.2.3",
16
17
  "drizzle-orm": "^0.45.1",
17
18
  "drizzle-zod": "^0.8.3",
19
+ "express": "^4.22.1",
18
20
  "multer": "^2.0.2",
19
21
  "pg": "^8.16.3",
20
22
  "zod": "^4.2.1"
@@ -22,11 +24,11 @@
22
24
  "devDependencies": {
23
25
  "@types/cors": "^2.8.19",
24
26
  "@types/express": "^5.0.6",
25
- "tsx": "^4.21.0",
26
27
  "@types/multer": "^2.0.0",
27
28
  "@types/pg": "^8.16.0",
29
+ "drizzle-kit": "^0.31.8",
28
30
  "esbuild": "0.27.2",
29
- "typescript": "^5.8.3",
30
- "drizzle-kit": "^0.31.8"
31
+ "tsx": "^4.21.0",
32
+ "typescript": "^5.8.3"
31
33
  }
32
34
  }
@@ -10,6 +10,7 @@ app.use(express.json({ limit: '50mb' }));
10
10
  app.use(express.urlencoded({ limit: '50mb', extended: true }));
11
11
 
12
12
  app.get('/api/v1/health', (req, res) => {
13
+ console.log('Health check success');
13
14
  res.status(200).json({ status: 'ok' });
14
15
  });
15
16
 
@@ -1,5 +1,8 @@
1
1
 
2
2
 
3
+ import { spawn } from 'child_process';
4
+ import { resolve, join, basename } from 'path';
5
+ import { appendFileSync, openSync, closeSync, mkdirSync } from 'fs';
3
6
 
4
7
 
5
8
 
@@ -45,6 +48,59 @@ const config = {
45
48
  console.log(` - Framework: Expo`);
46
49
  console.log(` - Port: ${context.port}`);
47
50
  },
51
+ onComplete: async (_context, outputPath) => {
52
+ // Skip pnpm update in test environment to avoid monorepo workspace issues
53
+ if (process.env.NODE_ENV === 'test') {
54
+ console.log('⊘ Skipping dependency update in test environment');
55
+ return;
56
+ }
57
+
58
+ const cmd = 'pnpm';
59
+ const args = ['-r', 'up', 'coze-coding-dev-sdk@^0.7.0'];
60
+ console.log(
61
+ `\nTriggering: ${cmd} ${args.join(' ')} (running in background)`,
62
+ );
63
+
64
+ try {
65
+ const projectRoot = resolve(outputPath);
66
+
67
+ // Determine log directory
68
+ const logDir = process.env.COZE_LOG_DIR || resolve(__dirname, '../.log');
69
+ mkdirSync(logDir, { recursive: true });
70
+
71
+ // Use project name in log file to avoid conflicts
72
+ const projectName = basename(projectRoot);
73
+ const logFile = join(logDir, `${projectName}-init.log`);
74
+
75
+ // Write log header
76
+ const timestamp = new Date().toISOString();
77
+ appendFileSync(
78
+ logFile,
79
+ `\n=== [${timestamp}] ${cmd} ${args.join(' ')} ===\n`,
80
+ );
81
+
82
+ // Open log file for appending
83
+ const logFd = openSync(logFile, 'a');
84
+
85
+ // Spawn in detached mode
86
+ const child = spawn(cmd, args, {
87
+ cwd: projectRoot,
88
+ detached: true,
89
+ stdio: ['ignore', logFd, logFd],
90
+ });
91
+
92
+ child.unref();
93
+ closeSync(logFd);
94
+
95
+ console.log(
96
+ '✓ coze-coding-dev-sdk update triggered (running in background)',
97
+ );
98
+ console.log(` Log file: ${logFile}`);
99
+ } catch (error) {
100
+ console.error('✗ Failed to trigger coze-coding-dev-sdk update:', error);
101
+ console.log(' You can manually run: pnpm update coze-coding-dev-sdk');
102
+ }
103
+ },
48
104
  };
49
105
 
50
106
  export default config;
@@ -0,0 +1,11 @@
1
+ [project]
2
+ entrypoint = "index.html"
3
+ requires = ["python-3.12"]
4
+
5
+ [dev]
6
+ build = []
7
+ run = ["python", "-m", "http.server", "5000", "--bind", "0.0.0.0"]
8
+
9
+ [deploy]
10
+ build = []
11
+ run = ["python", "-m", "http.server", "5000", "--bind", "0.0.0.0"]
@@ -0,0 +1,33 @@
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
+ <meta name="description" content="扣子编程,你的 AI 开发伙伴已就位" />
7
+ <title>扣子编程 - AI 开发伙伴</title>
8
+ <link rel="stylesheet" href="/styles/main.css" />
9
+ </head>
10
+ <body>
11
+ <div id="app">
12
+ <main class="main-wrapper">
13
+ <div class="content-container">
14
+ <img
15
+ src="https://lf-coze-web-cdn.coze.cn/obj/eden-cn/lm-lgvj/ljhwZthlaukjlkulzlp/coze-coding/icon/coze-coding.gif"
16
+ alt="扣子编程 Logo"
17
+ class="logo-image"
18
+ />
19
+ <div>
20
+ <div class="text-container">
21
+ <h1 class="heading">
22
+ 应用开发中
23
+ </h1>
24
+ <p class="description">
25
+ 请稍后,页面即将呈现
26
+ </p>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </main>
31
+ </div>
32
+ </body>
33
+ </html>
@@ -0,0 +1,136 @@
1
+ /* ABOUTME: Main stylesheet for native-static template */
2
+ /* ABOUTME: Provides layout, typography, and theme styles without external dependencies */
3
+
4
+ /* Reset and base styles */
5
+ * {
6
+ margin: 0;
7
+ padding: 0;
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ :root {
12
+ /* Light theme colors */
13
+ --background: #ffffff;
14
+ --foreground: #171717;
15
+ --muted-foreground: #71717a;
16
+
17
+ /* Spacing */
18
+ --spacing-2: 0.5rem;
19
+ --spacing-4: 1rem;
20
+ --spacing-16: 4rem;
21
+ --spacing-32: 8rem;
22
+
23
+ /* Typography */
24
+ --font-size-base: 1rem;
25
+ --font-size-sm: 0.875rem;
26
+ --line-height-tight: 1.25;
27
+ --line-height-relaxed: 2;
28
+ --letter-spacing-tight: -0.025em;
29
+
30
+ /* Transitions */
31
+ --transition-duration: 300ms;
32
+ }
33
+
34
+ /* Dark theme */
35
+ @media (prefers-color-scheme: dark) {
36
+ :root {
37
+ --background: #0a0a0a;
38
+ --foreground: #ededed;
39
+ --muted-foreground: #a1a1aa;
40
+ }
41
+ }
42
+
43
+ body {
44
+ background: var(--background);
45
+ color: var(--foreground);
46
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
47
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
48
+ sans-serif;
49
+ -webkit-font-smoothing: antialiased;
50
+ -moz-osx-font-smoothing: grayscale;
51
+ margin: 0;
52
+ padding: 0;
53
+ }
54
+
55
+ /* App container */
56
+ #app {
57
+ display: flex;
58
+ height: 100%;
59
+ min-height: 100vh;
60
+ align-items: center;
61
+ justify-content: center;
62
+ overflow: hidden;
63
+ }
64
+
65
+ /* Main content wrapper */
66
+ .main-wrapper {
67
+ display: flex;
68
+ width: 100%;
69
+ height: 100%;
70
+ max-width: 48rem;
71
+ flex-direction: column;
72
+ align-items: center;
73
+ justify-content: center;
74
+ padding-left: var(--spacing-16);
75
+ padding-right: var(--spacing-16);
76
+ padding-top: var(--spacing-32);
77
+ padding-bottom: var(--spacing-32);
78
+ }
79
+
80
+ /* Content container */
81
+ .content-container {
82
+ display: flex;
83
+ flex-direction: column;
84
+ align-items: center;
85
+ justify-content: space-between;
86
+ gap: var(--spacing-4);
87
+ }
88
+
89
+ /* Logo image */
90
+ .logo-image {
91
+ width: 156px;
92
+ height: 130px;
93
+ object-fit: contain;
94
+ }
95
+
96
+ /* Text container */
97
+ .text-container {
98
+ display: flex;
99
+ flex-direction: column;
100
+ align-items: center;
101
+ gap: var(--spacing-2);
102
+ text-align: center;
103
+ }
104
+
105
+ /* Heading */
106
+ .heading {
107
+ max-width: 36rem;
108
+ font-size: var(--font-size-base);
109
+ font-weight: 600;
110
+ line-height: var(--line-height-tight);
111
+ letter-spacing: var(--letter-spacing-tight);
112
+ color: var(--foreground);
113
+ }
114
+
115
+ /* Description text */
116
+ .description {
117
+ max-width: 42rem;
118
+ font-size: var(--font-size-sm);
119
+ line-height: var(--line-height-relaxed);
120
+ color: var(--muted-foreground);
121
+ }
122
+
123
+ /* Responsive design */
124
+ @media (max-width: 640px) {
125
+ .main-wrapper {
126
+ padding-left: 1rem;
127
+ padding-right: 1rem;
128
+ padding-top: 2rem;
129
+ padding-bottom: 2rem;
130
+ }
131
+
132
+ .logo-image {
133
+ width: 120px;
134
+ height: 100px;
135
+ }
136
+ }
@@ -0,0 +1,22 @@
1
+
2
+
3
+
4
+
5
+
6
+ // start_aigc
7
+ const config = {
8
+ description:
9
+ 'Native Static(纯静态):`coze init ${COZE_WORKSPACE_PATH} --template native-static`\n' +
10
+ '- 适用:纯静态 HTML/CSS/JS 项目、静态网站\n' +
11
+ '- 使用 Python http.server 作为开发服务器\n' +
12
+ '- 不需要 Node.js 环境,适合简单静态内容',
13
+ paramsSchema: {
14
+ type: 'object',
15
+ properties: {},
16
+ required: [],
17
+ additionalProperties: false,
18
+ },
19
+ };
20
+ // end_aigc
21
+
22
+ export default config;
@@ -0,0 +1,15 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "next/babel",
5
+ {
6
+ "preset-react": {
7
+ "development": true
8
+ }
9
+ }
10
+ ]
11
+ ],
12
+ "plugins": [
13
+ "@react-dev-inspector/babel-plugin"
14
+ ]
15
+ }
@@ -40,11 +40,13 @@
40
40
  "@radix-ui/react-toggle": "^1.1.10",
41
41
  "@radix-ui/react-toggle-group": "^1.1.11",
42
42
  "@radix-ui/react-tooltip": "^1.2.8",
43
+ "@supabase/supabase-js": "2.95.3",
43
44
  "class-variance-authority": "^0.7.1",
44
45
  "clsx": "^2.1.1",
45
46
  "cmdk": "^1.1.1",
46
- "coze-coding-dev-sdk": "^0.7.3",
47
+ "coze-coding-dev-sdk": "^0.7.16",
47
48
  "date-fns": "^4.1.0",
49
+ "dotenv": "^17.2.3",
48
50
  "drizzle-kit": "^0.31.8",
49
51
  "drizzle-orm": "^0.45.1",
50
52
  "drizzle-zod": "^0.8.3",
@@ -67,6 +69,8 @@
67
69
  "zod": "^4.3.5"
68
70
  },
69
71
  "devDependencies": {
72
+ "@react-dev-inspector/babel-plugin": "^2.0.1",
73
+ "@react-dev-inspector/middleware": "^2.0.1",
70
74
  "@tailwindcss/postcss": "^4",
71
75
  "@types/node": "^20",
72
76
  "@types/pg": "^8.16.0",
@@ -75,6 +79,7 @@
75
79
  "eslint": "^9",
76
80
  "eslint-config-next": "16.1.1",
77
81
  "only-allow": "^1.2.2",
82
+ "react-dev-inspector": "^2.0.1",
78
83
  "shadcn": "latest",
79
84
  "tailwindcss": "^4",
80
85
  "typescript": "^5"