New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@shift-css/cli

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shift-css/cli - npm Package Compare versions

Comparing version
0.3.0
to
0.4.0
+195
-18
dist/index.js
#!/usr/bin/env node
// src/index.ts
import pc4 from "picocolors";
import pc5 from "picocolors";
// package.json
var package_default = {
name: "@shift-css/cli",
version: "0.3.0",
version: "0.4.0",
description: "CLI tool for Shift CSS framework setup and migration",

@@ -707,2 +707,157 @@ type: "module",

// src/commands/types.ts
import { existsSync, readFileSync, writeFileSync } from "node:fs";
import { join as join3 } from "node:path";
import pc4 from "picocolors";
function detectFramework(rootDir) {
const pkgPath = join3(rootDir, "package.json");
if (!existsSync(pkgPath)) {
return "unknown";
}
try {
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
const deps = {
...pkg.dependencies,
...pkg.devDependencies
};
if (deps.react || deps["react-dom"] || deps.next) {
return "react";
}
if (deps.vue || deps.nuxt) {
return "vue";
}
if (deps.svelte || deps["@sveltejs/kit"]) {
return "svelte";
}
} catch {}
return "unknown";
}
function generateReactTypes() {
return `/**
* Shift CSS - React Type Definitions
*
* This file enables TypeScript support for Shift CSS attributes in JSX.
* Generated by: npx shift-css types
*/
/// <reference types="@shift-css/core/types/react" />
`;
}
function generateVueTypes() {
return `/**
* Shift CSS - Vue Type Definitions
*
* This file enables TypeScript support for Shift CSS attributes in Vue templates.
* Generated by: npx shift-css types
*/
/// <reference types="@shift-css/core/types/vue" />
`;
}
function generateGenericTypes() {
return `/**
* Shift CSS - Type Definitions
*
* Import the types you need for your framework:
*
* React:
* /// <reference types="@shift-css/core/types/react" />
*
* Vue:
* /// <reference types="@shift-css/core/types/vue" />
*
* Generated by: npx shift-css types
*/
// Uncomment the line for your framework:
// /// <reference types="@shift-css/core/types/react" />
// /// <reference types="@shift-css/core/types/vue" />
export {};
`;
}
function showInstructions(framework) {
console.log();
console.log(pc4.bold("\uD83D\uDCDD Next Steps"));
console.log();
if (framework === "react") {
console.log(pc4.dim("Option 1: Add to tsconfig.json (recommended)"));
console.log();
console.log(pc4.cyan(" {"));
console.log(pc4.cyan(' "compilerOptions": {'));
console.log(pc4.cyan(' "types": ["@shift-css/core/types/react"]'));
console.log(pc4.cyan(" }"));
console.log(pc4.cyan(" }"));
console.log();
console.log(pc4.dim("Option 2: Add reference to any .d.ts file"));
console.log();
console.log(pc4.cyan(' /// <reference types="@shift-css/core/types/react" />'));
} else if (framework === "vue") {
console.log(pc4.dim("Option 1: Add to tsconfig.json (recommended)"));
console.log();
console.log(pc4.cyan(" {"));
console.log(pc4.cyan(' "compilerOptions": {'));
console.log(pc4.cyan(' "types": ["@shift-css/core/types/vue"]'));
console.log(pc4.cyan(" }"));
console.log(pc4.cyan(" }"));
console.log();
console.log(pc4.dim("Option 2: Add reference to any .d.ts file"));
console.log();
console.log(pc4.cyan(' /// <reference types="@shift-css/core/types/vue" />'));
} else if (framework === "svelte") {
console.log(pc4.dim("Svelte support is coming soon!"));
console.log();
console.log(pc4.dim("For now, you can generate a local .d.ts file:"));
console.log();
console.log(pc4.cyan(" npx shift-css types --svelte -o shift.d.ts"));
} else {
console.log(pc4.dim("Add to your tsconfig.json based on your framework:"));
console.log();
console.log(pc4.cyan(' React: "types": ["@shift-css/core/types/react"]'));
console.log(pc4.cyan(' Vue: "types": ["@shift-css/core/types/vue"]'));
console.log(pc4.cyan(" Svelte: Coming soon"));
}
console.log();
console.log(pc4.dim("After setup, you'll get autocomplete for attributes like:"));
console.log(pc4.green(' s-btn="primary" s-grid="3" s-flex="center"'));
console.log();
}
async function typesCommand(options = {}) {
const rootDir = process.cwd();
console.log();
console.log(pc4.bold("\uD83C\uDFA8 Shift CSS Type Generator"));
console.log();
const framework = options.framework || detectFramework(rootDir);
if (framework !== "unknown") {
console.log(`${pc4.green("✓")} Detected framework: ${pc4.cyan(framework)}`);
} else {
console.log(`${pc4.yellow("!")} Could not detect framework automatically`);
}
if (options.output) {
const outputPath = join3(rootDir, options.output);
let content;
switch (framework) {
case "react":
content = generateReactTypes();
break;
case "vue":
content = generateVueTypes();
break;
default:
content = generateGenericTypes();
}
try {
writeFileSync(outputPath, content, "utf-8");
console.log(`${pc4.green("✓")} Created ${pc4.cyan(options.output)}`);
} catch (error) {
console.error(`${pc4.red("✗")} Failed to write ${options.output}`);
if (error instanceof Error) {
console.error(pc4.dim(error.message));
}
process.exit(1);
}
}
showInstructions(framework);
}
// src/index.ts

@@ -712,20 +867,23 @@ var VERSION = package_default.version;

console.log(`
${pc4.bold("Shift CSS CLI")} ${pc4.dim(`v${VERSION}`)}
${pc5.bold("Shift CSS CLI")} ${pc5.dim(`v${VERSION}`)}
${pc4.dim("Usage:")}
${pc4.cyan("shift-css")} ${pc4.green("<command>")} ${pc4.dim("[options]")}
${pc5.dim("Usage:")}
${pc5.cyan("shift-css")} ${pc5.green("<command>")} ${pc5.dim("[options]")}
${pc4.dim("Commands:")}
${pc4.green("init")} Set up Shift CSS in your project
${pc5.dim("Commands:")}
${pc5.green("init")} Set up Shift CSS in your project
Detects existing frameworks and wraps them in @layer legacy
${pc5.green("types")} Generate TypeScript definitions for Shift CSS attributes
Detects React/Vue/Svelte and shows setup instructions
${pc4.dim("Options:")}
${pc4.yellow("--help, -h")} Show this help message
${pc4.yellow("--version, -v")} Show version number
${pc5.dim("Options:")}
${pc5.yellow("--help, -h")} Show this help message
${pc5.yellow("--version, -v")} Show version number
${pc4.dim("Examples:")}
${pc4.cyan("npx shift-css init")}
${pc4.cyan("npx shift-css --help")}
${pc5.dim("Examples:")}
${pc5.cyan("npx shift-css init")}
${pc5.cyan("npx shift-css types")}
${pc5.cyan("npx shift-css types --react -o shift.d.ts")}
${pc4.dim("Learn more:")} ${pc4.underline("https://getshiftcss.com")}
${pc5.dim("Learn more:")} ${pc5.underline("https://getshiftcss.com")}
`);

@@ -751,8 +909,27 @@ }

}
console.error(pc4.red(`Unknown command: ${command}`));
console.log(pc4.dim(`Run ${pc4.cyan("shift-css --help")} for usage information.`));
if (command === "types") {
const options = {};
for (let i = 1;i < args.length; i++) {
const arg = args[i];
if (arg === "--react") {
options.framework = "react";
} else if (arg === "--vue") {
options.framework = "vue";
} else if (arg === "--svelte") {
options.framework = "svelte";
} else if ((arg === "-o" || arg === "--output") && args[i + 1]) {
options.output = args[++i];
} else if (arg.startsWith("--output=")) {
options.output = arg.slice("--output=".length);
}
}
await typesCommand(options);
return;
}
console.error(pc5.red(`Unknown command: ${command}`));
console.log(pc5.dim(`Run ${pc5.cyan("shift-css --help")} for usage information.`));
process.exit(1);
}
main().catch((error) => {
console.error(pc4.red("Error:"), error.message);
console.error(pc5.red("Error:"), error.message);
if (process.env.DEBUG) {

@@ -764,2 +941,2 @@ console.error(error.stack);

//# debugId=7E1A555783FAAF5864756E2164756E21
//# debugId=2629B6603A680EC964756E2164756E21
+6
-5
{
"version": 3,
"sources": ["../src/index.ts", "../src/commands/init.ts", "../src/core/detector.ts", "../src/core/generator.ts", "../src/types.ts", "../src/core/scanner.ts", "../src/ui/display.ts", "../src/ui/prompts.ts", "../src/core/color.ts"],
"sources": ["../src/index.ts", "../src/commands/init.ts", "../src/core/detector.ts", "../src/core/generator.ts", "../src/types.ts", "../src/core/scanner.ts", "../src/ui/display.ts", "../src/ui/prompts.ts", "../src/core/color.ts", "../src/commands/types.ts"],
"sourcesContent": [
"#!/usr/bin/env node\n/**\n * Shift CSS CLI\n *\n * A \"Guided Hand\" CLI tool that helps set up CSS layer compatibility\n *\n * Usage:\n * npx shift-css init - Initialize Shift CSS in your project\n * npx shift-css --help - Show help\n */\n\nimport pc from 'picocolors';\nimport pkg from '../package.json' with { type: 'json' };\nimport { initCommand } from './commands/init.ts';\n\nconst VERSION = pkg.version;\n\nfunction showHelp(): void {\n\tconsole.log(`\n${pc.bold('Shift CSS CLI')} ${pc.dim(`v${VERSION}`)}\n\n${pc.dim('Usage:')}\n ${pc.cyan('shift-css')} ${pc.green('<command>')} ${pc.dim('[options]')}\n\n${pc.dim('Commands:')}\n ${pc.green('init')} Set up Shift CSS in your project\n Detects existing frameworks and wraps them in @layer legacy\n\n${pc.dim('Options:')}\n ${pc.yellow('--help, -h')} Show this help message\n ${pc.yellow('--version, -v')} Show version number\n\n${pc.dim('Examples:')}\n ${pc.cyan('npx shift-css init')}\n ${pc.cyan('npx shift-css --help')}\n\n${pc.dim('Learn more:')} ${pc.underline('https://getshiftcss.com')}\n`);\n}\n\nfunction showVersion(): void {\n\tconsole.log(`shift-css v${VERSION}`);\n}\n\nasync function main(): Promise<void> {\n\tconst args = process.argv.slice(2);\n\tconst command = args[0];\n\n\t// Handle flags\n\tif (command === '--help' || command === '-h') {\n\t\tshowHelp();\n\t\treturn;\n\t}\n\n\tif (command === '--version' || command === '-v') {\n\t\tshowVersion();\n\t\treturn;\n\t}\n\n\t// Handle commands\n\tif (command === 'init' || !command) {\n\t\tawait initCommand();\n\t\treturn;\n\t}\n\n\t// Unknown command\n\tconsole.error(pc.red(`Unknown command: ${command}`));\n\tconsole.log(pc.dim(`Run ${pc.cyan('shift-css --help')} for usage information.`));\n\tprocess.exit(1);\n}\n\nmain().catch((error: Error) => {\n\tconsole.error(pc.red('Error:'), error.message);\n\tif (process.env.DEBUG) {\n\t\tconsole.error(error.stack);\n\t}\n\tprocess.exit(1);\n});\n",
"#!/usr/bin/env node\n/**\n * Shift CSS CLI\n *\n * A \"Guided Hand\" CLI tool that helps set up CSS layer compatibility\n *\n * Usage:\n * npx shift-css init - Initialize Shift CSS in your project\n * npx shift-css --help - Show help\n */\n\nimport pc from 'picocolors';\nimport pkg from '../package.json' with { type: 'json' };\nimport { initCommand } from './commands/init.ts';\nimport { typesCommand } from './commands/types.ts';\n\nconst VERSION = pkg.version;\n\nfunction showHelp(): void {\n\tconsole.log(`\n${pc.bold('Shift CSS CLI')} ${pc.dim(`v${VERSION}`)}\n\n${pc.dim('Usage:')}\n ${pc.cyan('shift-css')} ${pc.green('<command>')} ${pc.dim('[options]')}\n\n${pc.dim('Commands:')}\n ${pc.green('init')} Set up Shift CSS in your project\n Detects existing frameworks and wraps them in @layer legacy\n ${pc.green('types')} Generate TypeScript definitions for Shift CSS attributes\n Detects React/Vue/Svelte and shows setup instructions\n\n${pc.dim('Options:')}\n ${pc.yellow('--help, -h')} Show this help message\n ${pc.yellow('--version, -v')} Show version number\n\n${pc.dim('Examples:')}\n ${pc.cyan('npx shift-css init')}\n ${pc.cyan('npx shift-css types')}\n ${pc.cyan('npx shift-css types --react -o shift.d.ts')}\n\n${pc.dim('Learn more:')} ${pc.underline('https://getshiftcss.com')}\n`);\n}\n\nfunction showVersion(): void {\n\tconsole.log(`shift-css v${VERSION}`);\n}\n\nasync function main(): Promise<void> {\n\tconst args = process.argv.slice(2);\n\tconst command = args[0];\n\n\t// Handle flags\n\tif (command === '--help' || command === '-h') {\n\t\tshowHelp();\n\t\treturn;\n\t}\n\n\tif (command === '--version' || command === '-v') {\n\t\tshowVersion();\n\t\treturn;\n\t}\n\n\t// Handle commands\n\tif (command === 'init' || !command) {\n\t\tawait initCommand();\n\t\treturn;\n\t}\n\n\tif (command === 'types') {\n\t\t// Parse options for types command\n\t\tconst options: { framework?: 'react' | 'vue' | 'svelte'; output?: string } = {};\n\n\t\tfor (let i = 1; i < args.length; i++) {\n\t\t\tconst arg = args[i] as string;\n\t\t\tif (arg === '--react') {\n\t\t\t\toptions.framework = 'react';\n\t\t\t} else if (arg === '--vue') {\n\t\t\t\toptions.framework = 'vue';\n\t\t\t} else if (arg === '--svelte') {\n\t\t\t\toptions.framework = 'svelte';\n\t\t\t} else if ((arg === '-o' || arg === '--output') && args[i + 1]) {\n\t\t\t\toptions.output = args[++i];\n\t\t\t} else if (arg.startsWith('--output=')) {\n\t\t\t\toptions.output = arg.slice('--output='.length);\n\t\t\t}\n\t\t}\n\n\t\tawait typesCommand(options);\n\t\treturn;\n\t}\n\n\t// Unknown command\n\tconsole.error(pc.red(`Unknown command: ${command}`));\n\tconsole.log(pc.dim(`Run ${pc.cyan('shift-css --help')} for usage information.`));\n\tprocess.exit(1);\n}\n\nmain().catch((error: Error) => {\n\tconsole.error(pc.red('Error:'), error.message);\n\tif (process.env.DEBUG) {\n\t\tconsole.error(error.stack);\n\t}\n\tprocess.exit(1);\n});\n",
"/**\n * Init Command\n * Initialize Shift CSS in a project\n */\n\nimport pc from 'picocolors';\nimport { detectFrameworks } from '../core/detector.ts';\nimport {\n\tconfigExists,\n\tgenerateConfig,\n\tgenerateStylesheet,\n\tstylesheetExists,\n\twriteConfig,\n\twriteStylesheet,\n} from '../core/generator.ts';\nimport { scanForCssFiles } from '../core/scanner.ts';\nimport { DEFAULT_CONFIG, type InitResult } from '../types.ts';\nimport { showNextSteps, showStylesheetPreview } from '../ui/display.ts';\nimport {\n\taskArchitectureMode,\n\taskPrimaryHue,\n\taskStylesheetPath,\n\tconfirmInit,\n\tconfirmOverwrite,\n\tcreateSpinner,\n\tlogSuccess,\n\tlogWarning,\n\tshowIntro,\n\tshowOutro,\n} from '../ui/prompts.ts';\n\n/**\n * Main init command\n */\nexport async function initCommand(): Promise<void> {\n\tconst rootDir = process.cwd();\n\n\tshowIntro();\n\n\t// Check if already initialized\n\tconst hasConfig = await configExists(rootDir);\n\tif (hasConfig) {\n\t\tlogWarning('This project already has a shift.config.json');\n\t\tconst shouldOverwrite = await confirmOverwrite('shift.config.json');\n\t\tif (!shouldOverwrite) {\n\t\t\tshowOutro(pc.yellow('Initialization cancelled'));\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Step 1: Scan for existing CSS frameworks (silent, for detection)\n\tconst spinner = createSpinner();\n\tspinner.start('Scanning project...');\n\n\tconst cssFiles = await scanForCssFiles(rootDir);\n\tconst detectedFrameworks = await detectFrameworks(cssFiles);\n\n\tif (detectedFrameworks.length > 0) {\n\t\tspinner.stop(`Detected existing CSS: ${detectedFrameworks.map((f) => f.type).join(', ')}`);\n\t} else {\n\t\tspinner.stop('Project scanned');\n\t}\n\n\t// Step 2: Ask for architecture mode\n\tconst mode = await askArchitectureMode(detectedFrameworks);\n\n\t// Step 3: Ask for primary hue\n\tconst primaryHue = await askPrimaryHue();\n\n\t// Step 4: Ask for stylesheet path\n\tconst defaultStylesheetPath = DEFAULT_CONFIG.paths.stylesheet;\n\tconst stylesheetPath = await askStylesheetPath(defaultStylesheetPath);\n\n\t// Check if stylesheet already exists\n\tconst hasStylesheet = await stylesheetExists(rootDir, stylesheetPath);\n\tif (hasStylesheet) {\n\t\tconst shouldOverwrite = await confirmOverwrite(stylesheetPath);\n\t\tif (!shouldOverwrite) {\n\t\t\tshowOutro(pc.yellow('Initialization cancelled'));\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Step 5: Preview what will be created\n\tconst stylesheetContent = generateStylesheet(mode, detectedFrameworks);\n\tshowStylesheetPreview(stylesheetContent);\n\n\t// Step 6: Confirm and create files\n\tconst shouldProceed = await confirmInit('shift.config.json', stylesheetPath, mode);\n\n\tif (!shouldProceed) {\n\t\tshowOutro(pc.yellow('Initialization cancelled'));\n\t\treturn;\n\t}\n\n\t// Create config\n\tconst config = generateConfig({\n\t\tmode,\n\t\thues: {\n\t\t\tprimary: primaryHue,\n\t\t\tsecondary: DEFAULT_CONFIG.hues.secondary,\n\t\t\taccent: DEFAULT_CONFIG.hues.accent,\n\t\t\tneutral: primaryHue, // Match neutral to primary for cohesion\n\t\t},\n\t\tpaths: {\n\t\t\tstylesheet: stylesheetPath,\n\t\t},\n\t});\n\n\tspinner.start('Creating files...');\n\n\tconst configPath = await writeConfig(rootDir, config);\n\tconst fullStylesheetPath = await writeStylesheet(rootDir, stylesheetPath, stylesheetContent);\n\n\tspinner.stop('Files created');\n\n\t// Success!\n\tlogSuccess(`Created ${pc.cyan('shift.config.json')}`);\n\tlogSuccess(`Created ${pc.cyan(stylesheetPath)}`);\n\n\tconst result: InitResult = {\n\t\tconfigPath,\n\t\tstylesheetPath: fullStylesheetPath,\n\t\tmode,\n\t\tdetectedFrameworks: detectedFrameworks.length > 0 ? detectedFrameworks : undefined,\n\t};\n\n\t// Show next steps based on mode\n\tshowNextSteps(result);\n\n\tshowOutro(pc.green('✨ Shift CSS initialized!'));\n}\n",

@@ -13,7 +13,8 @@ "/**\n * Framework Detector\n * Identifies CSS frameworks by filename and content patterns\n */\n\nimport { readFile } from 'node:fs/promises';\nimport type { CssFile, DetectedFramework, FrameworkSignature, FrameworkType } from '../types.ts';\n\n/** Framework signatures for detection */\nexport const FRAMEWORK_SIGNATURES: FrameworkSignature[] = [\n\t{\n\t\tname: 'bootstrap',\n\t\tfilePatterns: [\n\t\t\t/bootstrap\\.css$/i,\n\t\t\t/bootstrap\\.min\\.css$/i,\n\t\t\t/bootstrap[\\d.-]+\\.css$/i,\n\t\t\t/bootstrap[\\d.-]+\\.min\\.css$/i,\n\t\t],\n\t\tcontentPatterns: [/\\.btn-primary\\s*\\{/, /\\.container-fluid\\s*\\{/, /\\.navbar-/, /--bs-/],\n\t\tpriority: 10,\n\t\ticon: '🅱️',\n\t\tdisplayName: 'Bootstrap',\n\t},\n\t{\n\t\tname: 'tailwind',\n\t\tfilePatterns: [\n\t\t\t/tailwind\\.css$/i,\n\t\t\t/tailwind\\.min\\.css$/i,\n\t\t\t/tailwind\\.output\\.css$/i,\n\t\t\t/tailwind-output\\.css$/i,\n\t\t],\n\t\tcontentPatterns: [\n\t\t\t/--tw-/,\n\t\t\t/\\.hover\\\\:/,\n\t\t\t/\\.focus\\\\:/,\n\t\t\t/@tailwind\\s+(base|components|utilities)/,\n\t\t\t/\\.-?m[trblxy]?-\\[/,\n\t\t],\n\t\tpriority: 10,\n\t\ticon: '🌊',\n\t\tdisplayName: 'Tailwind CSS',\n\t},\n\t{\n\t\tname: 'bulma',\n\t\tfilePatterns: [/bulma\\.css$/i, /bulma\\.min\\.css$/i],\n\t\tcontentPatterns: [/\\.is-primary\\s*\\{/, /\\.columns\\s*\\{/, /\\.navbar-burger/],\n\t\tpriority: 10,\n\t\ticon: '🎨',\n\t\tdisplayName: 'Bulma',\n\t},\n\t{\n\t\tname: 'foundation',\n\t\tfilePatterns: [/foundation\\.css$/i, /foundation\\.min\\.css$/i],\n\t\tcontentPatterns: [/\\.callout\\s*\\{/, /\\.top-bar\\s*\\{/, /\\.orbit/],\n\t\tpriority: 10,\n\t\ticon: '🏛️',\n\t\tdisplayName: 'Foundation',\n\t},\n\t{\n\t\tname: 'generic-large',\n\t\tfilePatterns: [],\n\t\tcontentPatterns: [],\n\t\tpriority: 1,\n\t\tminSize: 10 * 1024, // 10KB\n\t\ticon: '📄',\n\t\tdisplayName: 'Large CSS File',\n\t},\n];\n\n/**\n * Get framework signature by name\n */\nexport function getSignature(type: FrameworkType): FrameworkSignature | undefined {\n\treturn FRAMEWORK_SIGNATURES.find((s) => s.name === type);\n}\n\n/**\n * Check if filename matches any framework pattern\n */\nfunction matchFilename(\n\tbasename: string\n): { type: FrameworkType; signature: FrameworkSignature } | null {\n\tfor (const sig of FRAMEWORK_SIGNATURES) {\n\t\tif (sig.filePatterns.some((pattern) => pattern.test(basename))) {\n\t\t\treturn { type: sig.name, signature: sig };\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Check if content matches framework patterns\n */\nfunction matchContent(\n\tcontent: string\n): { type: FrameworkType; signature: FrameworkSignature } | null {\n\tfor (const sig of FRAMEWORK_SIGNATURES) {\n\t\tif (sig.contentPatterns.length === 0) continue;\n\t\tconst matches = sig.contentPatterns.filter((pattern) => pattern.test(content));\n\t\t// Require at least 2 content pattern matches for confidence\n\t\tif (matches.length >= 2) {\n\t\t\treturn { type: sig.name, signature: sig };\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Detect frameworks from a list of CSS files\n */\nexport async function detectFrameworks(files: CssFile[]): Promise<DetectedFramework[]> {\n\tconst detected: DetectedFramework[] = [];\n\tconst processedPaths = new Set<string>();\n\n\tfor (const file of files) {\n\t\tif (processedPaths.has(file.path)) continue;\n\n\t\t// Pass 1: Filename matching (fast, high confidence)\n\t\tconst filenameMatch = matchFilename(file.basename);\n\t\tif (filenameMatch) {\n\t\t\tdetected.push({\n\t\t\t\ttype: filenameMatch.type,\n\t\t\t\tfile,\n\t\t\t\tconfidence: 'high',\n\t\t\t\tmatchedBy: 'filename',\n\t\t\t});\n\t\t\tprocessedPaths.add(file.path);\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Pass 2: Content analysis for larger files\n\t\tif (file.size > 5 * 1024) {\n\t\t\t// >5KB\n\t\t\ttry {\n\t\t\t\t// Read first 50KB for pattern matching\n\t\t\t\tconst content = await readFileHead(file.path, 50 * 1024);\n\n\t\t\t\tconst contentMatch = matchContent(content);\n\t\t\t\tif (contentMatch) {\n\t\t\t\t\tdetected.push({\n\t\t\t\t\t\ttype: contentMatch.type,\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tconfidence: 'medium',\n\t\t\t\t\t\tmatchedBy: 'content',\n\t\t\t\t\t});\n\t\t\t\t\tprocessedPaths.add(file.path);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// Skip files we can't read\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Pass 3: Size-based detection for large generic files\n\t\tconst genericSig = FRAMEWORK_SIGNATURES.find((s) => s.name === 'generic-large');\n\t\tif (genericSig?.minSize && file.size > genericSig.minSize) {\n\t\t\t// Only flag as generic-large if it's a likely entry point name\n\t\t\tconst entryNames = ['app.css', 'main.css', 'styles.css', 'style.css', 'global.css'];\n\t\t\tif (entryNames.includes(file.basename.toLowerCase())) {\n\t\t\t\tdetected.push({\n\t\t\t\t\ttype: 'generic-large',\n\t\t\t\t\tfile,\n\t\t\t\t\tconfidence: 'low',\n\t\t\t\t\tmatchedBy: 'size',\n\t\t\t\t});\n\t\t\t\tprocessedPaths.add(file.path);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Sort by file size descending\n\treturn detected.sort((a, b) => b.file.size - a.file.size);\n}\n\n/**\n * Read first N bytes of a file\n */\nasync function readFileHead(filepath: string, maxBytes: number): Promise<string> {\n\tconst content = await readFile(filepath, 'utf-8');\n\treturn content.slice(0, maxBytes);\n}\n\n/**\n * Check if a file already has @layer declarations\n */\nexport async function hasLayerDeclarations(filepath: string): Promise<boolean> {\n\ttry {\n\t\tconst content = await readFile(filepath, 'utf-8');\n\t\treturn /@layer\\s+/.test(content);\n\t} catch {\n\t\treturn false;\n\t}\n}\n",

"/**\n * Interactive Prompts\n * User interaction using @clack/prompts\n */\n\nimport * as p from '@clack/prompts';\nimport pc from 'picocolors';\nimport { getColorName, hexToHue, isHexColor, PRESETS } from '../core/color.ts';\nimport type { ArchitectureMode, DetectedFramework } from '../types.ts';\n\n/**\n * Show intro banner\n */\nexport function showIntro(): void {\n\tconsole.clear();\n\tp.intro(pc.bgMagenta(pc.white(' 🎨 Shift CSS Init ')));\n}\n\n/**\n * Show outro message\n */\nexport function showOutro(message: string): void {\n\tp.outro(message);\n}\n\n/**\n * Show cancel message and exit\n */\nexport function handleCancel(): never {\n\tp.cancel('Setup cancelled');\n\tprocess.exit(0);\n}\n\n/**\n * Create a spinner for async operations\n */\nexport function createSpinner(): ReturnType<typeof p.spinner> {\n\treturn p.spinner();\n}\n\n/**\n * Show a note box\n */\nexport function showNote(message: string, title?: string): void {\n\tp.note(message, title);\n}\n\n/**\n * Ask for architecture mode\n */\nexport async function askArchitectureMode(\n\tdetectedFrameworks: DetectedFramework[]\n): Promise<ArchitectureMode> {\n\tconst hasFrameworks = detectedFrameworks.length > 0;\n\n\tconst frameworkHint = hasFrameworks\n\t\t? `Detected: ${detectedFrameworks.map((f) => f.type).join(', ')}`\n\t\t: undefined;\n\n\tconst mode = await p.select({\n\t\tmessage: 'What type of project is this?',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: 'greenfield' as const,\n\t\t\t\tlabel: 'New project (Greenfield)',\n\t\t\t\thint: 'Pure Shift CSS, no legacy frameworks',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'hybrid' as const,\n\t\t\t\tlabel: 'Existing project (Hybrid)',\n\t\t\t\thint: frameworkHint ?? 'Shift CSS alongside existing CSS',\n\t\t\t},\n\t\t],\n\t\tinitialValue: hasFrameworks ? ('hybrid' as const) : ('greenfield' as const),\n\t});\n\n\tif (p.isCancel(mode)) handleCancel();\n\n\treturn mode as ArchitectureMode;\n}\n\n/**\n * Ask for primary seed hue with presets and hex input\n */\nexport async function askPrimaryHue(): Promise<number> {\n\t// Build options from presets + custom\n\tconst presetOptions = PRESETS.map((preset) => ({\n\t\tvalue: preset.hue,\n\t\tlabel: preset.name,\n\t\thint: preset.description,\n\t}));\n\n\tconst hue = await p.select({\n\t\tmessage: 'Choose your brand color:',\n\t\toptions: [\n\t\t\t...presetOptions,\n\t\t\t{ value: -1, label: 'Custom', hint: 'Enter hex code or hue value' },\n\t\t],\n\t});\n\n\tif (p.isCancel(hue)) handleCancel();\n\n\tif (hue === -1) {\n\t\t// Show cheat sheet\n\t\tp.log.info(pc.dim('Hue guide: 20=Red, 90=Yellow, 140=Green, 260=Blue, 320=Purple'));\n\n\t\tconst customValue = await p.text({\n\t\t\tmessage: 'Enter a hex code (#a855f7) or hue (0-360):',\n\t\t\tplaceholder: '#a855f7 or 260',\n\t\t\tvalidate: (value) => {\n\t\t\t\tconst trimmed = value.trim();\n\n\t\t\t\t// Check if hex color\n\t\t\t\tif (isHexColor(trimmed)) {\n\t\t\t\t\tconst parsedHue = hexToHue(trimmed);\n\t\t\t\t\tif (parsedHue === null) return 'Invalid hex color';\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\t// Check if number\n\t\t\t\tconst num = Number.parseInt(trimmed, 10);\n\t\t\t\tif (Number.isNaN(num)) return 'Enter a hex code (#ff0000) or hue number (0-360)';\n\t\t\t\tif (num < 0 || num > 360) return 'Hue must be between 0 and 360';\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\n\t\tif (p.isCancel(customValue)) handleCancel();\n\n\t\tconst trimmed = (customValue as string).trim();\n\n\t\t// Convert hex to hue\n\t\tif (isHexColor(trimmed)) {\n\t\t\tconst parsedHue = hexToHue(trimmed);\n\t\t\tif (parsedHue !== null) {\n\t\t\t\tconst colorName = getColorName(parsedHue);\n\t\t\t\tp.log.success(\n\t\t\t\t\t`Converted ${pc.cyan(trimmed)} → ${pc.magenta(colorName)} (Hue: ${parsedHue})`\n\t\t\t\t);\n\t\t\t\treturn parsedHue;\n\t\t\t}\n\t\t}\n\n\t\t// Parse as number\n\t\treturn Number.parseInt(trimmed, 10);\n\t}\n\n\t// Show what preset was selected\n\tconst preset = PRESETS.find((p) => p.hue === hue);\n\tif (preset) {\n\t\tconst colorName = getColorName(preset.hue);\n\t\tp.log.info(`${pc.magenta(preset.name)} → ${colorName} (Hue: ${preset.hue})`);\n\t}\n\n\treturn hue as number;\n}\n\n/**\n * Ask for stylesheet path\n */\nexport async function askStylesheetPath(defaultPath: string): Promise<string> {\n\tconst path = await p.text({\n\t\tmessage: 'Where should the stylesheet be created?',\n\t\tplaceholder: defaultPath,\n\t\tdefaultValue: defaultPath,\n\t\tvalidate: (value) => {\n\t\t\tif (!value) return 'Please enter a path';\n\t\t\tif (!value.endsWith('.css')) return 'Path must end with .css';\n\t\t\treturn undefined;\n\t\t},\n\t});\n\n\tif (p.isCancel(path)) handleCancel();\n\n\treturn path as string;\n}\n\n/**\n * Confirm overwriting existing files\n */\nexport async function confirmOverwrite(filePath: string): Promise<boolean> {\n\tconst confirmed = await p.confirm({\n\t\tmessage: `${pc.yellow(filePath)} already exists. Overwrite it?`,\n\t\tinitialValue: false,\n\t});\n\n\tif (p.isCancel(confirmed)) handleCancel();\n\n\treturn confirmed as boolean;\n}\n\n/**\n * Confirm project initialization\n */\nexport async function confirmInit(\n\tconfigPath: string,\n\tstylesheetPath: string,\n\tmode: ArchitectureMode\n): Promise<boolean> {\n\tconst modeLabel = mode === 'greenfield' ? 'Greenfield' : 'Hybrid';\n\n\tshowNote(\n\t\t[\n\t\t\t`${pc.bold('Config:')} ${pc.cyan(configPath)}`,\n\t\t\t`${pc.bold('Stylesheet:')} ${pc.cyan(stylesheetPath)}`,\n\t\t\t`${pc.bold('Mode:')} ${pc.cyan(modeLabel)}`,\n\t\t].join('\\n'),\n\t\t'Files to create'\n\t);\n\n\tconst confirmed = await p.confirm({\n\t\tmessage: 'Proceed with initialization?',\n\t\tinitialValue: true,\n\t});\n\n\tif (p.isCancel(confirmed)) handleCancel();\n\n\treturn confirmed as boolean;\n}\n\n/**\n * Show log message\n */\nexport function log(message: string): void {\n\tp.log.message(message);\n}\n\n/**\n * Show success log\n */\nexport function logSuccess(message: string): void {\n\tp.log.success(message);\n}\n\n/**\n * Show warning log\n */\nexport function logWarning(message: string): void {\n\tp.log.warn(message);\n}\n\n/**\n * Show error log\n */\nexport function logError(message: string): void {\n\tp.log.error(message);\n}\n",
"/**\n * Color Utilities\n * Hex to OKLCH hue conversion\n */\n\n/**\n * Parse a hex color string to RGB values\n */\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } | null {\n\t// Remove # if present\n\tconst cleaned = hex.replace(/^#/, '');\n\n\t// Support 3-char shorthand (#f0f -> #ff00ff)\n\tconst fullHex =\n\t\tcleaned.length === 3\n\t\t\t? cleaned\n\t\t\t\t\t.split('')\n\t\t\t\t\t.map((c) => c + c)\n\t\t\t\t\t.join('')\n\t\t\t: cleaned;\n\n\tif (fullHex.length !== 6) return null;\n\n\tconst result = /^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(fullHex);\n\tif (!result) return null;\n\n\treturn {\n\t\tr: Number.parseInt(result[1], 16),\n\t\tg: Number.parseInt(result[2], 16),\n\t\tb: Number.parseInt(result[3], 16),\n\t};\n}\n\n/**\n * Convert RGB to HSL and extract hue\n * Returns hue in degrees (0-360)\n */\nfunction rgbToHue(r: number, g: number, b: number): number {\n\t// Normalize to 0-1\n\tconst rNorm = r / 255;\n\tconst gNorm = g / 255;\n\tconst bNorm = b / 255;\n\n\tconst max = Math.max(rNorm, gNorm, bNorm);\n\tconst min = Math.min(rNorm, gNorm, bNorm);\n\tconst delta = max - min;\n\n\t// Achromatic (gray) - return neutral hue\n\tif (delta === 0) return 250;\n\n\tlet hue: number;\n\n\tif (max === rNorm) {\n\t\thue = ((gNorm - bNorm) / delta) % 6;\n\t} else if (max === gNorm) {\n\t\thue = (bNorm - rNorm) / delta + 2;\n\t} else {\n\t\thue = (rNorm - gNorm) / delta + 4;\n\t}\n\n\thue = Math.round(hue * 60);\n\tif (hue < 0) hue += 360;\n\n\treturn hue;\n}\n\n/**\n * Convert hex color to OKLCH hue\n * Note: This is a simplified conversion that uses HSL hue as approximation\n * For production, consider using colorjs.io for accurate OKLCH conversion\n */\nexport function hexToHue(hex: string): number | null {\n\tconst rgb = hexToRgb(hex);\n\tif (!rgb) return null;\n\treturn rgbToHue(rgb.r, rgb.g, rgb.b);\n}\n\n/**\n * Check if a string looks like a hex color\n */\nexport function isHexColor(value: string): boolean {\n\treturn /^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$/.test(value.trim());\n}\n\n/**\n * Get a human-readable color name for a hue\n */\nexport function getColorName(hue: number): string {\n\t// Normalize hue to 0-360\n\tconst h = ((hue % 360) + 360) % 360;\n\n\tif (h >= 0 && h < 15) return 'Red';\n\tif (h >= 15 && h < 45) return 'Orange';\n\tif (h >= 45 && h < 75) return 'Yellow';\n\tif (h >= 75 && h < 105) return 'Lime';\n\tif (h >= 105 && h < 135) return 'Green';\n\tif (h >= 135 && h < 165) return 'Teal';\n\tif (h >= 165 && h < 195) return 'Cyan';\n\tif (h >= 195 && h < 225) return 'Sky';\n\tif (h >= 225 && h < 255) return 'Blue';\n\tif (h >= 255 && h < 285) return 'Indigo';\n\tif (h >= 285 && h < 315) return 'Purple';\n\tif (h >= 315 && h < 345) return 'Pink';\n\treturn 'Red';\n}\n\n/**\n * Shift CSS preset themes\n */\nexport interface ColorPreset {\n\tname: string;\n\thue: number;\n\tdescription: string;\n}\n\nexport const PRESETS: ColorPreset[] = [\n\t{ name: 'Plasma', hue: 260, description: 'Electric Blue - High-tech default' },\n\t{ name: 'Laser', hue: 320, description: 'Cyber-Pink - Neon futurism' },\n\t{ name: 'Acid', hue: 140, description: 'Toxic Green - Engineering edge' },\n\t{ name: 'Void', hue: 0, description: 'Monochrome - Industrial minimal' },\n];\n"
"/**\n * Color Utilities\n * Hex to OKLCH hue conversion\n */\n\n/**\n * Parse a hex color string to RGB values\n */\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } | null {\n\t// Remove # if present\n\tconst cleaned = hex.replace(/^#/, '');\n\n\t// Support 3-char shorthand (#f0f -> #ff00ff)\n\tconst fullHex =\n\t\tcleaned.length === 3\n\t\t\t? cleaned\n\t\t\t\t\t.split('')\n\t\t\t\t\t.map((c) => c + c)\n\t\t\t\t\t.join('')\n\t\t\t: cleaned;\n\n\tif (fullHex.length !== 6) return null;\n\n\tconst result = /^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(fullHex);\n\tif (!result) return null;\n\n\treturn {\n\t\tr: Number.parseInt(result[1], 16),\n\t\tg: Number.parseInt(result[2], 16),\n\t\tb: Number.parseInt(result[3], 16),\n\t};\n}\n\n/**\n * Convert RGB to HSL and extract hue\n * Returns hue in degrees (0-360)\n */\nfunction rgbToHue(r: number, g: number, b: number): number {\n\t// Normalize to 0-1\n\tconst rNorm = r / 255;\n\tconst gNorm = g / 255;\n\tconst bNorm = b / 255;\n\n\tconst max = Math.max(rNorm, gNorm, bNorm);\n\tconst min = Math.min(rNorm, gNorm, bNorm);\n\tconst delta = max - min;\n\n\t// Achromatic (gray) - return neutral hue\n\tif (delta === 0) return 250;\n\n\tlet hue: number;\n\n\tif (max === rNorm) {\n\t\thue = ((gNorm - bNorm) / delta) % 6;\n\t} else if (max === gNorm) {\n\t\thue = (bNorm - rNorm) / delta + 2;\n\t} else {\n\t\thue = (rNorm - gNorm) / delta + 4;\n\t}\n\n\thue = Math.round(hue * 60);\n\tif (hue < 0) hue += 360;\n\n\treturn hue;\n}\n\n/**\n * Convert hex color to OKLCH hue\n * Note: This is a simplified conversion that uses HSL hue as approximation\n * For production, consider using colorjs.io for accurate OKLCH conversion\n */\nexport function hexToHue(hex: string): number | null {\n\tconst rgb = hexToRgb(hex);\n\tif (!rgb) return null;\n\treturn rgbToHue(rgb.r, rgb.g, rgb.b);\n}\n\n/**\n * Check if a string looks like a hex color\n */\nexport function isHexColor(value: string): boolean {\n\treturn /^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$/.test(value.trim());\n}\n\n/**\n * Get a human-readable color name for a hue\n */\nexport function getColorName(hue: number): string {\n\t// Normalize hue to 0-360\n\tconst h = ((hue % 360) + 360) % 360;\n\n\tif (h >= 0 && h < 15) return 'Red';\n\tif (h >= 15 && h < 45) return 'Orange';\n\tif (h >= 45 && h < 75) return 'Yellow';\n\tif (h >= 75 && h < 105) return 'Lime';\n\tif (h >= 105 && h < 135) return 'Green';\n\tif (h >= 135 && h < 165) return 'Teal';\n\tif (h >= 165 && h < 195) return 'Cyan';\n\tif (h >= 195 && h < 225) return 'Sky';\n\tif (h >= 225 && h < 255) return 'Blue';\n\tif (h >= 255 && h < 285) return 'Indigo';\n\tif (h >= 285 && h < 315) return 'Purple';\n\tif (h >= 315 && h < 345) return 'Pink';\n\treturn 'Red';\n}\n\n/**\n * Shift CSS preset themes\n */\nexport interface ColorPreset {\n\tname: string;\n\thue: number;\n\tdescription: string;\n}\n\nexport const PRESETS: ColorPreset[] = [\n\t{ name: 'Plasma', hue: 260, description: 'Electric Blue - High-tech default' },\n\t{ name: 'Laser', hue: 320, description: 'Cyber-Pink - Neon futurism' },\n\t{ name: 'Acid', hue: 140, description: 'Toxic Green - Engineering edge' },\n\t{ name: 'Void', hue: 0, description: 'Monochrome - Industrial minimal' },\n];\n",
"/**\n * Types Command\n * Generate TypeScript type definitions for Shift CSS attributes\n */\n\nimport { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { join } from 'node:path';\nimport pc from 'picocolors';\n\ntype Framework = 'react' | 'vue' | 'svelte' | 'unknown';\n\ninterface TypesOptions {\n\tframework?: Framework;\n\toutput?: string;\n}\n\n/**\n * Detect frontend framework from package.json\n */\nfunction detectFramework(rootDir: string): Framework {\n\tconst pkgPath = join(rootDir, 'package.json');\n\n\tif (!existsSync(pkgPath)) {\n\t\treturn 'unknown';\n\t}\n\n\ttry {\n\t\tconst pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));\n\t\tconst deps = {\n\t\t\t...pkg.dependencies,\n\t\t\t...pkg.devDependencies,\n\t\t};\n\n\t\tif (deps.react || deps['react-dom'] || deps.next) {\n\t\t\treturn 'react';\n\t\t}\n\n\t\tif (deps.vue || deps.nuxt) {\n\t\t\treturn 'vue';\n\t\t}\n\n\t\tif (deps.svelte || deps['@sveltejs/kit']) {\n\t\t\treturn 'svelte';\n\t\t}\n\t} catch {\n\t\t// Ignore parse errors\n\t}\n\n\treturn 'unknown';\n}\n\n/**\n * Generate React type reference content\n */\nfunction generateReactTypes(): string {\n\treturn `/**\n * Shift CSS - React Type Definitions\n *\n * This file enables TypeScript support for Shift CSS attributes in JSX.\n * Generated by: npx shift-css types\n */\n\n/// <reference types=\"@shift-css/core/types/react\" />\n`;\n}\n\n/**\n * Generate Vue type reference content\n */\nfunction generateVueTypes(): string {\n\treturn `/**\n * Shift CSS - Vue Type Definitions\n *\n * This file enables TypeScript support for Shift CSS attributes in Vue templates.\n * Generated by: npx shift-css types\n */\n\n/// <reference types=\"@shift-css/core/types/vue\" />\n`;\n}\n\n/**\n * Generate generic type reference content\n */\nfunction generateGenericTypes(): string {\n\treturn `/**\n * Shift CSS - Type Definitions\n *\n * Import the types you need for your framework:\n *\n * React:\n * /// <reference types=\"@shift-css/core/types/react\" />\n *\n * Vue:\n * /// <reference types=\"@shift-css/core/types/vue\" />\n *\n * Generated by: npx shift-css types\n */\n\n// Uncomment the line for your framework:\n// /// <reference types=\"@shift-css/core/types/react\" />\n// /// <reference types=\"@shift-css/core/types/vue\" />\n\nexport {};\n`;\n}\n\n/**\n * Show usage instructions\n */\nfunction showInstructions(framework: Framework): void {\n\tconsole.log();\n\tconsole.log(pc.bold('📝 Next Steps'));\n\tconsole.log();\n\n\tif (framework === 'react') {\n\t\tconsole.log(pc.dim('Option 1: Add to tsconfig.json (recommended)'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' {'));\n\t\tconsole.log(pc.cyan(' \"compilerOptions\": {'));\n\t\tconsole.log(pc.cyan(' \"types\": [\"@shift-css/core/types/react\"]'));\n\t\tconsole.log(pc.cyan(' }'));\n\t\tconsole.log(pc.cyan(' }'));\n\t\tconsole.log();\n\t\tconsole.log(pc.dim('Option 2: Add reference to any .d.ts file'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' /// <reference types=\"@shift-css/core/types/react\" />'));\n\t} else if (framework === 'vue') {\n\t\tconsole.log(pc.dim('Option 1: Add to tsconfig.json (recommended)'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' {'));\n\t\tconsole.log(pc.cyan(' \"compilerOptions\": {'));\n\t\tconsole.log(pc.cyan(' \"types\": [\"@shift-css/core/types/vue\"]'));\n\t\tconsole.log(pc.cyan(' }'));\n\t\tconsole.log(pc.cyan(' }'));\n\t\tconsole.log();\n\t\tconsole.log(pc.dim('Option 2: Add reference to any .d.ts file'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' /// <reference types=\"@shift-css/core/types/vue\" />'));\n\t} else if (framework === 'svelte') {\n\t\tconsole.log(pc.dim('Svelte support is coming soon!'));\n\t\tconsole.log();\n\t\tconsole.log(pc.dim('For now, you can generate a local .d.ts file:'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' npx shift-css types --svelte -o shift.d.ts'));\n\t} else {\n\t\tconsole.log(pc.dim('Add to your tsconfig.json based on your framework:'));\n\t\tconsole.log();\n\t\tconsole.log(pc.cyan(' React: \"types\": [\"@shift-css/core/types/react\"]'));\n\t\tconsole.log(pc.cyan(' Vue: \"types\": [\"@shift-css/core/types/vue\"]'));\n\t\tconsole.log(pc.cyan(' Svelte: Coming soon'));\n\t}\n\n\tconsole.log();\n\tconsole.log(pc.dim(\"After setup, you'll get autocomplete for attributes like:\"));\n\tconsole.log(pc.green(' s-btn=\"primary\" s-grid=\"3\" s-flex=\"center\"'));\n\tconsole.log();\n}\n\n/**\n * Main types command\n */\nexport async function typesCommand(options: TypesOptions = {}): Promise<void> {\n\tconst rootDir = process.cwd();\n\n\tconsole.log();\n\tconsole.log(pc.bold('🎨 Shift CSS Type Generator'));\n\tconsole.log();\n\n\t// Detect or use specified framework\n\tconst framework = options.framework || detectFramework(rootDir);\n\n\tif (framework !== 'unknown') {\n\t\tconsole.log(`${pc.green('✓')} Detected framework: ${pc.cyan(framework)}`);\n\t} else {\n\t\tconsole.log(`${pc.yellow('!')} Could not detect framework automatically`);\n\t}\n\n\t// Generate and write type file if output specified\n\tif (options.output) {\n\t\tconst outputPath = join(rootDir, options.output);\n\n\t\tlet content: string;\n\t\tswitch (framework) {\n\t\t\tcase 'react':\n\t\t\t\tcontent = generateReactTypes();\n\t\t\t\tbreak;\n\t\t\tcase 'vue':\n\t\t\t\tcontent = generateVueTypes();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = generateGenericTypes();\n\t\t}\n\n\t\ttry {\n\t\t\twriteFileSync(outputPath, content, 'utf-8');\n\t\t\tconsole.log(`${pc.green('✓')} Created ${pc.cyan(options.output)}`);\n\t\t} catch (error) {\n\t\t\tconsole.error(`${pc.red('✗')} Failed to write ${options.output}`);\n\t\t\tif (error instanceof Error) {\n\t\t\t\tconsole.error(pc.dim(error.message));\n\t\t\t}\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\t// Show instructions\n\tshowInstructions(framework);\n}\n"
],
"mappings": "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",
"debugId": "7E1A555783FAAF5864756E2164756E21",
"mappings": "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",
"debugId": "2629B6603A680EC964756E2164756E21",
"names": []
}
{
"name": "@shift-css/cli",
"version": "0.3.0",
"version": "0.4.0",
"description": "CLI tool for Shift CSS framework setup and migration",

@@ -5,0 +5,0 @@ "type": "module",