PHPackages                             tenryuubito/alice - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tenryuubito/alice

ActiveTypo3-cms-extension

tenryuubito/alice
=================

TYPO3 Site Package for performance &amp; analytics

00PHP

Since Apr 6Pushed 2d agoCompare

[ Source](https://github.com/Tenryuubito/Alice)[ Packagist](https://packagist.org/packages/tenryuubito/alice)[ RSS](/packages/tenryuubito-alice/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Alice Extension (tenryuubito/alice)
===================================

[](#alice-extension-tenryuubitoalice)

**Alice** is a high-performance TYPO3 bridge for modern asset processing (Vite) and a centralized performance &amp; SEO analytics dashboard. It is designed to decouple asset compilation from individual extensions while providing deep integration into the TYPO3 ecosystem.

Features
--------

[](#features)

- ⚡ **High-Performance Vite Bridge**: Sub-millisecond rebuilds and Hot Module Replacement (HMR).
- 📊 **Performance Analytics**: Integrated dashboard for tracking Core Web Vitals (LCP, CLS, INP).
- 🔍 **SEO &amp; Link Audit**: Automated server-side checks for meta tags, image accessibility, and link reachability.
- 🔗 **Link Reachability**: Monitors status codes and load times for both internal and external links.
- 🖼️ **Image Optimization**: Automated audit for missing alt-tags, dimensions, and lazy-loading compliance.
- 🏗️ **Centralized Build Engine**: A single Vite configuration that discovers entries across multiple extensions.

---

Developer Guide
---------------

[](#developer-guide)

### Prerequisites

[](#prerequisites)

- TYPO3 v13 or v14
- Node.js (v18+)
- Local PHP environment (or DDEV)

### 1. Installation

[](#1-installation)

The extension is installed via Composer. To set up the Node.js dependencies for asset processing, run the following command (using DDEV as example):

```
ddev typo3 alice:bundle --setup
```

### 2. Registering Asset Entries

[](#2-registering-asset-entries)

Alice discovers entry points (SCSS/TypeScript) via TYPO3 configuration. Add your files to the `additional_entries` registry in your `ext_localconf.php` or `settings.php`:

```
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['alice']['additional_entries'][] = 'EXT:your_extension/Resources/Private/Scss/main.scss';
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['alice']['additional_entries'][] = 'EXT:your_extension/Resources/Private/TypeScript/App.ts';
```

### 3. Development Mode (HMR)

[](#3-development-mode-hmr)

For the best development experience with instant updates, start the Vite dev server:

```
ddev typo3 alice:bundle --dev
```

**Important**: In `Development` context, Alice automatically redirects asset URLs to the dev server. The `ViteAssetMiddleware` handles connectivity checks to prevent errors if the server is offline.

### 4. Build for Production

[](#4-build-for-production)

To generate optimized, static files for deployment:

```
ddev typo3 alice:bundle --build
```

---

Editor Guide
------------

[](#editor-guide)

### Performance &amp; Audit Dashboard

[](#performance--audit-dashboard)

Alice provides a top-level backend module located in the primary sidebar.

- **Vitals Dashboard**: Real-time measurements of LCP, CLS, and INP performed directly in an isolated iframe.
- **SEO Check**: Validates meta titles, descriptions, and robots tags.
- **Bilder-Check**: Lists all images on the page, highlighting missing Alt-tags or missing width/height attributes.
- **Link-Check**: Scans all links on the page, categorizes them (Internal/External), and verifies reachability with a 3s timeout.

---

Configuration
-------------

[](#configuration)

Settings can be managed via **Site Configuration** (for Site Roots) or **Extension Configuration**:

- **Auto LazyLoading**: Toggle the automatic `loading="lazy"` middleware for all frontend images.
- **Thresholds**: Define custom "Good/Poor" targets for LCP, CLS, and INP.
- **Audit Rules**: Enable/Disable specific audit components across the site.

---

Technical Details
-----------------

[](#technical-details)

### Audit Engine

[](#audit-engine)

The Alice Audit engine uses a hybrid approach:

- **Client-Side**: Injected scripts measure real-user metrics (Core Web Vitals) within a sandboxed iframe.
- **Server-Side**: The `BackendController` performs deep HTML analysis and HTTP reachability tests for assets and links.

### Middlewares

[](#middlewares)

Alice registers two middlewares in the `frontend` stack:

1. `tenryuubito/alice/vite-bridge`: Manages asset URL rewriting and dev server proxies.
2. `tenryuubito/alice/lazy-loading`: Post-processes HTML to optimize image loading attributes.

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d0e061ed8feac39699a3cf0f9be0e65466a1758bf2522360ff3bc056e7fecacb?d=identicon)[\_tenryuubito](/maintainers/_tenryuubito)

### Embed Badge

![Health badge](/badges/tenryuubito-alice/health.svg)

```
[![Health](https://phpackages.com/badges/tenryuubito-alice/health.svg)](https://phpackages.com/packages/tenryuubito-alice)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
