create-lumen 1.2.0 → 2.0.0-alpha.1

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 (146) hide show
  1. package/README.md +71 -9
  2. package/bin/cli.js +18 -4
  3. package/package.json +15 -4
  4. package/schema/fixtures/index.js +62 -0
  5. package/schema/fixtures/v2/invalid/architecture-preset-type-mismatch.json +35 -0
  6. package/schema/fixtures/v2/invalid/harness-empty-commands.json +37 -0
  7. package/schema/fixtures/v2/invalid/harness-missing-command.json +41 -0
  8. package/schema/fixtures/v2/invalid/invalid-manifest-version.json +33 -0
  9. package/schema/fixtures/v2/invalid/invalid-validation-mode.json +34 -0
  10. package/schema/fixtures/v2/invalid/malformed-paths.json +33 -0
  11. package/schema/fixtures/v2/invalid/missing-required-fields.json +17 -0
  12. package/schema/fixtures/v2/invalid/next-type-based.json +33 -0
  13. package/schema/fixtures/v2/invalid/next-vite.json +33 -0
  14. package/schema/fixtures/v2/invalid/react-bundler.json +34 -0
  15. package/schema/fixtures/v2/invalid/react-hybrid.json +33 -0
  16. package/schema/fixtures/v2/invalid/react-variant-mismatch.json +33 -0
  17. package/schema/fixtures/v2/invalid/shadcn-without-tailwind.json +33 -0
  18. package/schema/fixtures/v2/invalid/v1-flat-config.json +11 -0
  19. package/schema/fixtures/v2/valid/full-kitchen-sink.json +35 -0
  20. package/schema/fixtures/v2/valid/harness-full.json +44 -0
  21. package/schema/fixtures/v2/valid/next-app-router-feature-based.json +35 -0
  22. package/schema/fixtures/v2/valid/next-app-router-hybrid.json +35 -0
  23. package/schema/fixtures/v2/valid/next-app-router-none.json +33 -0
  24. package/schema/fixtures/v2/valid/next-pages-router-feature-based.json +35 -0
  25. package/schema/fixtures/v2/valid/next-pages-router-hybrid.json +35 -0
  26. package/schema/fixtures/v2/valid/next-pages-router-none.json +33 -0
  27. package/schema/fixtures/v2/valid/react-vite-feature-based.json +33 -0
  28. package/schema/fixtures/v2/valid/react-vite-none.json +33 -0
  29. package/schema/fixtures/v2/valid/react-vite-type-based.json +33 -0
  30. package/schema/fixtures/v2/valid/validation-none.json +41 -0
  31. package/schema/fixtures/v2/valid/validation-relaxed.json +41 -0
  32. package/schema/lumen.config.v2.json +269 -0
  33. package/skills/create-lumen/SKILL.md +110 -0
  34. package/skills/create-lumen/references/manifest-v2.md +9 -0
  35. package/src/agent-context.js +114 -0
  36. package/src/cli-args.js +294 -0
  37. package/src/css.js +20 -9
  38. package/src/dependencies.js +12 -6
  39. package/src/engine/capabilities.js +218 -0
  40. package/src/engine/index.js +2 -0
  41. package/src/engine/providers/base-provider.js +219 -0
  42. package/src/injector.js +26 -13
  43. package/src/main.js +66 -10
  44. package/src/manifest/emit.js +166 -0
  45. package/src/manifest/index.js +11 -0
  46. package/src/manifest/paths.js +128 -0
  47. package/src/manifest/schema.js +270 -0
  48. package/src/prompts.js +26 -6
  49. package/templates/conditional/linting/eslint/next/eslint.config.mjs +16 -0
  50. package/templates/css/tailwind/postcss.config.mjs +5 -0
  51. /package/templates/architectures/{component-based → type-based}/main.jsx +0 -0
  52. /package/templates/architectures/{component-based → type-based}/main.tsx +0 -0
  53. /package/templates/architectures/{component-based → type-based}/src/App.jsx +0 -0
  54. /package/templates/architectures/{component-based → type-based}/src/App.tsx +0 -0
  55. /package/templates/architectures/{component-based → type-based}/src/components/common/Button.jsx +0 -0
  56. /package/templates/architectures/{component-based → type-based}/src/components/common/Button.tsx +0 -0
  57. /package/templates/architectures/{component-based → type-based}/src/components/common/index.js +0 -0
  58. /package/templates/architectures/{component-based → type-based}/src/components/common/index.ts +0 -0
  59. /package/templates/architectures/{component-based → type-based}/src/components/form/.gitkeep +0 -0
  60. /package/templates/architectures/{component-based → type-based}/src/config/.gitkeep +0 -0
  61. /package/templates/architectures/{component-based → type-based}/src/hooks/useApp.js +0 -0
  62. /package/templates/architectures/{component-based → type-based}/src/hooks/useApp.ts +0 -0
  63. /package/templates/architectures/{component-based → type-based}/src/hooks/useLocalStorage.jsx +0 -0
  64. /package/templates/architectures/{component-based → type-based}/src/hooks/useLocalStorage.ts +0 -0
  65. /package/templates/architectures/{component-based → type-based}/src/layouts/MainLayout.jsx +0 -0
  66. /package/templates/architectures/{component-based → type-based}/src/layouts/MainLayout.tsx +0 -0
  67. /package/templates/architectures/{component-based → type-based}/src/pages/Home/Home.jsx +0 -0
  68. /package/templates/architectures/{component-based → type-based}/src/pages/Home/Home.tsx +0 -0
  69. /package/templates/architectures/{component-based → type-based}/src/pages/Home/index.js +0 -0
  70. /package/templates/architectures/{component-based → type-based}/src/pages/Home/index.ts +0 -0
  71. /package/templates/architectures/{component-based → type-based}/src/providers/.gitkeep +0 -0
  72. /package/templates/architectures/{component-based → type-based}/src/providers/AppProvider.jsx +0 -0
  73. /package/templates/architectures/{component-based → type-based}/src/providers/AppProvider.tsx +0 -0
  74. /package/templates/architectures/{component-based → type-based}/src/providers/appcontext.js +0 -0
  75. /package/templates/architectures/{component-based → type-based}/src/providers/appcontext.ts +0 -0
  76. /package/templates/architectures/{component-based → type-based}/src/services/.gitkeep +0 -0
  77. /package/templates/architectures/{component-based → type-based}/src/store/.gitkeep +0 -0
  78. /package/templates/architectures/{component-based → type-based}/src/styles/.gitkeep +0 -0
  79. /package/templates/architectures/{component-based → type-based}/src/types/index.js +0 -0
  80. /package/templates/architectures/{component-based → type-based}/src/types/index.ts +0 -0
  81. /package/templates/architectures/{component-based → type-based}/src/utils/cn.jsx +0 -0
  82. /package/templates/architectures/{component-based → type-based}/src/utils/cn.ts +0 -0
  83. /package/templates/conditional/axios/{component-based → type-based}/src/config/axios.config.js +0 -0
  84. /package/templates/conditional/axios/{component-based → type-based}/src/config/axios.config.ts +0 -0
  85. /package/templates/conditional/axios/{component-based → type-based}/src/services/axios.client.js +0 -0
  86. /package/templates/conditional/axios/{component-based → type-based}/src/services/axios.client.ts +0 -0
  87. /package/templates/conditional/axios/{component-based → type-based}/src/services/user.service.js +0 -0
  88. /package/templates/conditional/axios/{component-based → type-based}/src/services/user.service.ts +0 -0
  89. /package/templates/conditional/fetch/{component-based → type-based}/src/config/api.config.js +0 -0
  90. /package/templates/conditional/fetch/{component-based → type-based}/src/config/api.config.ts +0 -0
  91. /package/templates/conditional/fetch/{component-based → type-based}/src/services/api.client.js +0 -0
  92. /package/templates/conditional/fetch/{component-based → type-based}/src/services/api.client.ts +0 -0
  93. /package/templates/conditional/fetch/{component-based → type-based}/src/services/user.service.js +0 -0
  94. /package/templates/conditional/fetch/{component-based → type-based}/src/services/user.service.ts +0 -0
  95. /package/templates/conditional/icons/huge/{component-based → type-based}/bootstrap/src/pages/Home/Home.jsx +0 -0
  96. /package/templates/conditional/icons/huge/{component-based → type-based}/bootstrap/src/pages/Home/Home.tsx +0 -0
  97. /package/templates/conditional/icons/huge/{component-based → type-based}/src/pages/Home/Home.jsx +0 -0
  98. /package/templates/conditional/icons/huge/{component-based → type-based}/src/pages/Home/Home.tsx +0 -0
  99. /package/templates/conditional/icons/huge/{component-based → type-based}/tailwind/src/pages/Home/Home.jsx +0 -0
  100. /package/templates/conditional/icons/huge/{component-based → type-based}/tailwind/src/pages/Home/Home.tsx +0 -0
  101. /package/templates/conditional/icons/lucide/{component-based → type-based}/bootstrap/src/pages/Home/Home.jsx +0 -0
  102. /package/templates/conditional/icons/lucide/{component-based → type-based}/bootstrap/src/pages/Home/Home.tsx +0 -0
  103. /package/templates/conditional/icons/lucide/{component-based → type-based}/src/pages/Home/Home.jsx +0 -0
  104. /package/templates/conditional/icons/lucide/{component-based → type-based}/src/pages/Home/Home.tsx +0 -0
  105. /package/templates/conditional/icons/lucide/{component-based → type-based}/tailwind/src/pages/Home/Home.jsx +0 -0
  106. /package/templates/conditional/icons/lucide/{component-based → type-based}/tailwind/src/pages/Home/Home.tsx +0 -0
  107. /package/templates/conditional/router/{component-based → type-based}/bootstrap/src/layouts/MainLayout.jsx +0 -0
  108. /package/templates/conditional/router/{component-based → type-based}/bootstrap/src/layouts/MainLayout.tsx +0 -0
  109. /package/templates/conditional/router/{component-based → type-based}/src/App.jsx +0 -0
  110. /package/templates/conditional/router/{component-based → type-based}/src/App.tsx +0 -0
  111. /package/templates/conditional/router/{component-based → type-based}/src/layouts/MainLayout.jsx +0 -0
  112. /package/templates/conditional/router/{component-based → type-based}/src/layouts/MainLayout.tsx +0 -0
  113. /package/templates/conditional/router/{component-based → type-based}/src/router/guards/AuthGuard.jsx +0 -0
  114. /package/templates/conditional/router/{component-based → type-based}/src/router/guards/AuthGuard.tsx +0 -0
  115. /package/templates/conditional/router/{component-based → type-based}/src/router/guards/GuestGuard.jsx +0 -0
  116. /package/templates/conditional/router/{component-based → type-based}/src/router/guards/GuestGuard.tsx +0 -0
  117. /package/templates/conditional/router/{component-based → type-based}/src/router/index.jsx +0 -0
  118. /package/templates/conditional/router/{component-based → type-based}/src/router/index.tsx +0 -0
  119. /package/templates/conditional/router/{component-based → type-based}/tailwind/src/layouts/MainLayout.jsx +0 -0
  120. /package/templates/conditional/router/{component-based → type-based}/tailwind/src/layouts/MainLayout.tsx +0 -0
  121. /package/templates/conditional/state/redux/{component-based → type-based}/src/pages/Home/counterSlice.jsx +0 -0
  122. /package/templates/conditional/state/redux/{component-based → type-based}/src/pages/Home/counterSlice.ts +0 -0
  123. /package/templates/conditional/state/redux/{component-based → type-based}/src/providers/StoreProvider.jsx +0 -0
  124. /package/templates/conditional/state/redux/{component-based → type-based}/src/providers/StoreProvider.tsx +0 -0
  125. /package/templates/conditional/state/redux/{component-based → type-based}/src/store/hooks.js +0 -0
  126. /package/templates/conditional/state/redux/{component-based → type-based}/src/store/hooks.ts +0 -0
  127. /package/templates/conditional/state/redux/{component-based → type-based}/src/store/index.js +0 -0
  128. /package/templates/conditional/state/redux/{component-based → type-based}/src/store/index.ts +0 -0
  129. /package/templates/conditional/state/zustand/{component-based → type-based}/src/store/useCounterStore.jsx +0 -0
  130. /package/templates/conditional/state/zustand/{component-based → type-based}/src/store/useCounterStore.ts +0 -0
  131. /package/templates/conditional/testing/jest/{component-based → type-based}/src/__tests__/App.test.jsx +0 -0
  132. /package/templates/conditional/testing/jest/{component-based → type-based}/src/__tests__/App.test.tsx +0 -0
  133. /package/templates/conditional/testing/vitest/{component-based → type-based}/src/__tests__/App.test.jsx +0 -0
  134. /package/templates/conditional/testing/vitest/{component-based → type-based}/src/__tests__/App.test.tsx +0 -0
  135. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/components/common/Button.jsx +0 -0
  136. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/components/common/Button.tsx +0 -0
  137. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/layouts/MainLayout.jsx +0 -0
  138. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/layouts/MainLayout.tsx +0 -0
  139. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/pages/Home/Home.jsx +0 -0
  140. /package/templates/css/component-styles/bootstrap/{component-based → type-based}/src/pages/Home/Home.tsx +0 -0
  141. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/components/common/Button.jsx +0 -0
  142. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/components/common/Button.tsx +0 -0
  143. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/layouts/MainLayout.jsx +0 -0
  144. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/layouts/MainLayout.tsx +0 -0
  145. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/pages/Home/Home.jsx +0 -0
  146. /package/templates/css/component-styles/tailwind/{component-based → type-based}/src/pages/Home/Home.tsx +0 -0
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "app-router"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "type": "feature-based"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src/features",
22
+ "components": "src/shared/components",
23
+ "services": "src/shared/services",
24
+ "hooks": "src/shared/hooks",
25
+ "pages": "src/app/router",
26
+ "ui": "src/shared/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "eslint",
31
+ "formatter": "prettier"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "bootstrap"
10
+ },
11
+ "architecture": {
12
+ "type": "feature-based"
13
+ },
14
+ "ui": {
15
+ "kit": "shadcn"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src/features",
22
+ "components": "src/shared/components",
23
+ "services": "src/shared/services",
24
+ "hooks": "src/shared/hooks",
25
+ "pages": "src/app/router",
26
+ "ui": "src/shared/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "eslint",
31
+ "formatter": "prettier"
32
+ }
33
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "framework": "react",
3
+ "css": "tailwind",
4
+ "architecture": "feature-based",
5
+ "language": "ts",
6
+ "router": true,
7
+ "stateManagement": "none",
8
+ "iconLibrary": "none",
9
+ "apiClient": "none",
10
+ "testing": "vitest"
11
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "type": "feature-based"
13
+ },
14
+ "ui": {
15
+ "kit": "shadcn"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src/features",
22
+ "components": "src/shared/components",
23
+ "services": "src/shared/services",
24
+ "hooks": "src/shared/hooks",
25
+ "pages": "src/app/router",
26
+ "ui": "src/shared/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "biome",
31
+ "formatter": "prettier"
32
+ },
33
+ "reactCompiler": true,
34
+ "agentDocs": true
35
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "preset": "feature-based",
13
+ "type": "feature-based",
14
+ "validation": "strict"
15
+ },
16
+ "harness": {
17
+ "commands": [
18
+ { "name": "lint", "command": "oxlint .", "required": true },
19
+ { "name": "format", "command": "oxfmt --check .", "required": true },
20
+ { "name": "types", "command": "tsc -b", "required": true },
21
+ { "name": "test", "command": "vitest run", "required": true },
22
+ { "name": "build", "command": "npm run build", "required": true }
23
+ ]
24
+ },
25
+ "ui": {
26
+ "kit": "none"
27
+ },
28
+ "docs": {
29
+ "language": "en"
30
+ },
31
+ "paths": {
32
+ "features": "src/features",
33
+ "components": "src/shared/components",
34
+ "services": "src/shared/services",
35
+ "hooks": "src/shared/hooks",
36
+ "pages": "src/app/router",
37
+ "ui": "src/shared/components/ui"
38
+ },
39
+ "tooling": {
40
+ "language": "ts",
41
+ "linter": "eslint",
42
+ "formatter": "prettier"
43
+ }
44
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "app-router",
7
+ "bundler": "turbopack",
8
+ "adapter": "vercel"
9
+ },
10
+ "styling": {
11
+ "engine": "tailwind"
12
+ },
13
+ "architecture": {
14
+ "type": "feature-based"
15
+ },
16
+ "ui": {
17
+ "kit": "none"
18
+ },
19
+ "docs": {
20
+ "language": "en"
21
+ },
22
+ "paths": {
23
+ "features": "src/features",
24
+ "components": "src/shared/components",
25
+ "services": "src/shared/services",
26
+ "hooks": "src/shared/hooks",
27
+ "pages": "app",
28
+ "ui": "src/shared/components/ui"
29
+ },
30
+ "tooling": {
31
+ "language": "ts",
32
+ "linter": "eslint",
33
+ "formatter": "prettier"
34
+ }
35
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "app-router",
7
+ "bundler": "turbopack",
8
+ "adapter": "node"
9
+ },
10
+ "styling": {
11
+ "engine": "tailwind"
12
+ },
13
+ "architecture": {
14
+ "type": "hybrid"
15
+ },
16
+ "ui": {
17
+ "kit": "none"
18
+ },
19
+ "docs": {
20
+ "language": "en"
21
+ },
22
+ "paths": {
23
+ "features": "src/features",
24
+ "components": "src/shared/components",
25
+ "services": "src/shared/services",
26
+ "hooks": "src/shared/hooks",
27
+ "pages": "app",
28
+ "ui": "src/shared/components/ui"
29
+ },
30
+ "tooling": {
31
+ "language": "ts",
32
+ "linter": "eslint",
33
+ "formatter": "prettier"
34
+ }
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "app-router"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "type": "none"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src",
22
+ "components": "src/components",
23
+ "services": "src/services",
24
+ "hooks": "src/hooks",
25
+ "pages": "app",
26
+ "ui": "src/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "eslint",
31
+ "formatter": "prettier"
32
+ }
33
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "pages-router",
7
+ "bundler": "webpack",
8
+ "adapter": "cloudflare"
9
+ },
10
+ "styling": {
11
+ "engine": "tailwind"
12
+ },
13
+ "architecture": {
14
+ "type": "feature-based"
15
+ },
16
+ "ui": {
17
+ "kit": "none"
18
+ },
19
+ "docs": {
20
+ "language": "en"
21
+ },
22
+ "paths": {
23
+ "features": "src/features",
24
+ "components": "src/shared/components",
25
+ "services": "src/shared/services",
26
+ "hooks": "src/shared/hooks",
27
+ "pages": "pages",
28
+ "ui": "src/shared/components/ui"
29
+ },
30
+ "tooling": {
31
+ "language": "ts",
32
+ "linter": "eslint",
33
+ "formatter": "prettier"
34
+ }
35
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "pages-router",
7
+ "bundler": "turbopack",
8
+ "adapter": "static"
9
+ },
10
+ "styling": {
11
+ "engine": "tailwind"
12
+ },
13
+ "architecture": {
14
+ "type": "hybrid"
15
+ },
16
+ "ui": {
17
+ "kit": "none"
18
+ },
19
+ "docs": {
20
+ "language": "es"
21
+ },
22
+ "paths": {
23
+ "features": "src/features",
24
+ "components": "src/shared/components",
25
+ "services": "src/shared/services",
26
+ "hooks": "src/shared/hooks",
27
+ "pages": "pages",
28
+ "ui": "src/shared/components/ui"
29
+ },
30
+ "tooling": {
31
+ "language": "js",
32
+ "linter": "eslint",
33
+ "formatter": "prettier"
34
+ }
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "next",
6
+ "variant": "pages-router"
7
+ },
8
+ "styling": {
9
+ "engine": "none"
10
+ },
11
+ "architecture": {
12
+ "type": "none"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src",
22
+ "components": "src/components",
23
+ "services": "src/services",
24
+ "hooks": "src/hooks",
25
+ "pages": "pages",
26
+ "ui": "src/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "none",
31
+ "formatter": "none"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "type": "feature-based"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src/features",
22
+ "components": "src/shared/components",
23
+ "services": "src/shared/services",
24
+ "hooks": "src/shared/hooks",
25
+ "pages": "src/app/router",
26
+ "ui": "src/shared/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "eslint",
31
+ "formatter": "prettier"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "none"
10
+ },
11
+ "architecture": {
12
+ "type": "none"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "en"
19
+ },
20
+ "paths": {
21
+ "features": "src",
22
+ "components": "src/components",
23
+ "services": "src/services",
24
+ "hooks": "src/hooks",
25
+ "pages": "src/pages",
26
+ "ui": "src/components/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "ts",
30
+ "linter": "none",
31
+ "formatter": "none"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "bootstrap"
10
+ },
11
+ "architecture": {
12
+ "type": "type-based"
13
+ },
14
+ "ui": {
15
+ "kit": "none"
16
+ },
17
+ "docs": {
18
+ "language": "es"
19
+ },
20
+ "paths": {
21
+ "features": "src/features",
22
+ "components": "src/components",
23
+ "services": "src/services",
24
+ "hooks": "src/hooks",
25
+ "pages": "src/pages",
26
+ "ui": "src/ui"
27
+ },
28
+ "tooling": {
29
+ "language": "js",
30
+ "linter": "oxlint",
31
+ "formatter": "oxfmt"
32
+ }
33
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "preset": "feature-based",
13
+ "validation": "none"
14
+ },
15
+ "harness": {
16
+ "commands": [
17
+ { "name": "lint", "command": "oxlint .", "required": true },
18
+ { "name": "test", "command": "vitest run", "required": true },
19
+ { "name": "build", "command": "npm run build", "required": true }
20
+ ]
21
+ },
22
+ "ui": {
23
+ "kit": "none"
24
+ },
25
+ "docs": {
26
+ "language": "en"
27
+ },
28
+ "paths": {
29
+ "features": "src/features",
30
+ "components": "src/shared/components",
31
+ "services": "src/shared/services",
32
+ "hooks": "src/shared/hooks",
33
+ "pages": "src/app/router",
34
+ "ui": "src/shared/components/ui"
35
+ },
36
+ "tooling": {
37
+ "language": "ts",
38
+ "linter": "eslint",
39
+ "formatter": "prettier"
40
+ }
41
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "https://lumen-sh.github.io/create-lumen/schema/lumen.config.v2.json",
3
+ "manifestVersion": 2,
4
+ "framework": {
5
+ "name": "react",
6
+ "variant": "vite"
7
+ },
8
+ "styling": {
9
+ "engine": "tailwind"
10
+ },
11
+ "architecture": {
12
+ "preset": "feature-based",
13
+ "validation": "relaxed"
14
+ },
15
+ "harness": {
16
+ "commands": [
17
+ { "name": "lint", "command": "oxlint .", "required": true },
18
+ { "name": "test", "command": "vitest run", "required": true },
19
+ { "name": "build", "command": "npm run build", "required": true }
20
+ ]
21
+ },
22
+ "ui": {
23
+ "kit": "none"
24
+ },
25
+ "docs": {
26
+ "language": "en"
27
+ },
28
+ "paths": {
29
+ "features": "src/features",
30
+ "components": "src/shared/components",
31
+ "services": "src/shared/services",
32
+ "hooks": "src/shared/hooks",
33
+ "pages": "src/app/router",
34
+ "ui": "src/shared/components/ui"
35
+ },
36
+ "tooling": {
37
+ "language": "ts",
38
+ "linter": "eslint",
39
+ "formatter": "prettier"
40
+ }
41
+ }