Skip to content

Libraries Overview

The Surkyl Platform includes several reusable libraries that provide shared functionality across applications. These libraries promote code reuse, maintain consistency, and accelerate development.

Modern Angular component library built with Material Design and TailwindCSS.

  • Technology: Angular 20+ (standalone components)
  • Key Features:
    • Comprehensive theme system
    • Pre-built UI components
    • NanX Flows Workflow Engine - YAML-based workflow automation
    • TailwindCSS integration
    • Accessibility-first design

Learn more about Pixel →

Core Rust utilities and shared functionality used across all Rust applications.

  • Key Features: Common types, utilities, configuration helpers
  • Used by: All Rust applications

HTTP utilities and middleware helpers for Axum applications.

  • Key Features: HTTP middleware, request/response utilities
  • Used by: Gate, Surkyl Server

Validation and utility library providing common validation logic.

  • Key Features: Input validation, data transformation
  • Used by: Surkyl Server, Gate

MueSync-specific utilities and shared code.

  • Key Features: Product-specific utilities
  • Used by: MueSync applications

Background job and queue management library.

  • Key Features: Job queuing, distributed task processing
  • Used by: NanX, Surkyl Server
// Import from Pixel library
import { ButtonComponent } from '@surkyl/pixel';
# Add to Cargo.toml
[dependencies]
surkyl_core = { workspace = true }
hypers = { workspace = true }
// Import in Rust
use surkyl_core::manifest::Manifest;
use hypers::middleware::Logger;

When developing libraries:

  1. Keep them focused - Each library should have a clear, single purpose
  2. Minimize dependencies - Reduce external dependencies where possible
  3. Document thoroughly - Libraries are shared code, document well
  4. Test extensively - Libraries are used by multiple apps, test coverage is critical
  5. Version carefully - Changes affect multiple consumers