@arkitect-ui/cli 0.2.1 → 0.3.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/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arkitect-ui/cli",
3
- "version": "0.1.0",
4
- "description": "CLI tool for creating Effect-TS monorepos and managing components",
3
+ "version": "0.3.0",
4
+ "description": "CLI tool managing components for Arkitect-UI",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "arkitect-ui": "./dist/src/main.js"
@@ -42,6 +42,9 @@
42
42
  "url": "https://github.com/devx-op/arkitect-ui.git",
43
43
  "directory": "apps/cli"
44
44
  },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
45
48
  "types": "./src/main.d.ts",
46
49
  "module": "./src/main.js",
47
50
  "main": "./src/main.js"
@@ -3,7 +3,7 @@ import * as Option from "effect/Option";
3
3
  import * as FileSystem from "@effect/platform/FileSystem";
4
4
  import * as Path from "@effect/platform/Path";
5
5
  import * as HttpClient from "@effect/platform/HttpClient";
6
- export declare const addCommand: Command.Command<"add", FileSystem.FileSystem | Path.Path | HttpClient.HttpClient | import("@effect/platform/CommandExecutor").CommandExecutor, Error | import("@effect/platform/Error").PlatformError | import("effect/ParseResult").ParseError | import("@effect/platform/HttpClientError").HttpClientError, {
6
+ export declare const addCommand: Command.Command<"add", FileSystem.FileSystem | Path.Path | HttpClient.HttpClient | import("@effect/platform/CommandExecutor").CommandExecutor, Error | import("effect/ConfigError").ConfigError | import("@effect/platform/Error").PlatformError | import("effect/ParseResult").ParseError | import("@effect/platform/HttpClientError").HttpClientError, {
7
7
  readonly componentName: Option.Option<string>;
8
8
  readonly all: boolean;
9
9
  readonly overwrite: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAK9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAE7C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AA2CzD,eAAO,MAAM,UAAU;;;;;;EAsGtB,CAAA"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAK9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAE7C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AA4CzD,eAAO,MAAM,UAAU;;;;;;EA4PtB,CAAA"}
@@ -10,11 +10,12 @@ import * as Path from "@effect/platform/Path";
10
10
  import * as Schema from "effect/Schema";
11
11
  import * as HttpClient from "@effect/platform/HttpClient";
12
12
  import * as HttpClientResponse from "@effect/platform/HttpClientResponse";
13
+ import * as Config from "effect/Config";
13
14
  import { ComponentsConfig } from "../schemas/components-config.js";
14
- const REGISTRY_BASE_URL = "https://devx-op.github.io/arkitect-ui/r";
15
+ const DEFAULT_REGISTRY_BASE_URL = "https://devx-op.github.io/arkitect-ui/r";
15
16
  // Arguments and options for add command
16
- const componentNameArg = Args.text({ name: "component-name" }).pipe(Args.withDescription("Name of the component to add"), Args.optional);
17
- const allOption = Options.boolean("all").pipe(Options.withAlias("a"), Options.withDescription("Install all available components"), Options.withDefault(false));
17
+ const componentNameArg = Args.text({ name: "component-name" }).pipe(Args.withDescription("Name of the Component to add"), Args.optional);
18
+ const allOption = Options.boolean("all").pipe(Options.withAlias("a"), Options.withDescription("Install all available Components"), Options.withDefault(false));
18
19
  const overwriteOption = Options.boolean("overwrite").pipe(Options.withAlias("o"), Options.withDescription("Overwrite existing files"), Options.withDefault(false));
19
20
  const cwdOption = Options.text("cwd").pipe(Options.withDescription("Current working directory"), Options.withDefault(process.cwd()));
20
21
  const dryRunOption = Options.boolean("dry-run").pipe(Options.withDescription("Simulate installation without running commands"), Options.withDefault(false));
@@ -29,7 +30,11 @@ export const addCommand = Command.make("add", {
29
30
  const fs = yield* FileSystem.FileSystem;
30
31
  const path = yield* Path.Path;
31
32
  const http = (yield* HttpClient.HttpClient).pipe(HttpClient.filterStatusOk);
32
- // 1. Check for components.json and detect framework
33
+ const registryBaseUrlRaw = yield* Config.string("REGISTRY_URL").pipe(Config.withDefault(DEFAULT_REGISTRY_BASE_URL));
34
+ const registryBaseUrl = registryBaseUrlRaw.endsWith("/")
35
+ ? registryBaseUrlRaw.slice(0, -1)
36
+ : registryBaseUrlRaw;
37
+ // 1. Check for components.json
33
38
  const configPath = path.join(options.cwd, "components.json");
34
39
  const hasConfig = yield* fs.exists(configPath);
35
40
  if (!hasConfig) {
@@ -37,10 +42,24 @@ export const addCommand = Command.make("add", {
37
42
  }
38
43
  const configContent = yield* fs.readFileString(configPath);
39
44
  const config = yield* Schema.decodeUnknown(Schema.parseJson(ComponentsConfig))(configContent);
40
- const framework = Option.fromNullable(config.arkitect?.framework).pipe(Option.orElse(() => Option.fromNullable(config.rsc).pipe(Option.map((rsc) => (rsc ? "react" : "react")))), Option.getOrElse(() => "react"));
41
- // Determine Registry URL path segment
42
- // React -> r/r, Solid -> r/s
43
- const frameworkPath = framework === "solid" ? "s" : "r";
45
+ // Detect framework from package.json (solid-js vs react dependency)
46
+ let framework = "react";
47
+ const packageJsonPath = path.join(options.cwd, "package.json");
48
+ const hasPackageJson = yield* fs.exists(packageJsonPath);
49
+ if (hasPackageJson) {
50
+ const packageJsonContent = yield* fs.readFileString(packageJsonPath);
51
+ const packageJson = JSON.parse(packageJsonContent);
52
+ const deps = {
53
+ ...packageJson.dependencies,
54
+ ...packageJson.devDependencies,
55
+ };
56
+ if (deps["solid-js"]) {
57
+ framework = "solid";
58
+ }
59
+ else if (deps["react"]) {
60
+ framework = "react";
61
+ }
62
+ }
44
63
  // 2. Resolve components to install
45
64
  let componentsToInstall = [];
46
65
  if (options.all) {
@@ -48,11 +67,13 @@ export const addCommand = Command.make("add", {
48
67
  const RegistryIndex = Schema.Struct({
49
68
  items: Schema.Array(Schema.Struct({ name: Schema.String, type: Schema.String })),
50
69
  });
51
- const response = yield* http.get(`${REGISTRY_BASE_URL}/index.json`);
70
+ const response = yield* http.get(`${registryBaseUrl}/index.json`);
52
71
  const registry = yield* HttpClientResponse.schemaBodyJson(RegistryIndex)(response);
72
+ const frameworkPrefix = framework === "solid" ? "s/" : "r/";
53
73
  componentsToInstall = registry.items
54
- .filter((item) => item.type === "registry:ui")
55
- .map((item) => item.name);
74
+ .filter((item) => item.type === "registry:ui" &&
75
+ item.name.startsWith(frameworkPrefix))
76
+ .map((item) => item.name.split("/")[1]);
56
77
  if (componentsToInstall.length === 0) {
57
78
  return yield* Console.log("⚠️ No components found to install.");
58
79
  }
@@ -65,10 +86,16 @@ export const addCommand = Command.make("add", {
65
86
  }
66
87
  // 3. Install Components
67
88
  yield* Console.log(`🚀 Installing ${componentsToInstall.length} component(s) for ${framework}...`);
89
+ // Determine Registry URL path segment
90
+ // React -> r/r, Solid -> r/s
91
+ const frameworkPath = framework === "solid" ? "s" : "r";
68
92
  // Install sequentially to avoid race conditions in shadcn
69
93
  for (const name of componentsToInstall) {
70
- const url = `${REGISTRY_BASE_URL}/${frameworkPath}/${name}.json`;
71
- const args = ["shadcn@latest", "add", url];
94
+ const args = [
95
+ "shadcn@latest",
96
+ "add",
97
+ `${registryBaseUrl}/${frameworkPath}/${name}.json`,
98
+ ];
72
99
  if (options.overwrite)
73
100
  args.push("--overwrite");
74
101
  const command = PlatformCommand.make("npx", ...args).pipe(PlatformCommand.workingDirectory(options.cwd));
@@ -77,7 +104,109 @@ export const addCommand = Command.make("add", {
77
104
  yield* Console.log(`[Dry Run] Would execute: npx ${args.join(" ")}`);
78
105
  }
79
106
  else {
80
- yield* PlatformCommand.string(command).pipe(Effect.catchAll((err) => Effect.fail(new Error(`Failed to install ${name}: ${err}`))));
107
+ const output = yield* PlatformCommand.string(command).pipe(Effect.catchAll((err) => Effect.fail(new Error(`Failed to install ${name}: ${err}`))));
108
+ if (output && output.length > 0) {
109
+ yield* Console.log(output);
110
+ }
111
+ // Verify created files; if not found, fallback to writing from registry JSON
112
+ const RegistryItem = Schema.Struct({
113
+ files: Schema.Array(Schema.Struct({
114
+ path: Schema.String,
115
+ content: Schema.String,
116
+ type: Schema.optional(Schema.String),
117
+ })),
118
+ dependencies: Schema.optional(Schema.Array(Schema.String)),
119
+ });
120
+ const itemUrl = `${registryBaseUrl}/${frameworkPath}/${name}.json`;
121
+ const itemResponse = yield* http.get(itemUrl);
122
+ const itemJson = yield* HttpClientResponse.schemaBodyJson(RegistryItem)(itemResponse);
123
+ const resolveAliasPath = (alias) => {
124
+ return alias.startsWith("@/")
125
+ ? path.join(options.cwd, "src", alias.replace("@/", ""))
126
+ : path.join(options.cwd, alias);
127
+ };
128
+ const componentsAlias = config.aliases.components;
129
+ const utilsAlias = config.aliases.utils;
130
+ const targetPaths = itemJson.files.map((file) => {
131
+ if (file.path.startsWith("ui/")) {
132
+ const baseDir = resolveAliasPath(componentsAlias);
133
+ return path.join(baseDir, file.path.replace("ui/", ""));
134
+ }
135
+ else if (file.path.startsWith("lib/")) {
136
+ const utilsBase = resolveAliasPath(utilsAlias);
137
+ // utils alias may point to a file (without .ts), ensure directory exists and file path matches
138
+ const isFileAlias = !utilsAlias.endsWith("/");
139
+ if (isFileAlias) {
140
+ // write directly to utils alias with extension from source path
141
+ const ext = file.path.split(".").pop() ?? "ts";
142
+ return `${utilsBase}.${ext}`;
143
+ }
144
+ else {
145
+ const baseDir = utilsBase;
146
+ return path.join(baseDir, file.path.replace("lib/", ""));
147
+ }
148
+ }
149
+ else {
150
+ // default to src root
151
+ return path.join(options.cwd, "src", file.path);
152
+ }
153
+ });
154
+ const existsResults = yield* Effect.forEach(targetPaths, (p) => fs.exists(p));
155
+ const missingIndexes = [];
156
+ for (let i = 0; i < existsResults.length; i++) {
157
+ if (!existsResults[i]) {
158
+ missingIndexes.push(i);
159
+ }
160
+ }
161
+ if (missingIndexes.length > 0) {
162
+ yield* Console.log("⚠️ Missing files after shadcn add. Applying fallback write.");
163
+ for (const index of missingIndexes) {
164
+ const file = itemJson.files[index];
165
+ const target = targetPaths[index];
166
+ const dir = path.dirname(target);
167
+ const hasDir = yield* fs.exists(dir);
168
+ if (!hasDir) {
169
+ yield* fs.makeDirectory(dir, { recursive: true });
170
+ }
171
+ yield* fs.writeFileString(target, file.content);
172
+ yield* Console.log(`✚ Created ${target}`);
173
+ }
174
+ yield* Console.log("✅ Fallback write completed.");
175
+ // Install missing dependencies from registry item
176
+ const depsList = itemJson.dependencies ?? [];
177
+ if (depsList.length > 0) {
178
+ const packageJsonPath2 = path.join(options.cwd, "package.json");
179
+ const hasPkg2 = yield* fs.exists(packageJsonPath2);
180
+ let installed = {};
181
+ if (hasPkg2) {
182
+ const content = yield* fs.readFileString(packageJsonPath2);
183
+ const pkg = JSON.parse(content);
184
+ installed = {
185
+ ...pkg.dependencies,
186
+ ...pkg.devDependencies,
187
+ };
188
+ }
189
+ const missing = depsList.filter((d) => !(d in installed));
190
+ if (missing.length > 0) {
191
+ yield* Console.log(`📦 Installing dependencies: ${missing.join(", ")}...`);
192
+ let pm = "npm";
193
+ const hasPnpmLock = yield* fs.exists(path.join(options.cwd, "pnpm-lock.yaml"));
194
+ const hasYarnLock = yield* fs.exists(path.join(options.cwd, "yarn.lock"));
195
+ const hasBunLock = yield* fs.exists(path.join(options.cwd, "bun.lockb"));
196
+ if (hasPnpmLock)
197
+ pm = "pnpm";
198
+ else if (hasYarnLock)
199
+ pm = "yarn";
200
+ else if (hasBunLock)
201
+ pm = "bun";
202
+ const installCmd = pm === "npm" ? "install" : "add";
203
+ const installArgs = [installCmd, ...missing];
204
+ const installCommand = PlatformCommand.make(pm, ...installArgs).pipe(PlatformCommand.workingDirectory(options.cwd));
205
+ yield* PlatformCommand.string(installCommand).pipe(Effect.catchAll((err) => Effect.fail(new Error(`Failed to install dependencies: ${err}`))));
206
+ yield* Console.log("✅ Dependencies installed successfully.");
207
+ }
208
+ }
209
+ }
81
210
  }
82
211
  }
83
212
  yield* Console.log("✅ All components installed successfully.");
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@ export declare const initCommand: Command.Command<"init", FileSystem.FileSystem
9
9
  readonly utilsPath: Option.Option<string>;
10
10
  readonly cssPath: Option.Option<string>;
11
11
  readonly yes: boolean;
12
- readonly installDeps: Option.Option<boolean>;
12
+ readonly installDeps: Option.Option<"yes" | "no" | "true" | "false">;
13
13
  }>;
14
14
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAI9C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAGzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAyDvC,eAAO,MAAM,WAAW;;;;;;;;;EAgLvB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAI9C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAGzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAmEvC,eAAO,MAAM,WAAW;;;;;;;;;EAkZvB,CAAA"}
@@ -8,6 +8,10 @@ import * as Effect from "effect/Effect";
8
8
  import * as Option from "effect/Option";
9
9
  import * as Schema from "effect/Schema";
10
10
  import { ComponentsConfig } from "../schemas/components-config.js";
11
+ import * as NodePath from "node:path";
12
+ import { fileURLToPath } from "node:url";
13
+ const here = NodePath.dirname(fileURLToPath(import.meta.url));
14
+ const cssTemplatePath = NodePath.resolve(here, "../../templates/global.css");
11
15
  // Options for the init command
12
16
  const cwdOption = Options.text("cwd").pipe(Options.withDescription("Current working directory"), Options.withDefault(process.cwd()));
13
17
  const frameworkOption = Options.choice("framework", ["react", "solid"]).pipe(Options.withDescription("Framework to use"), Options.optional);
@@ -16,7 +20,12 @@ const componentsDirOption = Options.text("components-dir").pipe(Options.withDesc
16
20
  const utilsPathOption = Options.text("utils-path").pipe(Options.withDescription("Utils file path"), Options.optional);
17
21
  const cssPathOption = Options.text("css-path").pipe(Options.withDescription("Global CSS file path"), Options.optional);
18
22
  const yesOption = Options.boolean("yes").pipe(Options.withAlias("y"), Options.withDescription("Skip prompts and use defaults/flags"));
19
- const installDepsOption = Options.boolean("install-deps").pipe(Options.withDescription("Install dependencies automatically"), Options.optional);
23
+ const installDepsOption = Options.choice("install-deps", [
24
+ "yes",
25
+ "no",
26
+ "true",
27
+ "false",
28
+ ]).pipe(Options.withDescription("Install dependencies after setup: yes or no"), Options.optional);
20
29
  // Export the init command
21
30
  export const initCommand = Command.make("init", {
22
31
  cwd: cwdOption,
@@ -87,51 +96,236 @@ export const initCommand = Command.make("init", {
87
96
  rsc: framework === "react",
88
97
  tsx: true,
89
98
  tailwind: {
90
- config: "tailwind.config.js",
99
+ config: "",
91
100
  css: cssPath,
92
101
  baseColor: "slate",
93
102
  cssVariables: true,
94
103
  prefix: "",
95
104
  },
96
105
  aliases: {
106
+ // Use import-style aliases; TS config handles resolving "@/..."
97
107
  components: `@/${componentsDir.replace(`${srcDir}/`, "")}`,
98
108
  utils: `@/${utilsPath.replace(`${srcDir}/`, "").replace(".ts", "")}`,
99
109
  ui: `@/${componentsDir.replace(`${srcDir}/`, "")}`,
100
110
  },
101
- arkitect: {
102
- framework: framework,
103
- },
104
111
  });
105
- const encodedConfig = yield* Schema.encode(Schema.parseJson(ComponentsConfig))(componentsConfig);
106
- yield* fs.writeFileString(`${options.cwd}/components.json`, encodedConfig);
112
+ const encodedConfig = yield* Schema.encode(ComponentsConfig)(componentsConfig);
113
+ const encodedJson = JSON.stringify(encodedConfig, null, 2);
114
+ yield* fs.writeFileString(`${options.cwd}/components.json`, `${encodedJson}\n`);
107
115
  yield* Console.log("✅ components.json created successfully.");
108
- // 4. Install Dependencies
116
+ const cssTargetPath = NodePath.isAbsolute(cssPath)
117
+ ? cssPath
118
+ : NodePath.join(options.cwd, cssPath);
119
+ const hasTemplate = yield* fs.exists(cssTemplatePath);
120
+ if (hasTemplate) {
121
+ const cssDir = NodePath.dirname(cssTargetPath);
122
+ const hasCssDir = yield* fs.exists(cssDir);
123
+ if (!hasCssDir) {
124
+ yield* fs.makeDirectory(cssDir, { recursive: true });
125
+ }
126
+ const cssContent = yield* fs.readFileString(cssTemplatePath);
127
+ yield* fs.writeFileString(cssTargetPath, cssContent);
128
+ yield* Console.log(`✅ Global CSS created at ${cssPath}`);
129
+ }
130
+ else {
131
+ yield* Console.log("⚠️ Arkitect UI CSS template not found. Skipping CSS file creation.");
132
+ }
133
+ const utilsTargetPath = NodePath.isAbsolute(utilsPath)
134
+ ? utilsPath
135
+ : NodePath.join(options.cwd, utilsPath);
136
+ const hasUtils = yield* fs.exists(utilsTargetPath);
137
+ if (!hasUtils) {
138
+ const utilsDir = NodePath.dirname(utilsTargetPath);
139
+ const hasUtilsDir = yield* fs.exists(utilsDir);
140
+ if (!hasUtilsDir) {
141
+ yield* fs.makeDirectory(utilsDir, { recursive: true });
142
+ }
143
+ const utilsContent = 'import { type ClassValue, clsx } from "clsx"\n' +
144
+ 'import { twMerge } from "tailwind-merge"\n\n' +
145
+ "export function cn(...inputs: ClassValue[]) {\n" +
146
+ " return twMerge(clsx(inputs))\n" +
147
+ "}\n";
148
+ yield* fs.writeFileString(utilsTargetPath, utilsContent);
149
+ yield* Console.log(`✅ Utils file created at ${utilsPath}`);
150
+ }
151
+ // 3.1 Update tsconfig paths to match aliases
152
+ const tsconfigPath = `${options.cwd}/tsconfig.json`;
153
+ const hasTsconfig = yield* fs.exists(tsconfigPath);
154
+ if (hasTsconfig) {
155
+ try {
156
+ const tsContent = yield* fs.readFileString(tsconfigPath);
157
+ const raw = tsContent
158
+ .replace(/\/\*[\s\S]*?\*\//g, "")
159
+ .replace(/^\s*\/\/.*$/gm, "");
160
+ const ts = JSON.parse(raw);
161
+ ts.compilerOptions ??= {};
162
+ ts.compilerOptions.baseUrl ??= ".";
163
+ // Use simplified generic alias mapping
164
+ ts.compilerOptions.paths = {
165
+ "@/*": [`./${srcDir}/*`],
166
+ ...ts.compilerOptions.paths,
167
+ };
168
+ yield* fs.writeFileString(tsconfigPath, JSON.stringify(ts, null, 2) + "\n");
169
+ yield* Console.log("✅ tsconfig.json paths updated.");
170
+ }
171
+ catch {
172
+ yield* Console.log("⚠️ Failed to update paths in tsconfig.json.");
173
+ }
174
+ }
175
+ // 3.1b If tsconfig.app.json exists, ensure it also has baseUrl and generic @/* paths
176
+ const tsconfigAppPath = `${options.cwd}/tsconfig.app.json`;
177
+ const hasTsconfigApp = yield* fs.exists(tsconfigAppPath);
178
+ if (hasTsconfigApp) {
179
+ try {
180
+ const tsContent = yield* fs.readFileString(tsconfigAppPath);
181
+ const raw = tsContent
182
+ .replace(/\/\*[\s\S]*?\*\//g, "")
183
+ .replace(/^\s*\/\/.*$/gm, "");
184
+ const ts = JSON.parse(raw);
185
+ ts.compilerOptions ??= {};
186
+ ts.compilerOptions.baseUrl ??= ".";
187
+ ts.compilerOptions.paths = {
188
+ "@/*": [`./${srcDir}/*`],
189
+ ...ts.compilerOptions.paths,
190
+ };
191
+ yield* fs.writeFileString(tsconfigAppPath, JSON.stringify(ts, null, 2) + "\n");
192
+ yield* Console.log("✅ tsconfig.app.json paths updated.");
193
+ }
194
+ catch {
195
+ yield* Console.log("⚠️ Failed to update paths in tsconfig.app.json.");
196
+ }
197
+ }
198
+ // 3.2 Update Vite resolve.alias for "@/..." if this is a Vite project
199
+ const viteConfigCandidates = [
200
+ "vite.config.ts",
201
+ "vite.config.mts",
202
+ "vite.config.js",
203
+ "vite.config.mjs",
204
+ ];
205
+ let viteConfigPath;
206
+ for (const rel of viteConfigCandidates) {
207
+ const full = `${options.cwd}/${rel}`;
208
+ const exists = yield* fs.exists(full);
209
+ if (exists) {
210
+ viteConfigPath = full;
211
+ break;
212
+ }
213
+ }
214
+ if (viteConfigPath) {
215
+ try {
216
+ const viteContent = yield* fs.readFileString(viteConfigPath);
217
+ // If alias "@" already exists, respect existing configuration
218
+ const hasAtAlias = /['"]@['"]\s*:/.test(viteContent);
219
+ if (!hasAtAlias) {
220
+ // Ensure we can use fileURLToPath / URL for robust ESM-safe alias
221
+ let updated = viteContent;
222
+ if (!updated.includes('from "node:url"') &&
223
+ !updated.includes("from 'node:url'")) {
224
+ updated = 'import { fileURLToPath, URL } from "node:url";\n' + updated;
225
+ }
226
+ const aliasLine = ' "@": fileURLToPath(new URL("./src", import.meta.url)),';
227
+ if (updated.includes("alias: {")) {
228
+ updated = updated.replace(/alias:\s*\{/, `alias: {\n${aliasLine}`);
229
+ }
230
+ else if (updated.includes("resolve: {")) {
231
+ updated = updated.replace(/resolve:\s*\{/, `resolve: {\n alias: {\n${aliasLine}\n },`);
232
+ }
233
+ else if (updated.includes("defineConfig({")) {
234
+ updated = updated.replace(/defineConfig\(\s*\{/, `defineConfig({\n resolve: {\n alias: {\n${aliasLine}\n },\n },`);
235
+ }
236
+ if (updated !== viteContent) {
237
+ yield* fs.writeFileString(viteConfigPath, updated);
238
+ yield* Console.log("✅ Vite alias @ updated.");
239
+ }
240
+ }
241
+ }
242
+ catch {
243
+ yield* Console.log("⚠️ Failed to update Vite resolve.alias.");
244
+ }
245
+ }
246
+ // 4. Ensure dependencies in package.json
247
+ const baseDeps = ["clsx", "tailwind-merge", "class-variance-authority"];
248
+ const allDeps = [...baseDeps];
249
+ const versionTemplate = {
250
+ clsx: "2.1.1",
251
+ "tailwind-merge": "3.4.0",
252
+ "class-variance-authority": "0.7.1",
253
+ };
254
+ // Ensure dependencies exist in package.json using the template versions
255
+ const hasPackageJsonForDeps = yield* fs.exists(packageJsonPath);
256
+ if (hasPackageJsonForDeps) {
257
+ const pkgContent = yield* fs.readFileString(packageJsonPath);
258
+ const pkg = JSON.parse(pkgContent);
259
+ pkg.dependencies ??= {};
260
+ pkg.devDependencies ??= {};
261
+ for (const dep of allDeps) {
262
+ if (!pkg.dependencies[dep] && !pkg.devDependencies[dep]) {
263
+ const version = versionTemplate[dep];
264
+ if (version) {
265
+ pkg.dependencies[dep] = version;
266
+ }
267
+ }
268
+ }
269
+ yield* fs.writeFileString(packageJsonPath, JSON.stringify(pkg, null, 2) + "\n");
270
+ yield* Console.log("✅ package.json dependencies updated.");
271
+ }
272
+ else {
273
+ yield* Console.log("⚠️ package.json not found. Skipping dependency hints.");
274
+ }
275
+ // 5. Optionally install dependencies (interactive if not specified)
276
+ // Detect package manager walking up from cwd to workspace root
277
+ let pm = "npm";
278
+ {
279
+ let currentDir = options.cwd;
280
+ for (let i = 0; i < 5; i++) {
281
+ const pnpmLock = NodePath.join(currentDir, "pnpm-lock.yaml");
282
+ const yarnLock = NodePath.join(currentDir, "yarn.lock");
283
+ const bunLock = NodePath.join(currentDir, "bun.lockb");
284
+ const pkgLock = NodePath.join(currentDir, "package-lock.json");
285
+ const hasPnpmLock = yield* fs.exists(pnpmLock);
286
+ const hasYarnLock = yield* fs.exists(yarnLock);
287
+ const hasBunLock = yield* fs.exists(bunLock);
288
+ const hasPkgLock = yield* fs.exists(pkgLock);
289
+ if (hasPnpmLock) {
290
+ pm = "pnpm";
291
+ break;
292
+ }
293
+ if (hasYarnLock) {
294
+ pm = "yarn";
295
+ break;
296
+ }
297
+ if (hasBunLock) {
298
+ pm = "bun";
299
+ break;
300
+ }
301
+ if (hasPkgLock) {
302
+ pm = "npm";
303
+ break;
304
+ }
305
+ const parent = NodePath.dirname(currentDir);
306
+ if (parent === currentDir) {
307
+ break;
308
+ }
309
+ currentDir = parent;
310
+ }
311
+ }
109
312
  const shouldInstallDeps = yield* Option.match(options.installDeps, {
110
313
  onNone: () => options.yes
111
- ? Effect.succeed(true)
314
+ ? Effect.succeed(false)
112
315
  : Prompt.confirm({
113
- message: "Would you like to install required dependencies now?",
316
+ message: `Install required Arkitect UI dependencies now with ${pm}?`,
114
317
  initial: true,
115
318
  }),
116
- onSome: Effect.succeed,
319
+ onSome: (v) => Effect.succeed(v === "yes" || v === "true"),
117
320
  });
118
321
  if (shouldInstallDeps) {
119
- const baseDeps = ["clsx", "tailwind-merge", "class-variance-authority"];
120
- const frameworkDeps = framework === "react" ? ["@ark-ui/react"] : ["@ark-ui/solid"];
121
- const allDeps = [...baseDeps, ...frameworkDeps];
122
322
  yield* Console.log(`📦 Installing dependencies: ${allDeps.join(", ")}...`);
123
- let pm = "npm";
124
- const hasPnpmLock = yield* fs.exists(`${options.cwd}/pnpm-lock.yaml`);
125
- const hasYarnLock = yield* fs.exists(`${options.cwd}/yarn.lock`);
126
- const hasBunLock = yield* fs.exists(`${options.cwd}/bun.lockb`);
127
- if (hasPnpmLock)
128
- pm = "pnpm";
129
- else if (hasYarnLock)
130
- pm = "yarn";
131
- else if (hasBunLock)
132
- pm = "bun";
133
323
  const installCmd = pm === "npm" ? "install" : "add";
134
- const args = [installCmd, ...allDeps];
324
+ const depArgs = allDeps.map((dep) => {
325
+ const version = versionTemplate[dep];
326
+ return version ? `${dep}@${version}` : dep;
327
+ });
328
+ const args = [installCmd, ...depArgs];
135
329
  const command = PlatformCommand.make(pm, ...args).pipe(PlatformCommand.workingDirectory(options.cwd));
136
330
  yield* PlatformCommand.string(command).pipe(Effect.catchAll((err) => Effect.fail(new Error(`Failed to install dependencies: ${err}`))));
137
331
  yield* Console.log("✅ Dependencies installed successfully.");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import * as Command from "@effect/cli/Command";
2
2
  import * as FileSystem from "@effect/platform/FileSystem";
3
- export declare const listCommand: Command.Command<"list", FileSystem.FileSystem, Error | import("@effect/platform/Error").PlatformError, {}>;
3
+ export declare const listCommand: Command.Command<"list", FileSystem.FileSystem, Error | import("effect/ConfigError").ConfigError | import("@effect/platform/Error").PlatformError, {}>;
4
4
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAI9C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAgBzD,eAAO,MAAM,WAAW,4GAsDnB,CAAA"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAI9C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAiBzD,eAAO,MAAM,WAAW,uJA6DnB,CAAA"}
@@ -4,11 +4,16 @@ import * as Effect from "effect/Effect";
4
4
  import * as Option from "effect/Option";
5
5
  import * as FileSystem from "@effect/platform/FileSystem";
6
6
  import * as Schema from "effect/Schema";
7
+ import * as Config from "effect/Config";
7
8
  import { ComponentsConfig } from "../schemas/components-config.js";
8
- const REGISTRY_INDEX_URL = "https://devx-op.github.io/arkitect-ui/r/index.json";
9
+ const DEFAULT_REGISTRY_BASE_URL = "https://devx-op.github.io/arkitect-ui/r";
9
10
  export const listCommand = Command.make("list", {}, () => Effect.gen(function* () {
10
11
  const fs = yield* FileSystem.FileSystem;
11
12
  yield* Console.log("🔍 Fetching components from Arkitect UI registry...");
13
+ const registryBaseUrlRaw = yield* Config.string("REGISTRY_URL").pipe(Config.withDefault(DEFAULT_REGISTRY_BASE_URL));
14
+ const registryBaseUrl = registryBaseUrlRaw.endsWith("/")
15
+ ? registryBaseUrlRaw.slice(0, -1)
16
+ : registryBaseUrlRaw;
12
17
  // Detect framework from components.json if available
13
18
  let framework = Option.none();
14
19
  const hasConfig = yield* fs.exists("components.json");
@@ -19,7 +24,7 @@ export const listCommand = Command.make("list", {}, () => Effect.gen(function* (
19
24
  }
20
25
  // Fetch registry index
21
26
  const response = yield* Effect.tryPromise({
22
- try: () => fetch(REGISTRY_INDEX_URL),
27
+ try: () => fetch(`${registryBaseUrl}/index.json`),
23
28
  catch: (err) => new Error(`Failed to fetch registry: ${err}`),
24
29
  });
25
30
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
package/dist/src/main.js CHANGED
@@ -5,9 +5,9 @@ import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
5
5
  import * as NodeHttpClient from "@effect/platform-node/NodeHttpClient";
6
6
  import * as Console from "effect/Console";
7
7
  import * as Effect from "effect/Effect";
8
- import { addCommand } from "./commands/add";
9
- import { initCommand } from "./commands/init";
10
- import { listCommand } from "./commands/list";
8
+ import { addCommand } from "./commands/add.js";
9
+ import { initCommand } from "./commands/init.js";
10
+ import { listCommand } from "./commands/list.js";
11
11
  // Main CLI command
12
12
  const arkitectUiCommand = Command.make("arkitect-ui", {}, () => Console.log("🚀 arkitect-ui CLI - Use --help to see available commands")).pipe(Command.withSubcommands([addCommand, initCommand, listCommand]));
13
13
  // Run the CLI
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAA;AACtE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,mBAAmB;AACnB,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,aAAa,EACb,EAAE,EACF,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;AAEvE,cAAc;AACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;IACzC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CACpB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EACpC,WAAW,CAAC,OAAO,CACpB,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAA;AACtE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,mBAAmB;AACnB,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,aAAa,EACb,EAAE,EACF,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAC/E,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;AAEvE,cAAc;AACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;IACzC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CACpB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EACpC,WAAW,CAAC,OAAO,CACpB,CAAA"}
@@ -0,0 +1,129 @@
1
+ @import "tailwindcss";
2
+
3
+ @theme {
4
+ --color-border: hsl(var(--border));
5
+ --color-input: hsl(var(--input));
6
+ --color-ring: hsl(var(--ring));
7
+ --color-background: hsl(var(--background));
8
+ --color-foreground: hsl(var(--foreground));
9
+
10
+ --color-primary: hsl(var(--primary));
11
+ --color-primary-foreground: hsl(var(--primary-foreground));
12
+
13
+ --color-secondary: hsl(var(--secondary));
14
+ --color-secondary-foreground: hsl(var(--secondary-foreground));
15
+
16
+ --color-destructive: hsl(var(--destructive));
17
+ --color-destructive-foreground: hsl(var(--destructive-foreground));
18
+
19
+ --color-muted: hsl(var(--muted));
20
+ --color-muted-foreground: hsl(var(--muted-foreground));
21
+
22
+ --color-accent: hsl(var(--accent));
23
+ --color-accent-foreground: hsl(var(--accent-foreground));
24
+
25
+ --color-popover: hsl(var(--popover));
26
+ --color-popover-foreground: hsl(var(--popover-foreground));
27
+
28
+ --color-card: hsl(var(--card));
29
+ --color-card-foreground: hsl(var(--card-foreground));
30
+
31
+ --radius-lg: var(--radius);
32
+ --radius-md: calc(var(--radius) - 2px);
33
+ --radius-sm: calc(var(--radius) - 4px);
34
+
35
+ --animate-accordion-down: accordion-down 0.2s ease-out;
36
+ --animate-accordion-up: accordion-up 0.2s ease-out;
37
+
38
+ @keyframes accordion-down {
39
+ from {
40
+ height: 0;
41
+ }
42
+ to {
43
+ height: var(--radix-accordion-content-height);
44
+ }
45
+ }
46
+ @keyframes accordion-up {
47
+ from {
48
+ height: var(--radix-accordion-content-height);
49
+ }
50
+ to {
51
+ height: 0;
52
+ }
53
+ }
54
+ }
55
+
56
+ @utility container {
57
+ margin-inline: auto;
58
+ padding-inline: 2rem;
59
+ @media (width >= 1400px) {
60
+ max-width: 1400px;
61
+ }
62
+ }
63
+
64
+ @layer base {
65
+ *,
66
+ ::after,
67
+ ::before,
68
+ ::backdrop,
69
+ ::file-selector-button {
70
+ border-color: var(--color-gray-200, currentColor);
71
+ }
72
+ }
73
+
74
+ @layer base {
75
+ :root {
76
+ --background: 0 0% 100%;
77
+ --foreground: 222.2 84% 4.9%;
78
+ --card: 0 0% 100%;
79
+ --card-foreground: 222.2 84% 4.9%;
80
+ --popover: 0 0% 100%;
81
+ --popover-foreground: 222.2 84% 4.9%;
82
+ --primary: 222.2 47.4% 11.2%;
83
+ --primary-foreground: 210 40% 98%;
84
+ --secondary: 210 40% 96.1%;
85
+ --secondary-foreground: 222.2 47.4% 11.2%;
86
+ --muted: 210 40% 96.1%;
87
+ --muted-foreground: 215.4 16.3% 46.9%;
88
+ --accent: 210 40% 96.1%;
89
+ --accent-foreground: 222.2 47.4% 11.2%;
90
+ --destructive: 0 84.2% 60.2%;
91
+ --destructive-foreground: 210 40% 98%;
92
+ --border: 214.3 31.8% 91.4%;
93
+ --input: 214.3 31.8% 91.4%;
94
+ --ring: 222.2 84% 4.9%;
95
+ --radius: 0.5rem;
96
+ }
97
+
98
+ .dark {
99
+ --background: 222.2 84% 4.9%;
100
+ --foreground: 210 40% 98%;
101
+ --card: 222.2 84% 4.9%;
102
+ --card-foreground: 210 40% 98%;
103
+ --popover: 222.2 84% 4.9%;
104
+ --popover-foreground: 210 40% 98%;
105
+ --primary: 210 40% 98%;
106
+ --primary-foreground: 222.2 47.4% 11.2%;
107
+ --secondary: 217.2 32.6% 17.5%;
108
+ --secondary-foreground: 210 40% 98%;
109
+ --muted: 217.2 32.6% 17.5%;
110
+ --muted-foreground: 215 20.2% 65.1%;
111
+ --accent: 217.2 32.6% 17.5%;
112
+ --accent-foreground: 210 40% 98%;
113
+ --destructive: 0 62.8% 30.6%;
114
+ --destructive-foreground: 210 40% 98%;
115
+ --border: 217.2 32.6% 17.5%;
116
+ --input: 217.2 32.6% 17.5%;
117
+ --ring: 212.7 26.8% 83.9%;
118
+ }
119
+ }
120
+
121
+ @layer base {
122
+ * {
123
+ @apply border-border;
124
+ }
125
+ body {
126
+ @apply bg-background text-foreground;
127
+ }
128
+ }
129
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arkitect-ui/cli",
3
- "version": "0.2.1",
4
- "description": "CLI tool for creating Effect-TS monorepos and managing components",
3
+ "version": "0.3.0",
4
+ "description": "CLI tool managing components for Arkitect-UI",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "arkitect-ui": "./dist/src/main.js"
@@ -0,0 +1,129 @@
1
+ @import "tailwindcss";
2
+
3
+ @theme {
4
+ --color-border: hsl(var(--border));
5
+ --color-input: hsl(var(--input));
6
+ --color-ring: hsl(var(--ring));
7
+ --color-background: hsl(var(--background));
8
+ --color-foreground: hsl(var(--foreground));
9
+
10
+ --color-primary: hsl(var(--primary));
11
+ --color-primary-foreground: hsl(var(--primary-foreground));
12
+
13
+ --color-secondary: hsl(var(--secondary));
14
+ --color-secondary-foreground: hsl(var(--secondary-foreground));
15
+
16
+ --color-destructive: hsl(var(--destructive));
17
+ --color-destructive-foreground: hsl(var(--destructive-foreground));
18
+
19
+ --color-muted: hsl(var(--muted));
20
+ --color-muted-foreground: hsl(var(--muted-foreground));
21
+
22
+ --color-accent: hsl(var(--accent));
23
+ --color-accent-foreground: hsl(var(--accent-foreground));
24
+
25
+ --color-popover: hsl(var(--popover));
26
+ --color-popover-foreground: hsl(var(--popover-foreground));
27
+
28
+ --color-card: hsl(var(--card));
29
+ --color-card-foreground: hsl(var(--card-foreground));
30
+
31
+ --radius-lg: var(--radius);
32
+ --radius-md: calc(var(--radius) - 2px);
33
+ --radius-sm: calc(var(--radius) - 4px);
34
+
35
+ --animate-accordion-down: accordion-down 0.2s ease-out;
36
+ --animate-accordion-up: accordion-up 0.2s ease-out;
37
+
38
+ @keyframes accordion-down {
39
+ from {
40
+ height: 0;
41
+ }
42
+ to {
43
+ height: var(--radix-accordion-content-height);
44
+ }
45
+ }
46
+ @keyframes accordion-up {
47
+ from {
48
+ height: var(--radix-accordion-content-height);
49
+ }
50
+ to {
51
+ height: 0;
52
+ }
53
+ }
54
+ }
55
+
56
+ @utility container {
57
+ margin-inline: auto;
58
+ padding-inline: 2rem;
59
+ @media (width >= 1400px) {
60
+ max-width: 1400px;
61
+ }
62
+ }
63
+
64
+ @layer base {
65
+ *,
66
+ ::after,
67
+ ::before,
68
+ ::backdrop,
69
+ ::file-selector-button {
70
+ border-color: var(--color-gray-200, currentColor);
71
+ }
72
+ }
73
+
74
+ @layer base {
75
+ :root {
76
+ --background: 0 0% 100%;
77
+ --foreground: 222.2 84% 4.9%;
78
+ --card: 0 0% 100%;
79
+ --card-foreground: 222.2 84% 4.9%;
80
+ --popover: 0 0% 100%;
81
+ --popover-foreground: 222.2 84% 4.9%;
82
+ --primary: 222.2 47.4% 11.2%;
83
+ --primary-foreground: 210 40% 98%;
84
+ --secondary: 210 40% 96.1%;
85
+ --secondary-foreground: 222.2 47.4% 11.2%;
86
+ --muted: 210 40% 96.1%;
87
+ --muted-foreground: 215.4 16.3% 46.9%;
88
+ --accent: 210 40% 96.1%;
89
+ --accent-foreground: 222.2 47.4% 11.2%;
90
+ --destructive: 0 84.2% 60.2%;
91
+ --destructive-foreground: 210 40% 98%;
92
+ --border: 214.3 31.8% 91.4%;
93
+ --input: 214.3 31.8% 91.4%;
94
+ --ring: 222.2 84% 4.9%;
95
+ --radius: 0.5rem;
96
+ }
97
+
98
+ .dark {
99
+ --background: 222.2 84% 4.9%;
100
+ --foreground: 210 40% 98%;
101
+ --card: 222.2 84% 4.9%;
102
+ --card-foreground: 210 40% 98%;
103
+ --popover: 222.2 84% 4.9%;
104
+ --popover-foreground: 210 40% 98%;
105
+ --primary: 210 40% 98%;
106
+ --primary-foreground: 222.2 47.4% 11.2%;
107
+ --secondary: 217.2 32.6% 17.5%;
108
+ --secondary-foreground: 210 40% 98%;
109
+ --muted: 217.2 32.6% 17.5%;
110
+ --muted-foreground: 215 20.2% 65.1%;
111
+ --accent: 217.2 32.6% 17.5%;
112
+ --accent-foreground: 210 40% 98%;
113
+ --destructive: 0 62.8% 30.6%;
114
+ --destructive-foreground: 210 40% 98%;
115
+ --border: 217.2 32.6% 17.5%;
116
+ --input: 217.2 32.6% 17.5%;
117
+ --ring: 212.7 26.8% 83.9%;
118
+ }
119
+ }
120
+
121
+ @layer base {
122
+ * {
123
+ @apply border-border;
124
+ }
125
+ body {
126
+ @apply bg-background text-foreground;
127
+ }
128
+ }
129
+