create-m5kdev 0.41.0 → 0.43.0
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.
- package/package.json +1 -1
- package/templates/minimal-app/.cursor/rules/frontend-component-guide.mdc +95 -95
- package/templates/minimal-app/.cursor/rules/frontend-data-guide.mdc +103 -103
- package/templates/minimal-app/.cursor/rules/frontend-form-guide.mdc +80 -80
- package/templates/minimal-app/.cursor/rules/frontend-hook-guide.mdc +79 -79
- package/templates/minimal-app/.cursor/rules/frontend-i18n-guide.mdc +45 -45
- package/templates/minimal-app/.cursor/rules/module-dto-guide.mdc +60 -60
- package/templates/minimal-app/.cursor/rules/module-prompt-guide.mdc +214 -214
- package/templates/minimal-app/.cursor/rules/module-repository-guide.mdc +167 -167
- package/templates/minimal-app/.cursor/rules/module-schema-guide.mdc +53 -53
- package/templates/minimal-app/.cursor/rules/module-service-guide.mdc +367 -367
- package/templates/minimal-app/.cursor/rules/module-trpc-guide.mdc +71 -71
- package/templates/minimal-app/.github/workflows/check.yml.tpl +21 -0
- package/templates/minimal-app/AGENTS.md.tpl +22 -31
- package/templates/minimal-app/CLAUDE.md.tpl +17 -3
- package/templates/minimal-app/GLOSSARY.md.tpl +181 -0
- package/templates/minimal-app/README.md.tpl +14 -6
- package/templates/minimal-app/apps/.gitignore.tpl +13 -13
- package/templates/minimal-app/apps/e2e/package.json.tpl +23 -23
- package/templates/minimal-app/apps/e2e/servers.ts.tpl +22 -6
- package/templates/minimal-app/apps/email/package.json.tpl +34 -34
- package/templates/minimal-app/apps/expo/.gitignore.tpl +44 -44
- package/templates/minimal-app/apps/expo/.prettierignore +13 -13
- package/templates/minimal-app/apps/expo/.prettierrc.json.tpl +9 -9
- package/templates/minimal-app/apps/expo/CHANGELOG.md.tpl +156 -156
- package/templates/minimal-app/apps/expo/README.md.tpl +44 -44
- package/templates/minimal-app/apps/expo/expo-env.d.ts.tpl +3 -0
- package/templates/minimal-app/apps/expo/package.json.tpl +63 -63
- package/templates/minimal-app/apps/expo/uniwind-types.d.ts.tpl +10 -0
- package/templates/minimal-app/apps/landing/package.json.tpl +34 -34
- package/templates/minimal-app/apps/server/AGENTS.md.tpl +1 -1
- package/templates/minimal-app/apps/server/drizzle/0000_whole_echo.sql +366 -366
- package/templates/minimal-app/apps/server/drizzle/0002_crazy_lilith.sql +46 -46
- package/templates/minimal-app/apps/server/drizzle/0003_freezing_fantastic_four.sql +3 -3
- package/templates/minimal-app/apps/server/drizzle/0004_slow_ezekiel_stane.sql +98 -98
- package/templates/minimal-app/apps/server/drizzle/0005_wonderful_the_professor.sql +1 -1
- package/templates/minimal-app/apps/server/drizzle/0006_lazy_blue_marvel.sql +158 -158
- package/templates/minimal-app/apps/server/drizzle/0007_abnormal_ultimo.sql +1 -1
- package/templates/minimal-app/apps/server/drizzle/0008_steady_nekra.sql +86 -86
- package/templates/minimal-app/apps/server/drizzle/meta/0000_snapshot.json.tpl +2624 -2624
- package/templates/minimal-app/apps/server/drizzle/meta/0001_snapshot.json.tpl +2670 -2670
- package/templates/minimal-app/apps/server/drizzle/meta/0002_snapshot.json.tpl +2715 -2715
- package/templates/minimal-app/apps/server/drizzle/meta/0003_snapshot.json.tpl +2687 -2687
- package/templates/minimal-app/apps/server/drizzle/meta/0004_snapshot.json.tpl +2497 -2497
- package/templates/minimal-app/apps/server/drizzle/meta/0005_snapshot.json.tpl +2483 -2483
- package/templates/minimal-app/apps/server/drizzle/meta/0006_snapshot.json.tpl +3602 -3602
- package/templates/minimal-app/apps/server/drizzle/meta/0007_snapshot.json.tpl +3619 -3619
- package/templates/minimal-app/apps/server/drizzle/meta/0008_snapshot.json.tpl +3619 -3619
- package/templates/minimal-app/apps/server/drizzle/meta/_journal.json.tpl +76 -76
- package/templates/minimal-app/apps/server/drizzle-postgresql/0000_glorious_warhawk.sql +522 -0
- package/templates/minimal-app/apps/server/drizzle-postgresql/meta/0000_snapshot.json.tpl +3555 -0
- package/templates/minimal-app/apps/server/drizzle-postgresql/meta/_journal.json.tpl +13 -0
- package/templates/minimal-app/apps/server/drizzle.config.ts.tpl +1 -1
- package/templates/minimal-app/apps/server/mastra.ts.tpl +42 -0
- package/templates/minimal-app/apps/server/package.json.tpl +9 -4
- package/templates/minimal-app/apps/server/src/app.ts.tpl +21 -16
- package/templates/minimal-app/apps/server/src/drizzle.schema.ts.tpl +2 -0
- package/templates/minimal-app/apps/server/src/modules/conversation/conversation.mastra.ts.tpl +48 -0
- package/templates/minimal-app/apps/server/src/modules/conversation/conversation.persistence.ts.tpl +47 -0
- package/templates/minimal-app/apps/server/src/modules/posts/posts.db.ts.tpl +7 -6
- package/templates/minimal-app/apps/server/src/modules/posts/posts.repository.ts.tpl +2 -2
- package/templates/minimal-app/apps/shared/.env.example.tpl +6 -3
- package/templates/minimal-app/apps/shared/.env.production.example.tpl +7 -2
- package/templates/minimal-app/apps/shared/.env.tpl +6 -3
- package/templates/minimal-app/apps/shared/Dockerfile.pgbouncer +6 -0
- package/templates/minimal-app/apps/shared/compose.yaml.tpl +27 -0
- package/templates/minimal-app/apps/shared/fly.toml.tpl +0 -4
- package/templates/minimal-app/apps/shared/package.json.tpl +27 -27
- package/templates/minimal-app/apps/shared/pgbouncer.ini +13 -0
- package/templates/minimal-app/apps/shared/pgbouncer.users +1 -0
- package/templates/minimal-app/apps/webapp/AGENTS.md.tpl +24 -24
- package/templates/minimal-app/apps/webapp/index.html.tpl +22 -22
- package/templates/minimal-app/apps/webapp/package.json.tpl +53 -53
- package/templates/minimal-app/apps/webapp/public/logo.svg.tpl +6 -6
- package/templates/minimal-app/apps/webapp/translations/en/{{APP_SLUG}}.json.tpl +1 -1
- package/templates/minimal-app/biome.json.tpl +1 -0
- package/templates/minimal-app/docs/adr/.gitkeep +0 -0
- package/templates/minimal-app/docs/agents/domain.md.tpl +38 -0
- package/templates/minimal-app/docs/agents/issue-tracker.md.tpl +45 -0
- package/templates/minimal-app/docs/agents/triage-labels.md.tpl +15 -0
- package/templates/minimal-app/package.json.tpl +5 -0
- package/templates/minimal-app/pnpm-workspace.yaml.tpl +16 -13
- package/templates/minimal-app/template.manifest.json +21 -0
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{PACKAGE_SCOPE}}/expo",
|
|
3
|
-
"version": "1.5.3",
|
|
4
|
-
"private": true,
|
|
5
|
-
"main": "expo-router/entry",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"build": "expo export --platform web --output-dir dist",
|
|
8
|
-
"start": "expo start",
|
|
9
|
-
"dev:standard": "EXPO_PUBLIC_ENABLE_WAITLIST=false EXPO_PUBLIC_SERVER_URL=http://127.0.0.1:18182 EXPO_PUBLIC_APP_URL=http://127.0.0.1:15183 EXPO_NO_TELEMETRY=1 BROWSER=none expo start --web --port 15183 --host localhost",
|
|
10
|
-
"dev:waitlist": "EXPO_PUBLIC_ENABLE_WAITLIST=true EXPO_PUBLIC_SERVER_URL=http://127.0.0.1:18183 EXPO_PUBLIC_APP_URL=http://127.0.0.1:15184 EXPO_NO_TELEMETRY=1 BROWSER=none expo start --web --port 15184 --host localhost",
|
|
11
|
-
"android": "expo start --android",
|
|
12
|
-
"ios": "expo start --ios",
|
|
13
|
-
"lint": "biome check app.json package.json metro.config.js eslint.config.js src tsconfig.json uniwind-env.d.ts",
|
|
14
|
-
"lint:fix": "biome check app.json package.json metro.config.js eslint.config.js src tsconfig.json uniwind-env.d.ts --write",
|
|
15
|
-
"format": "prettier --write .",
|
|
16
|
-
"format:check": "prettier --check .",
|
|
17
|
-
"check-types": "tsc --noEmit",
|
|
18
|
-
"typecheck": "pnpm check-types"
|
|
19
|
-
},
|
|
20
|
-
"dependencies": {
|
|
21
|
-
"@expo/metro-runtime": "~56.0.13",
|
|
22
|
-
"@gorhom/bottom-sheet": "^5.2.14",
|
|
23
|
-
"@m5kdev/commons": "catalog:m5kdev",
|
|
24
|
-
"@m5kdev/expo": "catalog:m5kdev",
|
|
25
|
-
"@m5kdev/frontend": "catalog:m5kdev",
|
|
26
|
-
"@trpc/client": "catalog:m5kdev",
|
|
27
|
-
"@tanstack/react-query": "catalog:m5kdev",
|
|
28
|
-
"expo": "~56.0.5",
|
|
29
|
-
"expo-constants": "~56.0.16",
|
|
30
|
-
"expo-linking": "~56.0.12",
|
|
31
|
-
"expo-notifications": "~56.0.18",
|
|
32
|
-
"expo-router": "~56.2.7",
|
|
33
|
-
"expo-splash-screen": "~56.0.10",
|
|
34
|
-
"expo-status-bar": "~56.0.4",
|
|
35
|
-
"heroui-native": "^1.0.2",
|
|
36
|
-
"{{PACKAGE_SCOPE}}/shared": "workspace:*",
|
|
37
|
-
"react": "catalog:m5kdev",
|
|
38
|
-
"react-dom": "catalog:m5kdev",
|
|
39
|
-
"react-native": "0.85.3",
|
|
40
|
-
"react-native-gesture-handler": "~2.31.2",
|
|
41
|
-
"react-native-reanimated": "~4.3.1",
|
|
42
|
-
"react-native-safe-area-context": "~5.7.0",
|
|
43
|
-
"react-native-screens": "~4.25.2",
|
|
44
|
-
"react-native-svg": "15.15.4",
|
|
45
|
-
"react-native-web": "catalog:m5kdev",
|
|
46
|
-
"react-native-worklets": "0.8.3",
|
|
47
|
-
"tailwind-merge": "catalog:m5kdev",
|
|
48
|
-
"tailwind-variants": "^3.2.2",
|
|
49
|
-
"tailwindcss": "catalog:m5kdev",
|
|
50
|
-
"uniwind": "^1.5.0"
|
|
51
|
-
},
|
|
52
|
-
"devDependencies": {
|
|
53
|
-
"{{PACKAGE_SCOPE}}/server": "workspace:*",
|
|
54
|
-
"@biomejs/biome": "catalog:m5kdev",
|
|
55
|
-
"@m5kdev/backend": "catalog:m5kdev",
|
|
56
|
-
"@m5kdev/config": "catalog:m5kdev",
|
|
57
|
-
"@types/react": "catalog:m5kdev",
|
|
58
|
-
"eslint": "^9.39.4",
|
|
59
|
-
"eslint-config-expo": "^56.0.4",
|
|
60
|
-
"prettier": "^3.8.3",
|
|
61
|
-
"typescript": "catalog:m5kdev"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{PACKAGE_SCOPE}}/expo",
|
|
3
|
+
"version": "1.5.3",
|
|
4
|
+
"private": true,
|
|
5
|
+
"main": "expo-router/entry",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "expo export --platform web --output-dir dist",
|
|
8
|
+
"start": "expo start",
|
|
9
|
+
"dev:standard": "EXPO_PUBLIC_ENABLE_WAITLIST=false EXPO_PUBLIC_SERVER_URL=http://127.0.0.1:18182 EXPO_PUBLIC_APP_URL=http://127.0.0.1:15183 EXPO_NO_TELEMETRY=1 BROWSER=none expo start --web --port 15183 --host localhost",
|
|
10
|
+
"dev:waitlist": "EXPO_PUBLIC_ENABLE_WAITLIST=true EXPO_PUBLIC_SERVER_URL=http://127.0.0.1:18183 EXPO_PUBLIC_APP_URL=http://127.0.0.1:15184 EXPO_NO_TELEMETRY=1 BROWSER=none expo start --web --port 15184 --host localhost",
|
|
11
|
+
"android": "expo start --android",
|
|
12
|
+
"ios": "expo start --ios",
|
|
13
|
+
"lint": "biome check app.json package.json metro.config.js eslint.config.js src tsconfig.json uniwind-env.d.ts",
|
|
14
|
+
"lint:fix": "biome check app.json package.json metro.config.js eslint.config.js src tsconfig.json uniwind-env.d.ts --write",
|
|
15
|
+
"format": "prettier --write .",
|
|
16
|
+
"format:check": "prettier --check .",
|
|
17
|
+
"check-types": "tsc --noEmit",
|
|
18
|
+
"typecheck": "pnpm check-types"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@expo/metro-runtime": "~56.0.13",
|
|
22
|
+
"@gorhom/bottom-sheet": "^5.2.14",
|
|
23
|
+
"@m5kdev/commons": "catalog:m5kdev",
|
|
24
|
+
"@m5kdev/expo": "catalog:m5kdev",
|
|
25
|
+
"@m5kdev/frontend": "catalog:m5kdev",
|
|
26
|
+
"@trpc/client": "catalog:m5kdev",
|
|
27
|
+
"@tanstack/react-query": "catalog:m5kdev",
|
|
28
|
+
"expo": "~56.0.5",
|
|
29
|
+
"expo-constants": "~56.0.16",
|
|
30
|
+
"expo-linking": "~56.0.12",
|
|
31
|
+
"expo-notifications": "~56.0.18",
|
|
32
|
+
"expo-router": "~56.2.7",
|
|
33
|
+
"expo-splash-screen": "~56.0.10",
|
|
34
|
+
"expo-status-bar": "~56.0.4",
|
|
35
|
+
"heroui-native": "^1.0.2",
|
|
36
|
+
"{{PACKAGE_SCOPE}}/shared": "workspace:*",
|
|
37
|
+
"react": "catalog:m5kdev",
|
|
38
|
+
"react-dom": "catalog:m5kdev",
|
|
39
|
+
"react-native": "0.85.3",
|
|
40
|
+
"react-native-gesture-handler": "~2.31.2",
|
|
41
|
+
"react-native-reanimated": "~4.3.1",
|
|
42
|
+
"react-native-safe-area-context": "~5.7.0",
|
|
43
|
+
"react-native-screens": "~4.25.2",
|
|
44
|
+
"react-native-svg": "15.15.4",
|
|
45
|
+
"react-native-web": "catalog:m5kdev",
|
|
46
|
+
"react-native-worklets": "0.8.3",
|
|
47
|
+
"tailwind-merge": "catalog:m5kdev",
|
|
48
|
+
"tailwind-variants": "^3.2.2",
|
|
49
|
+
"tailwindcss": "catalog:m5kdev",
|
|
50
|
+
"uniwind": "^1.5.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"{{PACKAGE_SCOPE}}/server": "workspace:*",
|
|
54
|
+
"@biomejs/biome": "catalog:m5kdev",
|
|
55
|
+
"@m5kdev/backend": "catalog:m5kdev",
|
|
56
|
+
"@m5kdev/config": "catalog:m5kdev",
|
|
57
|
+
"@types/react": "catalog:m5kdev",
|
|
58
|
+
"eslint": "^9.39.4",
|
|
59
|
+
"eslint-config-expo": "^56.0.4",
|
|
60
|
+
"prettier": "^3.8.3",
|
|
61
|
+
"typescript": "catalog:m5kdev"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{PACKAGE_SCOPE}}/landing",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "0.0.0",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"dev": "vite",
|
|
8
|
-
"build": "vite build",
|
|
9
|
-
"start": "vite preview --host 0.0.0.0 --port 8080",
|
|
10
|
-
"lint": "biome check .",
|
|
11
|
-
"lint:fix": "biome check . --write",
|
|
12
|
-
"check-types": "tsc --noEmit"
|
|
13
|
-
},
|
|
14
|
-
"dependencies": {
|
|
15
|
-
"@heroui/react": "catalog:m5kdev",
|
|
16
|
-
"@heroui/styles": "catalog:m5kdev",
|
|
17
|
-
"react": "catalog:m5kdev",
|
|
18
|
-
"react-dom": "catalog:m5kdev",
|
|
19
|
-
"react-router": "catalog:m5kdev",
|
|
20
|
-
"tailwindcss": "catalog:m5kdev",
|
|
21
|
-
"tw-animate-css": "catalog:m5kdev",
|
|
22
|
-
"vite": "catalog:m5kdev"
|
|
23
|
-
},
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"@m5kdev/config": "catalog:m5kdev",
|
|
26
|
-
"@tailwindcss/vite": "catalog:m5kdev",
|
|
27
|
-
"@types/react": "catalog:m5kdev",
|
|
28
|
-
"@types/react-dom": "catalog:m5kdev",
|
|
29
|
-
"@vitejs/plugin-react": "catalog:m5kdev",
|
|
30
|
-
"babel-plugin-react-compiler": "catalog:m5kdev",
|
|
31
|
-
"typescript": "catalog:m5kdev",
|
|
32
|
-
"vite-tsconfig-paths": "catalog:m5kdev"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{PACKAGE_SCOPE}}/landing",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "vite build",
|
|
9
|
+
"start": "vite preview --host 0.0.0.0 --port 8080",
|
|
10
|
+
"lint": "biome check .",
|
|
11
|
+
"lint:fix": "biome check . --write",
|
|
12
|
+
"check-types": "tsc --noEmit"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@heroui/react": "catalog:m5kdev",
|
|
16
|
+
"@heroui/styles": "catalog:m5kdev",
|
|
17
|
+
"react": "catalog:m5kdev",
|
|
18
|
+
"react-dom": "catalog:m5kdev",
|
|
19
|
+
"react-router": "catalog:m5kdev",
|
|
20
|
+
"tailwindcss": "catalog:m5kdev",
|
|
21
|
+
"tw-animate-css": "catalog:m5kdev",
|
|
22
|
+
"vite": "catalog:m5kdev"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@m5kdev/config": "catalog:m5kdev",
|
|
26
|
+
"@tailwindcss/vite": "catalog:m5kdev",
|
|
27
|
+
"@types/react": "catalog:m5kdev",
|
|
28
|
+
"@types/react-dom": "catalog:m5kdev",
|
|
29
|
+
"@vitejs/plugin-react": "catalog:m5kdev",
|
|
30
|
+
"babel-plugin-react-compiler": "catalog:m5kdev",
|
|
31
|
+
"typescript": "catalog:m5kdev",
|
|
32
|
+
"vite-tsconfig-paths": "catalog:m5kdev"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -35,7 +35,7 @@ apps/server/src/modules/<module>/
|
|
|
35
35
|
// m5k:ai:start
|
|
36
36
|
- `AIModule` is registered in `app.ts` with an app-owned Mastra Agent (`assistant`). Conversation HTTP lives on `/ai`. Set `OPENROUTER_API_KEY` for live replies. Do not add a Starter service wrapper around `AIService` chat.
|
|
37
37
|
// m5k:ai:end
|
|
38
|
-
- Database commands live in server `db.ts`
|
|
38
|
+
- Database commands live in server `db.ts` and call Kernel `runDb` through `DATABASE_DIRECT_URL`, without importing `app.ts`. Runtime uses `DATABASE_URL` through PgBouncer. Reset requires a disposable environment and preserves Mastra/vector data.
|
|
39
39
|
|
|
40
40
|
## Avoid Trivial Service Delegation
|
|
41
41
|
|