Getting Started
CLI Reference
Use the Styleframe CLI to initialize projects and build optimized CSS from your configuration files.
Overview
The Styleframe CLI is a command-line interface that helps you initialize new projects and build production-ready CSS from your Styleframe configuration. It provides a streamlined workflow from project setup to optimized style generation.
Why use the CLI?
The CLI helps you:
- Quick project setup: Initialize Styleframe configuration and dependencies with a single command.
- Optimized builds: Generate production-ready CSS from your configuration files.
- Flexible output: Control where and how your styles are generated.
- Consistent workflow: Integrate Styleframe into your development and deployment pipelines.
Installation
Install the CLI as a development dependency:
pnpm install -D @styleframe/cli
yarn add -D @styleframe/cli
npm install -D @styleframe/cli
bun add -D @styleframe/cli
Commands
The CLI provides two primary commands: init for project setup and build for generating CSS output.
init
command
styleframe init [options]
Options
| Option | Alias | Type | Default | Description |
|---|---|---|---|---|
--cwd | -d, --dir | string | process.cwd() | Directory where the project will be initialized |
Usage
styleframe init
styleframe init --cwd ./my-project
styleframe init -d ./my-project
- Creates a
styleframe.config.tsfile with basic configuration - Adds
styleframeand@styleframe/clito yourpackage.jsondependencies - Skips creating files that already exist (won't overwrite existing config)
Pro tip: After running
init, don't forget to run npm install to install the added dependencies.build
command
styleframe build [entry] [options]
Options
| Option | Alias | Type | Default | Description |
|---|---|---|---|---|
entry | - | string | styleframe.config.ts | Entry point file(s) for the build |
--outputDir | -o, --out | string | styleframe | Output directory for built files |
Usage
styleframe build
styleframe build my-styles.config.ts
styleframe build --outputDir dist/styles
styleframe build -o dist/styles
styleframe build --out dist/styles
- Loads your Styleframe configuration from the entry file
- Processes all styles, variables, themes, and utilities
- Generates optimized CSS files in the specified output directory
The build command generates a structured output directory:
styleframe/
├── index.css # Main compiled CSS
└── index.ts # Main compiled TypeScript
watch 🚧
command
styleframe watch [entry] [options]
Coming soon: Track progress in the GitHub repository.
Best Practices
- Use npm scripts: Define CLI commands in your
package.jsonfor consistent execution across your team. - Version control configs: Commit your
styleframe.config.tsto ensure consistent styling across environments. - Integrate with CI/CD: Run
styleframe buildin your deployment pipeline to generate production CSS. - Organize output: Use
--outputDirto organize generated files according to your project structure. - Descriptive naming: Use clear names for multiple configs like
styleframe.theme.config.tsorstyleframe.components.config.ts.
Use native integrations: We recommend using native integrations with Vite and other tools for building projects using styleframe.
FAQ
Ensure styleframe is present in your node_modules/.bin directory. Alternatively, try running the command with npx:
npx styleframe init
The CLI looks for styleframe.config.ts by default. Either create this file or specify your config path:
styleframe build path/to/your/config.ts
Currently, the CLI expects TypeScript configuration files (
.ts). You can still write your application code in JavaScript while using TypeScript only for the config file.Run the build command with different entry points and output directories:
styleframe build styleframe.theme.config.ts -o dist/theme
styleframe build styleframe.components.config.ts -o dist/components
Ensure all dependencies are installed and your configuration file has valid TypeScript syntax. Verify that you've exported your Styleframe instance as the default export.
Configuration options are defined in your
styleframe.config.ts file using the styleframe() function. The CLI respects all configuration options you set there.While primarily designed for CLI use, you can import and use the underlying
build and loadConfiguration functions directly from @styleframe/loader in Node.js scripts.