Configuration
How StarUI discovers and uses project configuration.
Project Configuration
pyproject.toml
StarUI reads its settings from the [tool.starui] section in your project's pyproject.toml.
Directory where components are installed. Relative to project root.
Path for the generated CSS file.
Directory containing input.css. Defaults to the parent directory of css_output.
Configuration Resolution
Priority Order
When resolving settings, StarUI checks these sources in order:
e.g. --component-dir, --output
[tool.starui] section
Scans project structure for common patterns
Auto-Detection Defaults
When no explicit config is found, StarUI infers paths from your project layout:
ui/ if it exists, otherwise components/ui/
static/css/starui.css if static/ exists, assets/starui.css if assets/ exists, otherwise starui.css
Parent directory of css_output
Project Structure
What star init creates
Running star init scaffolds the following structure:
input.css
The generated input.css uses Tailwind v4 syntax with the StarUI theme system:
Colors use OKLch color space for perceptually uniform theming. Named theme variants like [data-theme="blue"] are included for easy customization.
Manifest
.starui/manifest.json
The manifest tracks every component and block installed in your project:
Checksums enable modification detection. When you edit a component locally, star status will flag it as modified and star update will skip it unless --force is used.
Cache
~/.starui/cache/
StarUI maintains a global cache for the Tailwind binary and registry index. Component sources are cached on-demand as you install them:
Cache TTL
Cache freshness depends on the registry version:
e.g. main — index re-fetched after 1 hour
e.g. v0.3.2 — cached permanently, never re-fetched
Component source files are validated by checksum. If the cached file matches the registry checksum, it's served from cache regardless of age.