af9368177b
- t3bootstrap-site-package: composer + site sets + when to add a local extension
- t3bootstrap-overrides: 4-layer override surface (Settings → SCSS → Fluid → DataProcessor)
- t3bootstrap-content-elements: 23 t3bs_* CE catalog + migration matrix (HTML/WP/Joomla/older TYPO3) + Flux-bs5 upgrade wizard
Mirrors the structure of wapplersystems/typo3-skills (.claude-plugin/{plugin.json,marketplace.json}, .agents/skills/<name>/{SKILL.md,agents/openai.yaml}).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
402 lines
20 KiB
Markdown
402 lines
20 KiB
Markdown
---
|
|
name: t3bootstrap-site-package
|
|
description: Set up and configure a TYPO3 v14 project on the T3Bootstrap stack — composer repositories and dependencies for `t3bootstrap/*` and `wapplersystems/*` packages, site configuration with the right Site Sets, multi-language setup, when (and when not) to add a local site package, and the standard set of optional add-on packages (news, blog, address, sliders, gallery, hero, card, counter, countdown). Use this skill when bootstrapping a new T3Bootstrap project, adding a t3bootstrap add-on to an existing project, debugging "set not found" or unexpected content-element-missing errors, or deciding whether a customer-specific extension is needed.
|
|
---
|
|
|
|
# T3Bootstrap Site Package
|
|
|
|
Use this skill when setting up or extending a TYPO3 v14 project that is built on the
|
|
**T3Bootstrap** stack — i.e. uses `t3bootstrap/template`, `t3bootstrap/core` and the
|
|
related WapplerSystems extensions instead of (or in addition to) a hand-rolled site
|
|
package.
|
|
|
|
> **Companion skills:**
|
|
> - [`t3bootstrap-overrides`](../t3bootstrap-overrides/SKILL.md) once setup is done and customer styling/templating begins.
|
|
> - [`t3bootstrap-content-elements`](../t3bootstrap-content-elements/SKILL.md) for which CE to use where.
|
|
|
|
## First Checks
|
|
|
|
Before adding anything, **read what already exists**:
|
|
|
|
1. Is the project Composer mode? (`composer.json` at root, `vendor/` directory present.)
|
|
2. Which `t3bootstrap/*` and `wapplersystems/*` packages are already required? — `composer show | grep -E "t3bootstrap|wapplersystems"`
|
|
3. Where is the site config? — `config/sites/<site-id>/config.yaml`. Which sets does its `dependencies:` list?
|
|
4. Is there a **local site package**? Look for `packages/<vendor>/`, `local_packages/`, or any in-repo TYPO3 extension. **On a vanilla T3Bootstrap project there usually is NO local site package** — the stack is sufficient out of the box and customization happens via Site Settings + Fluid overrides (see `t3bootstrap-overrides`).
|
|
5. Is DDEV configured? — `.ddev/config.yaml` present. Confirm PHP version and the DB engine before suggesting commands.
|
|
|
|
## The Core Stack
|
|
|
|
A T3Bootstrap project always uses these three foundation extensions:
|
|
|
|
| Package | Role |
|
|
| --- | --- |
|
|
| `t3bootstrap/core` | Base ext: ViewHelpers, DataProcessors, BackendLayouts, extended `tt_content` fields (spacing, background, classes, breakpoint grid), `RegisterUtility` (TSFE-replacement registry on v14). |
|
|
| `t3bootstrap/template` | Site template: page layouts, navigation, footer, search box, language menu, SCSS theme. Pulls Bootstrap 5 and the icon sets. |
|
|
| `t3bootstrap/container-bs5-templates` | The 23 Bootstrap 5 content elements (Card, Accordion, Tabs, Carousel, Timeline, Grid Row/Col, Megamenu, Buttons, …). Replaces the legacy Flux-based `flux_bs5_templates`. |
|
|
|
|
These three are mandatory. Everything else is an add-on.
|
|
|
|
### Add-on Packages
|
|
|
|
All add-ons are optional; pull only what the project needs. Each ships its own Site Set
|
|
that has to be included in the site config to take effect.
|
|
|
|
#### T3Bootstrap-vendored add-ons
|
|
|
|
| Package | Adds |
|
|
| --- | --- |
|
|
| `t3bootstrap/hero-item` | Hero content element (full-width banner with title, subtitle, CTA, background image/video). |
|
|
| `t3bootstrap/t3bootstrap-news` | `georgringer/news` integration with T3Bootstrap-styled list/detail templates. |
|
|
| `t3bootstrap/t3bootstrap-blog` | `t3g/blog` integration with T3Bootstrap-styled templates. |
|
|
| `t3bootstrap/t3bootstrap-address` | Address record CE styled for the template. |
|
|
| `t3bootstrap/t3bootstrap-form` | EXT:form templates and finishers wired into the template. |
|
|
| `t3bootstrap/t3bootstrap-filecollection_gallery` | File-collection-driven gallery CE. |
|
|
| `t3bootstrap/t3bootstrap-wsslider` | Slider integration for ws_slider. |
|
|
| `t3bootstrap/template-fontawesomeicons` | Font Awesome icon set Site Set. |
|
|
| `t3bootstrap/template-bootstrapicons` | Bootstrap Icons Site Set. |
|
|
| `t3bootstrap/template-aos` | Animate-on-scroll Site Set. |
|
|
| `t3bootstrap/template-imagedesigns` | Image design presets (rounded, framed, shadowed, …). |
|
|
|
|
#### WapplerSystems shared extensions
|
|
|
|
| Package | Adds |
|
|
| --- | --- |
|
|
| `wapplersystems/ws-scss` | SCSS-to-CSS compilation pipeline used by `t3bootstrap/template`. |
|
|
| `wapplersystems/ws-components` | Modular SCSS/JS component system (`<scssComponents:require>` / `<jsComponents:require>`). |
|
|
| `wapplersystems/ws-slider` | Generic slider framework (front-end-library-agnostic). |
|
|
| `wapplersystems/font-downloader` | Self-host Google Fonts. |
|
|
| `wapplersystems/teaser` | Teaser CE. |
|
|
| `wapplersystems/videos` | Video CE. |
|
|
| `wapplersystems/testimonials` | Testimonials CE. |
|
|
| `wapplersystems/address` | Address plugin (news-variant). |
|
|
| `wapplersystems/newslayouts` | Additional news layouts (3-col, 4-col, vertical list, top-image detail, …). |
|
|
| `wapplersystems/tag` | Tagging system. |
|
|
|
|
## composer.json — The Repository Block
|
|
|
|
All T3Bootstrap packages are hosted on the **Gitea** instance at `git.wappler.systems`,
|
|
WapplerSystems packages on **GitHub**. Both need explicit `repositories` entries in
|
|
`composer.json` (Packagist does not mirror them).
|
|
|
|
```json
|
|
{
|
|
"repositories": [
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/core.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/template.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/container-bs5-templates.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-news.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-blog.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-address.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-form.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-heroitem.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-filecollection_gallery.git" },
|
|
{ "type": "git", "url": "gitea@git.wappler.systems:T3Bootstrap/t3bootstrap-wsslider.git" },
|
|
{ "type": "git", "url": "git@github.com:WapplerSystems/ws_scss.git" },
|
|
{ "type": "git", "url": "git@github.com:WapplerSystems/ws-components.git" },
|
|
{ "type": "git", "url": "git@github.com:WapplerSystems/teaser.git" },
|
|
{ "type": "git", "url": "git@github.com:WapplerSystems/videos.git" },
|
|
{ "type": "git", "url": "git@github.com:WapplerSystems/testimonials.git" }
|
|
]
|
|
}
|
|
```
|
|
|
|
### SSH access
|
|
|
|
The Gitea SSH URL requires the developer machine to be authorized at
|
|
`git.wappler.systems`. Inside DDEV containers, run `ddev auth ssh` on the **host**
|
|
beforehand so the agent forwards. HTTPS fallback URL pattern:
|
|
`https://git.wappler.systems/T3Bootstrap/<repo>.git`.
|
|
|
|
### Require Block — Version Aliasing
|
|
|
|
The packages are typically tracked on the `release/v14` branch. Use `as`-aliases so
|
|
Composer's solver treats the dev branch as a satisfiable version range:
|
|
|
|
```json
|
|
{
|
|
"require": {
|
|
"typo3/cms-core": "^14.0",
|
|
"t3bootstrap/core": "dev-release/v14 as 14.0.0",
|
|
"t3bootstrap/template": "dev-release/v14 as 14.0.0",
|
|
"t3bootstrap/container-bs5-templates": "dev-release/v14 as 14.0.0",
|
|
"t3bootstrap/t3bootstrap-news": "dev-release/v14 as 14.0.0",
|
|
"wapplersystems/ws-scss": "dev-master as 14.0.0",
|
|
"wapplersystems/ws-components": "dev-master as 14.0.0"
|
|
}
|
|
}
|
|
```
|
|
|
|
> **Stability:** add `"minimum-stability": "dev"` and `"prefer-stable": true` at the
|
|
> top level — otherwise Composer refuses dev branches.
|
|
|
|
## Site Sets — The Real Configuration Surface
|
|
|
|
T3Bootstrap configures itself via **TYPO3 v14 Site Sets**, not by patching TypoScript
|
|
into the root template. Every t3bootstrap and wapplersystems extension ships one or more
|
|
sets under `Configuration/Sets/<SetName>/config.yaml`.
|
|
|
|
### Set Catalog (foundation)
|
|
|
|
| Set | Provided by | Pulls in |
|
|
| --- | --- | --- |
|
|
| `t3bootstrap/core` | `t3bootstrap/core` | TypoScript constants & setup for the core registry, ViewHelpers, DataProcessors. |
|
|
| `t3bootstrap/template` | `t3bootstrap/template` | Page rendering, layouts, navigation, footer; **depends on** `t3bootstrap/core`, `t3bootstrap/gridlayouts`, `typo3/indexed-search`. |
|
|
| `t3bootstrap/container-bs5-templates` | `t3bootstrap/container-bs5-templates` | All 23 `t3bs_*` CTypes; depends on `t3bootstrap/core`. |
|
|
| `t3bootstrap/gridlayouts` | `t3bootstrap/core` | Grid layouts for text/media elements (CE-internal column splits). |
|
|
|
|
### Set Catalog (icons / theming)
|
|
|
|
| Set | Provided by | Pulls in |
|
|
| --- | --- | --- |
|
|
| `t3bootstrap/template-fontawesomeicons` | `t3bootstrap/template` | Font Awesome assets and link to the icon picker. |
|
|
| `t3bootstrap/template-bootstrapicons` | `t3bootstrap/template` | Bootstrap Icons assets. |
|
|
| `t3bootstrap/template-aos` | `t3bootstrap/template` | animate-on-scroll JS + CSS. |
|
|
| `t3bootstrap/template-imagedesigns` | `t3bootstrap/template` | Image design presets. |
|
|
| `t3bootstrap/icons` | `t3bootstrap/core` | Generic icon registry hooks. |
|
|
|
|
### Set Catalog (CE add-ons)
|
|
|
|
| Set | Provided by |
|
|
| --- | --- |
|
|
| `t3bootstrap/card-element` | `t3bootstrap/core` |
|
|
| `t3bootstrap/compareslider-element` | `t3bootstrap/core` |
|
|
| `t3bootstrap/countdown-element` | `t3bootstrap/core` |
|
|
| `t3bootstrap/counterbar-element` | `t3bootstrap/core` |
|
|
| `t3bootstrap/hero-item` | `t3bootstrap/hero-item` |
|
|
|
|
### Set Catalog (news / blog / address / form / gallery)
|
|
|
|
| Set | Provided by |
|
|
| --- | --- |
|
|
| `t3bootstrap/news` | `t3bootstrap/t3bootstrap-news` |
|
|
| `t3bootstrap/news-timeline-cards-straight` | `t3bootstrap/t3bootstrap-news` |
|
|
| `t3bootstrap/news-timeline-cards-alternately` | `t3bootstrap/t3bootstrap-news` |
|
|
| `t3bootstrap/news-newsblock` | `t3bootstrap/t3bootstrap-news` |
|
|
| `t3bootstrap/news-background-image-latest` | `t3bootstrap/t3bootstrap-news` |
|
|
| `t3bootstrap/news-right-image-latest` | `t3bootstrap/t3bootstrap-news` |
|
|
| `wapplersystems/newslayouts` | `wapplersystems/newslayouts` |
|
|
| `wapplersystems/newslayouts-detail-topimage` | `wapplersystems/newslayouts` |
|
|
| `wapplersystems/newslayouts-list-3columns` | `wapplersystems/newslayouts` |
|
|
| `wapplersystems/newslayouts-list-4columns` | `wapplersystems/newslayouts` |
|
|
| `wapplersystems/newslayouts-list-vertical` | `wapplersystems/newslayouts` |
|
|
| `t3bootstrap/blog` | `t3bootstrap/t3bootstrap-blog` |
|
|
| `t3bootstrap/address` | `t3bootstrap/t3bootstrap-address` |
|
|
| `wapplersystems/address-googlemaps` | `wapplersystems/address` |
|
|
| `wapplersystems/address-openstreetmap` | `wapplersystems/address` |
|
|
| `t3bootstrap/form` | `t3bootstrap/t3bootstrap-form` |
|
|
| `wapplersystems/filecollection-gallery` | `t3bootstrap/t3bootstrap-filecollection_gallery` |
|
|
| `wapplersystems/teaser` | `wapplersystems/teaser` |
|
|
| `wapplersystems/testimonials` | `wapplersystems/testimonials` |
|
|
|
|
### Set Catalog (sliders)
|
|
|
|
| Set | Provided by |
|
|
| --- | --- |
|
|
| `wapplersystems/ws-slider` | `wapplersystems/ws-slider` |
|
|
| `wapplersystems/ws-slider-flexslider` | `wapplersystems/ws-slider` |
|
|
| `wapplersystems/ws-slider-tinyslider` | `wapplersystems/ws-slider` |
|
|
| `wapplersystems/ws-slider-swiper` | `wapplersystems/ws-slider` |
|
|
| `wapplersystems/ws-slider-bootstrap` | `wapplersystems/ws-slider` |
|
|
| `wapplersystems/ws-slider-slick` | `wapplersystems/ws-slider` |
|
|
| `t3bootstrap/ws-slider` | `t3bootstrap/t3bootstrap-wsslider` (T3Bootstrap-styled wrapper) |
|
|
|
|
> A package's **PHP code** is loaded once Composer pulls it in. Its **TypoScript and
|
|
> settings**, however, only take effect when the matching **Site Set is listed in
|
|
> `config/sites/<site-id>/config.yaml`** — adding the composer dependency without the
|
|
> set means nothing renders.
|
|
|
|
## Site Config — Typical `config.yaml`
|
|
|
|
```yaml
|
|
base: 'https://my-project.example.com/'
|
|
rootPageId: 1
|
|
websiteTitle: 'My Project'
|
|
|
|
dependencies:
|
|
# foundation — order matters: core → template → CE library
|
|
- t3bootstrap/template # depends on t3bootstrap/core + gridlayouts
|
|
- t3bootstrap/container-bs5-templates
|
|
|
|
# icons & theme add-ons
|
|
- t3bootstrap/template-fontawesomeicons
|
|
- t3bootstrap/template-bootstrapicons
|
|
- t3bootstrap/template-aos
|
|
- t3bootstrap/template-imagedesigns
|
|
|
|
# CE add-ons (only what the project needs)
|
|
- t3bootstrap/card-element
|
|
- t3bootstrap/counterbar-element
|
|
- t3bootstrap/countdown-element
|
|
- t3bootstrap/compareslider-element
|
|
- t3bootstrap/hero-item
|
|
|
|
# content domains (only what the project needs)
|
|
- t3bootstrap/news
|
|
- t3bootstrap/blog
|
|
- t3bootstrap/address
|
|
- t3bootstrap/form
|
|
|
|
# optional vendor add-ons
|
|
- wapplersystems/teaser
|
|
- wapplersystems/testimonials
|
|
- wapplersystems/newslayouts
|
|
- wapplersystems/ws-slider-swiper
|
|
- wapplersystems/filecollection-gallery
|
|
|
|
# TYPO3 core sets
|
|
- typo3/felogin
|
|
- typo3/seo-sitemap
|
|
|
|
languages:
|
|
- title: Deutsch
|
|
enabled: true
|
|
languageId: 0
|
|
base: /de/
|
|
locale: de_DE.utf8
|
|
iso-639-1: de
|
|
hreflang: de
|
|
flag: de
|
|
- title: English
|
|
enabled: true
|
|
languageId: 1
|
|
base: /en/
|
|
locale: en_US.utf8
|
|
iso-639-1: en
|
|
hreflang: en
|
|
fallbackType: strict
|
|
flag: en-us-gb
|
|
|
|
errorHandling:
|
|
- errorCode: 404
|
|
errorHandler: Page
|
|
errorContentSource: 't3://page?uid=<404-page-uid>'
|
|
- errorCode: 403
|
|
errorHandler: Page
|
|
errorContentSource: 't3://page?uid=<403-page-uid>'
|
|
- errorCode: 500
|
|
errorHandler: Page
|
|
errorContentSource: 't3://page?uid=<500-page-uid>'
|
|
|
|
routes:
|
|
- route: robots.txt
|
|
type: staticText
|
|
content: |
|
|
User-agent: *
|
|
Disallow: /typo3/
|
|
Disallow: /typo3_src/
|
|
Allow: /typo3/sysext/frontend/Resources/Public/*
|
|
```
|
|
|
|
### Set Dependency Resolution
|
|
|
|
A set's `dependencies:` are resolved transitively — listing `t3bootstrap/template`
|
|
automatically pulls in `t3bootstrap/core` and `t3bootstrap/gridlayouts`. You only need
|
|
to list the *highest-level* set you want active.
|
|
|
|
But: **explicit beats transitive for clarity.** Listing the foundation sets explicitly
|
|
makes the config self-documenting and avoids surprises when sets change their deps.
|
|
|
|
## Do You Need a Local Site Package?
|
|
|
|
The honest answer for most projects: **no**. The T3Bootstrap stack already provides
|
|
everything a site package usually wraps:
|
|
|
|
| Site-package responsibility | Where it lives in the T3Bootstrap stack |
|
|
| --- | --- |
|
|
| Page rendering / Fluid layouts | `t3bootstrap/template` → override via `templateRootPaths.10` (see `t3bootstrap-overrides`) |
|
|
| Content element templates | `t3bootstrap/container-bs5-templates` + `t3bootstrap/core` → override via root-paths |
|
|
| Color theme | `_variables.scss` `!default` overrides (see `t3bootstrap-overrides`) |
|
|
| Backend layouts | shipped by `t3bootstrap/template`, customer extends via PageTSconfig |
|
|
| Routing | site config `routeEnhancers` |
|
|
| Settings | site config `settings:` + site sets |
|
|
|
|
### When you DO need a local extension
|
|
|
|
Add a customer-specific extension only if **any** of these is true:
|
|
|
|
- **Custom PHP** — DataProcessors, Middlewares, EventListeners, ViewHelpers, RegisterUtility extensions, Scheduler tasks. PHP must live in a registered extension.
|
|
- **Custom Fluid templates** that go beyond drop-in overrides — e.g. you want to ship reusable Partials for the customer's brand. (Even drop-in overrides work without an extension if you load them from `fileadmin/`, but that mixes content storage with code — not recommended.)
|
|
- **Custom TCA** — fields on `tt_content` or other tables beyond what `t3bootstrap/core` already adds.
|
|
- **Customer-specific Site Set** — settings, additional TypoScript, a backend layout shipped per project. Sets must live in `Configuration/Sets/<name>/config.yaml` of an extension.
|
|
|
|
### Skeleton for a customer extension
|
|
|
|
```text
|
|
local_packages/<customer>/site_<customer>/
|
|
├── composer.json
|
|
├── ext_emconf.php
|
|
├── Classes/
|
|
│ ├── DataProcessing/
|
|
│ └── ViewHelpers/
|
|
├── Configuration/
|
|
│ ├── Sets/
|
|
│ │ └── Site<Customer>/
|
|
│ │ ├── config.yaml
|
|
│ │ ├── settings.yaml
|
|
│ │ └── setup.typoscript
|
|
│ └── TCA/Overrides/
|
|
├── Resources/
|
|
│ ├── Private/
|
|
│ │ ├── Templates/ # site-package overrides (see t3bootstrap-overrides skill)
|
|
│ │ ├── Partials/
|
|
│ │ ├── Layouts/
|
|
│ │ └── Language/
|
|
│ └── Public/
|
|
│ └── Scss/_overrides.scss # !default overrides
|
|
└── ext_localconf.php
|
|
```
|
|
|
|
Register the extension as a path repository in the root `composer.json`:
|
|
|
|
```json
|
|
{
|
|
"repositories": [
|
|
{ "type": "path", "url": "local_packages/<customer>/site_<customer>" }
|
|
],
|
|
"require": {
|
|
"<customer>/site-<customer>": "@dev"
|
|
}
|
|
}
|
|
```
|
|
|
|
Then add `<customer>/site-<customer>` to the site config `dependencies:`.
|
|
|
|
## Common Pitfalls
|
|
|
|
| Symptom | Cause | Fix |
|
|
| --- | --- | --- |
|
|
| Backend shows no t3bs_* CEs | `t3bootstrap/container-bs5-templates` is required but its **Site Set is not listed** in `config/sites/<id>/config.yaml`. | Add `t3bootstrap/container-bs5-templates` to `dependencies:`. |
|
|
| Frontend renders without styling | `t3bootstrap/template` set missing from `dependencies:`, or DDEV is serving stale CSS. | Verify set is listed, then `ddev exec vendor/bin/typo3 cache:flush` + recompile SCSS via `wapplersystems/ws-scss`. |
|
|
| `Class "T3Bootstrap\Core\…" not found` | composer didn't pick up the package — usually missing `repositories` entry or no `dev-release/v14` `as` alias. | Re-check `composer.json`, run `composer require t3bootstrap/core:dev-release/v14`. |
|
|
| `Set "t3bootstrap/news" not found` | the matching composer package (`t3bootstrap/t3bootstrap-news`) is not installed. | `composer require t3bootstrap/t3bootstrap-news`. |
|
|
| News-extension styled wrong | `wapplersystems/newslayouts` listed before `t3bootstrap/news` so the t3bootstrap templates override the wapplersystems ones. | Order matters: T3Bootstrap-news set FIRST, then wapplersystems newslayouts add-ons. |
|
|
| Permission prompt on Gitea SSH inside DDEV | DDEV agent isn't forwarded. | `ddev auth ssh` on host before `ddev composer install`. |
|
|
|
|
## Standard Setup Workflow
|
|
|
|
1. **Scaffold** with TYPO3 v14 distribution or a clean Composer install.
|
|
2. **Add `claude-diagnostics`** (per global instructions) so the rest is faster to debug.
|
|
3. **Add repositories block** to `composer.json` for the Gitea + GitHub URLs of t3bootstrap and wapplersystems packages.
|
|
4. **Set stability:** `minimum-stability: dev`, `prefer-stable: true`.
|
|
5. **Require the foundation:** `t3bootstrap/template`, `t3bootstrap/container-bs5-templates` — `t3bootstrap/core` comes transitively but list it explicitly if you want pinning.
|
|
6. **Require add-ons** matching the project brief (news/blog/form/gallery/sliders).
|
|
7. **Site config** — list the sets matching the requires; add languages, error handling, route enhancers.
|
|
8. **Site Setting Module** in the TYPO3 backend → verify all sets resolved, no "set not found" errors.
|
|
9. **Flush caches**, log in, place a "Card" content element to verify `t3bs_*` CTypes appear.
|
|
10. **Decide on overrides** — switch to the `t3bootstrap-overrides` skill once the customer wants color/layout adjustments.
|
|
|
|
## Where to Find Things in the Vendor Tree
|
|
|
|
```text
|
|
vendor/t3bootstrap/core/Configuration/Sets/ # Core sets (gridlayouts, icons, T3BCore)
|
|
vendor/t3bootstrap/template/Configuration/Sets/Template/ # Main site template set
|
|
vendor/t3bootstrap/template/Configuration/TypoScript/ # TypoScript constants + setup
|
|
vendor/t3bootstrap/container-bs5-templates/Configuration/Sets/ContainerBs5Templates/
|
|
vendor/t3bootstrap/container-bs5-templates/Classes/Updates/MigrateFluxBs5ToContainerBs5.php
|
|
```
|
|
|
|
For the override surfaces (`templateRootPaths.10`, SCSS variables, …) see the
|
|
**`t3bootstrap-overrides`** skill.
|
|
|
|
For the CE catalog and content-migration mapping see the
|
|
**`t3bootstrap-content-elements`** skill. |