Skip to content

omerakben/tuel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 TUEL Animation Library

The professional animation library for React developers

NPM Packages MIT License TypeScript Demo Status

Transform your React applications with beautiful, performant animations.
TUEL provides a comprehensive suite of animation components built on industry-standard libraries like GSAP, Framer Motion, and Three.js.

πŸš€ View Live Demo β€’ πŸ“š Documentation β€’ πŸ“¦ NPM Packages


Warning

Development Notice: TUEL is currently in early alpha development (v0.2.0). All 13 packages are functional but undergoing active improvements including security hardening, test coverage expansion (target: 80%+), and CI/CD optimizations. See PROGRESS.md for detailed status and roadmap.



οΏ½ Table of Contents


✨ Features

  • πŸš€ High Performance - GPU-accelerated animations at 60fps
  • πŸ“¦ 13 Packages - Modular architecture, install only what you need
  • 🎨 Beautiful Defaults - Professional animations out of the box
  • β™Ώ Accessible - Respects prefers-reduced-motion and WCAG guidelines
  • πŸ“± Responsive - Mobile-first design with touch support
  • πŸ”§ TypeScript - Fully typed for excellent DX
  • 🌳 Tree-shakeable - Minimal bundle impact

πŸ“¦ Quick Start

# Install core animation packages
npm install @tuel/scroll @tuel/text-effects @tuel/gallery

# Or with pnpm
pnpm add @tuel/scroll @tuel/text-effects @tuel/gallery

# Or with yarn
yarn add @tuel/scroll @tuel/text-effects @tuel/gallery

🎭 Simple Example

import { HorizontalScroll } from '@tuel/scroll';
import { AnimatedText } from '@tuel/text-effects';
import { ImageGallery } from '@tuel/gallery';

function MyApp() {
  const images = [
    { src: '/img1.jpg', alt: 'Image 1' },
    { src: '/img2.jpg', alt: 'Image 2' },
  ];

  return (
    <div>
      <AnimatedText
        text="Beautiful typography animations"
        animation="fadeIn"
        splitBy="word"
        stagger={0.1}
      />

      <HorizontalScroll speed={1.2} pin={true}>
        <Card>Slide 1</Card>
        <Card>Slide 2</Card>
        <Card>Slide 3</Card>
      </HorizontalScroll>

      <ImageGallery
        images={images}
        columns={3}
        lightbox={true}
      />
    </div>
  );
}

πŸ“¦ Complete Package Ecosystem

πŸ“š Click to view all 13 packages
Package Description Size Version
@tuel/motion Motion primitives & animations 6.9 kB npm
@tuel/scroll Scroll-triggered animations 37.7 kB npm
@tuel/gallery Interactive image & video galleries 49.9 kB npm
@tuel/text-effects Typography animations 7.2 kB npm
@tuel/ui Pre-built UI animation components 6.0 kB npm
@tuel/interaction Mouse, touch & gesture interactions 6.0 kB npm
@tuel/gsap GSAP integration utilities 1.8 kB npm
@tuel/three Three.js 3D components 4.5 kB npm
@tuel/performance Performance optimization hooks 6.4 kB npm
@tuel/state Animation state management 6.0 kB npm
@tuel/config Configuration system & presets 2.0 kB npm
@tuel/tokens Design tokens & theme system 4.8 kB npm
@tuel/utils Core utilities 1.4 kB npm



πŸ›  Development

This repository contains the complete TUEL animation library monorepo.

πŸ”§ Tech Stack

Core Technologies

  • πŸ’Ž TypeScript 5 - Type-safe development
  • βš›οΈ React 19 - Latest React features
  • πŸš€ Next.js 16 - Demo framework
  • πŸ“¦ pnpm 10.14 - Package manager

Development Tools

  • πŸ—οΈ Turborepo 2.5 - Build system
  • πŸ§ͺ Vitest 2.x - Unit testing
  • 🎭 Playwright 1.56 - E2E testing
  • πŸ” ESLint 9 - Linting (lenient mode)

⚑ CI/CD Status

βœ… Optimized Pipeline - Simplified to 5-minute builds for cost efficiency
Quality Gate Status Details
Type Checking 🟒 Blocking Strict TypeScript validation
Build 🟒 Blocking All 13 packages compile successfully
Linting 🟑 Non-blocking 0 errors, 788 warnings (development-friendly)
Testing 🟑 Non-blocking 204/224 tests passing (improvements ongoing)
Security Audit 🟑 Non-blocking 1 low severity issue

Philosophy: The CI/CD pipeline prioritizes fast feedback and cost efficiency. Only critical quality gates (typecheck + build) are blocking to enable rapid iteration.


πŸ“¦ Local Development

πŸ’» Setup Instructions
# Clone the repository
git clone https://github.com/omerakben/tuel.git
cd tuel

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run the demo application
pnpm dev

# Run tests
pnpm test

