PHPackages                             b13/bolt - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. b13/bolt

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

b13/bolt
========

Bolt - An easy TYPO3 integration basis

2.3.1(2y ago)28202.9k↓25.7%13[3 PRs](https://github.com/b13/bolt/pulls)2GPL-2.0-or-laterPHPPHP ^7.2 || ^8.0

Since Feb 13Pushed 1y ago12 watchersCompare

[ Source](https://github.com/b13/bolt)[ Packagist](https://packagist.org/packages/b13/bolt)[ Docs](https://github.com/b13/bolt)[ RSS](/packages/b13-bolt/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (3)Versions (15)Used By (2)

Easier Integrations for TYPO3 sites
===================================

[](#easier-integrations-for-typo3-sites)

Introduction
------------

[](#introduction)

This package is a TYPO3 extension that makes integration work easier.

Simply put, the extension allows running a TYPO3 instance without any database driven TypoScript template (sys\_template) records and without PageTsConfig page record entries, enabling file-driven (as in: not database-driven) deployment of TypoScript and PageTsConfig. This is done by connecting a Site configuration (those `.yaml` site configuration files) with a "Site extension" and using some simple events or hooks of the TYPO3 core.

Background
----------

[](#background)

We consider it best practice to run a site and all custom Backend Layouts, TypoScript, PageTS, Fluid templates and similar in one place: In a "site extension". We prefix them with "site\_", something like `site_myproject`. This site extension is the general entry point for configuration of a single Site page tree.

The "bolt" extension provides a Site configuration setting called "sitePackage" that connects a Site with this site package / extension. This is simply an entry in the Site's .yaml file, and can be manually added to the file, or clicked in the TYPO3 "Sites" Backend module.

Providing "everything" as files without database records is in general possible for nearly everything in current TYPO3, except for sys\_template records and PageTsConfig settings. The extension thus provides some hooks that look up the connected "site extension" of a site, to TypoScript "constants" and "setup", as well as PageTsConfig, from files, provided by the site extension. This avoids these database entries.

Installation
------------

[](#installation)

- Require the extension via composer (`composer require b13/bolt`) or load it from [TER](https://extensions.typo3.org/extension/bolt/) (extension name "bolt") using the extension manager.
- Create a site extension, having at least a composer.json and an ext\_emconf.php file, prefixed with `site_`. Have this extension loaded.
- Either manually edit the Site Configuration `.yaml` file and add `sitePackage: ''`as top-level key, or edit the Site Configuration in the Backend "Sites" module, select the site package / extension in the drop and save it.
- Add extension file `Configuration/TypoScript/constants.typoscript`. This is the main TypoScript "constants / settings" entry point for this Site in the page tree. It should typically contain `@import` lines to load further "static includes" from other extensions as well as own TypoScript provided by the site extension itself. This file is automatically loaded by convention using a hook or event of the bolt extension. Since TYPO3 v12, the Backend "Template Analyzer" reflects such includes.
- Add extension file `Configuration/TypoScript/setup.typoscript`. This is the main TypoScript "setup" entry point for this Site in the page tree. It should typically contain `@import` lines to load further "static includes" from other extensions as well as own TypoScript provided by the site extension itself. This file is automatically loaded by convention using a hook or event of the bolt extension. Since TYPO3 v12, the Backend "Template Analyzer" reflects such includes.
- Add extension file `Configuration/PageTs/main.tsconfig` (if needed). This is the main PageTsConfig entry point for this Site in the page tree. It should typically contain further `@import` lines. This file is automatically loaded by convention using a hook or event of the bolt extension.
- Add further files like Frontend rendering Templates, ViewHelper classes or TCA overrides as needed: Make the site extension the single entry point of your Site configuration that provides all site specific settings!

Disabled Backend settings
-------------------------

[](#disabled-backend-settings)

Extension `bolt` adds default PageTsConfig that disallows adding new `sys_template` records in the backend, and it hides the `PageTsConfig` related fields when editing page records. Those defaults are added in `ext_tables.php`, they follow our best practices, but can be rewritten again if really needed.

License
-------

[](#license)

The extension is licensed under GPL v2+, same as the TYPO3 Core. See the LICENSE file.

Sharing our expertise
---------------------

[](#sharing-our-expertise)

[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance26

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 58.1% of commits — single point of failure

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.

###  Release Activity

Cadence

Every ~201 days

Recently: every ~248 days

Total

13

Last Release

971d ago

Major Versions

0.1.1 → 1.0.22017-12-12

1.0.4 → 2.0.02019-08-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/165630?v=4)[Benni Mack](/maintainers/bmack)[@bmack](https://github.com/bmack)

![](https://www.gravatar.com/avatar/21bf0c815297c24ae76a3c08455b2b843f33010706043a3a99aaffe988968194?d=identicon)[lolli42](/maintainers/lolli42)

![](https://avatars.githubusercontent.com/u/2851821?v=4)[b13 GmbH](/maintainers/b13)[@b13](https://github.com/b13)

---

Top Contributors

[![bmack](https://avatars.githubusercontent.com/u/165630?v=4)](https://github.com/bmack "bmack (43 commits)")[![lolli42](https://avatars.githubusercontent.com/u/2178068?v=4)](https://github.com/lolli42 "lolli42 (8 commits)")[![davidsteeb](https://avatars.githubusercontent.com/u/3862523?v=4)](https://github.com/davidsteeb "davidsteeb (6 commits)")[![ervaude](https://avatars.githubusercontent.com/u/7824856?v=4)](https://github.com/ervaude "ervaude (4 commits)")[![stegmatze](https://avatars.githubusercontent.com/u/14198734?v=4)](https://github.com/stegmatze "stegmatze (3 commits)")[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (3 commits)")[![achimfritz](https://avatars.githubusercontent.com/u/2152991?v=4)](https://github.com/achimfritz "achimfritz (2 commits)")[![susannemoog](https://avatars.githubusercontent.com/u/321804?v=4)](https://github.com/susannemoog "susannemoog (1 commits)")[![achimfritz-b13](https://avatars.githubusercontent.com/u/156071319?v=4)](https://github.com/achimfritz-b13 "achimfritz-b13 (1 commits)")[![jacrasmussen](https://avatars.githubusercontent.com/u/2988654?v=4)](https://github.com/jacrasmussen "jacrasmussen (1 commits)")[![mbrodala](https://avatars.githubusercontent.com/u/5037116?v=4)](https://github.com/mbrodala "mbrodala (1 commits)")[![simonschaufi](https://avatars.githubusercontent.com/u/941794?v=4)](https://github.com/simonschaufi "simonschaufi (1 commits)")

---

Tags

TYPO3 CMSTypoScriptIntegratorsSite ExtensionSite Package

### Embed Badge

![Health badge](/badges/b13-bolt/health.svg)

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

###  Alternatives

[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[causal/extractor

This extension detects and extracts metadata (EXIF / IPTC / XMP / ...) from potentially thousand different file types (such as MS Word/Powerpoint/Excel documents, PDF and images) and bring them automatically and natively to TYPO3 when uploading assets. Works with built-in PHP functions but takes advantage of Apache Tika and other external tools for enhanced metadata extraction.

16244.5k](/packages/causal-extractor)[jweiland/events2

Events 2 - Create single and recurring events

2062.4k2](/packages/jweiland-events2)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)

PHPackages © 2026

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