A component and utility library for music-based applications and UIs.
- Scilent UI
-
Available Now:
- AlbumArtwork component for displaying album covers
- ArtistLabel for artist name display
- MetadataLabel for general music metadata
- Timestamp component for time display
- Slider component for progress bars and volume controls
- IconButton for common music player actions
- Basic MusicPlayer component
-
Coming Soon:
- Advanced music visualizers
- Playlist components
- Track list components
- More specialized music metadata displays
-
Available Now:
- Basic theming with CSS variables
- Component-level styling customization
-
Coming Soon:
- Comprehensive theming system with light and dark modes
- Rich typography system optimized for music applications
- Extensive iconography for music-related actions
- Planned for Future Releases:
- Support for major music providers (Spotify, Apple Music, Tidal, etc.)
- Provider-specific styling and branding compliance
- Standardized interfaces across providers
-
Available Now:
- Basic responsive components
-
Coming Soon:
- Fully responsive designs for all device sizes
- Adaptive layouts for different screen orientations
- Touch-optimized interactions for mobile devices
-
Available Now:
- Built with React and TypeScript
- Monorepo structure using Turborepo
- Storybook for component documentation
- Vite for development
-
Coming Soon:
- AI-ready with .cursorrules boilerplate template
-
Available Now:
- Based on Radix UI Primitives for core accessibility
- Basic keyboard navigation support
-
Coming Soon:
- Full WCAG 2.1 AA compliance
- Enhanced screen reader optimization
- Comprehensive keyboard navigation
-
Available Now:
- Component customization via props
- Style overrides with CSS variables
-
Coming Soon:
- Enhanced theming API
- More extensible component patterns
-
Available Now:
- Basic animations and transitions
-
Coming Soon:
- Advanced interaction patterns
- Audio-reactive components
- Haptic feedback support
-
Available Now:
- TypeScript throughout the codebase
- Type definitions for all components
-
Coming Soon:
- Enhanced type definitions
- Strongly typed theme system
- MIT licensed for maximum flexibility
- Community contributions welcome
- Transparent development process
Scilent UI is currently in early development. The following components are available:
- β AlbumArtwork
- β ArtistLabel
- β MetadataLabel
- β Timestamp
- β Slider
- β IconButton
- β Basic MusicPlayer
The following features are under development:
- π§ Comprehensive theming system
- π§ Icons package
- π§ Provider integrations
- π§ Advanced music player components
- Node.js v23 or higher
- pnpm v10 or higher
This project uses Node Version Manager (NVM) to manage Node.js versions.
# Install the correct Node.js version
nvm install
nvm use
# Install dependencies
pnpm install
# Start the development server
pnpm dev
# Run linting
pnpm lint
# Run tests
pnpm test
# Build all packages
pnpm build
# Run Storybook
pnpm storybook
We use Storybook for developing and documenting components in isolation. Storybook provides a great way to visualize different states of your components and develop them interactively.
# Start Storybook
pnpm storybook
# Build Storybook for static deployment
pnpm build-storybook
Storybook is powered by Vite, which provides:
- Extremely fast hot module replacement (HMR)
- Native ES modules support
- Optimized build performance
- Built-in support for TypeScript, JSX, CSS, and more
Each component in the library has:
- A
.stories.tsx
file that defines various states and variants - Auto-generated API documentation from TypeScript types and JSDoc comments
To view the Storybook documentation locally, run pnpm storybook
and open your browser to http://localhost:6006.
This is a monorepo managed with pnpm workspaces and Turborepo. The packages are organized as follows:
packages/core
: Core components and utilitiespackages/icons
: Icon components (in development)packages/themes
: Theme definitions and utilities (planned)
This project uses Changesets to manage versions and publish packages.
# Create a new changeset
pnpm changeset
# Version packages based on changesets
pnpm version-packages
# Publish packages
pnpm release
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes using conventional commits (
git commit -m 'feat: add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
See the Contributing readme for more instructions on how to contribute to this project.
MIT Β© Scilent Digital