# Run type checking
pnpm typecheck

# Lint code
pnpm lint

πŸ“ Project Structure

πŸ—‚οΈ Repository Layout
tuel/
β”œβ”€β”€ packages/           # 13 animation library packages
β”‚   β”œβ”€β”€ motion/        # Motion primitives
β”‚   β”œβ”€β”€ scroll/        # Scroll animations
β”‚   β”œβ”€β”€ gallery/       # Gallery components
β”‚   β”œβ”€β”€ text-effects/  # Text animations
β”‚   β”œβ”€β”€ ui/            # UI components
β”‚   β”œβ”€β”€ interaction/   # Interaction utilities
β”‚   β”œβ”€β”€ gsap/          # GSAP integration
β”‚   β”œβ”€β”€ three/         # Three.js components
β”‚   β”œβ”€β”€ performance/   # Performance utilities
β”‚   β”œβ”€β”€ state/         # State management
β”‚   β”œβ”€β”€ config/        # Configuration system
β”‚   β”œβ”€β”€ tokens/        # Design tokens
β”‚   └── utils/         # Core utilities
β”œβ”€β”€ src/               # Demo application (Next.js 16)
β”œβ”€β”€ .github/           # CI/CD workflows
└── scripts/           # Build and automation scripts


πŸ§ͺ Testing

# Run all tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Generate coverage report
pnpm test:coverage

# Run E2E tests
pnpm test:e2e

πŸ“š Documentation

Each package has comprehensive documentation in its README:

  • Getting Started - Installation and quick start examples
  • API Reference - Complete API documentation
  • Usage Examples - Real-world use cases
  • TypeScript Support - Type definitions and usage

Visit tuel.ai/docs for complete documentation.


🀝 Contributing

We welcome contributions! TUEL is in active alpha development and community input is valuable.

Contributors PRs Welcome


πŸ“‹ Quick Contribution Guide

Getting Started

  1. Fork the repository

  2. Clone your fork:

    git clone https://github.com/YOUR_USERNAME/tuel.git
  3. Install dependencies:

    pnpm install
  4. Build packages:

    pnpm build
  5. Make your changes

  6. Run typecheck (must pass):

    pnpm typecheck
  7. Run build (must pass):

    pnpm build
  8. Submit a pull request

πŸ’‘ Contribution Philosophy

Note: Lint warnings and test failures won't block your PR. We prioritize contributor experience while maintaining core quality standards.

πŸ“š Full Guidelines

For detailed information, see CONTRIBUTING.md:

  • Code of Conduct
  • Development workflow (simplified CI/CD for faster iterations)
  • Submitting pull requests
  • Coding standards (lenient ESLint configuration)
  • Testing requirements (non-blocking tests for easier contribution)



πŸ“Š Project Status

Current Release: v0.2.0 (Alpha)

Progress Test Coverage Packages


βœ… Current Achievements (v0.2.0)
  • βœ… 13 packages published to npm (all at v0.2.0)
  • βœ… Full TypeScript support across all packages
  • βœ… Optimized CI/CD pipeline (~5 minutes, cost-efficient)
  • βœ… Core functionality working and production-ready
  • βœ… Live demo application on Vercel
  • βœ… Comprehensive package documentation
  • πŸ”„ Security improvements in progress
  • πŸ”„ Test coverage expansion (current: ~20%, target: 80%+)
  • πŸ”„ Performance monitoring and optimization
🎯 Roadmap to v1.0.0
Feature Status Priority
Security hardening (XSS prevention, input sanitization) πŸ”„ In Progress πŸ”΄ High
80%+ test coverage across all packages πŸ”„ In Progress πŸ”΄ High
Performance benchmarks and optimizations πŸ“‹ Planned 🟑 Medium
Enhanced accessibility (WCAG 2.1 AA compliance) πŸ“‹ Planned 🟑 Medium
Bundle size analysis and reduction πŸ“‹ Planned 🟑 Medium
Improved API documentation with interactive examples πŸ“‹ Planned 🟒 Low
Community contribution guidelines πŸ“‹ Planned 🟒 Low
Storybook integration for component development πŸ“‹ Planned 🟒 Low

πŸ“ˆ Detailed Status: See PROGRESS.md for detailed phase-by-phase status and weekly updates.



πŸ› Issues & Support

πŸ“„ License

MIT Β© Omer Akben

See LICENSE for details.

πŸ™ Acknowledgments

TUEL is built on the shoulders of giants:


πŸ”— Links

Resource Link
🌐 Website tuel.ai
πŸ“š Documentation tuel.ai/docs
πŸš€ Demo tuel-animation.vercel.app
πŸ“¦ npm npmjs.com/search?q=@tuel
πŸ’» GitHub github.com/omerakben/tuel


Made with ❀️ by Omer Akben


If you find TUEL useful, consider giving it a ⭐️ on GitHub!

About

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •