Glossary
Sitepackage
The project's own extension, holding the templates, TypoScript and configuration of a TYPO3 site in one place.
What goes in it
A sitepackage is an ordinary TYPO3 extension, except that it contributes nothing functional and instead bundles the appearance and configuration of a site. It typically holds Fluid templates, layouts and partials, TypoScript for setup and constants, backend layouts, the configuration of custom content elements, stylesheets and scripts, and the site configuration.
Why that is the right home
The decisive point is mundane: files can be versioned, database contents cannot. With the configuration in the sitepackage, the version history answers the question of who changed what, when and why.
The second point is portability. An installation can be set up on another system by installing the sitepackage. Scattered configuration can only be rebuilt laboriously.
Structure
Inside a sitepackage a usual structure has settled in: Configuration for TypoScript, TCA additions and the site configuration; Resources for templates and assets; Classes for custom PHP code if there is any.
Keeping to that convention costs nothing and saves everyone who joins later from having to search.
Sitepackages and updates
A cleanly built sitepackage survives major updates considerably better than scattered adjustments. The reason is that it stays inside the intended extension points rather than reaching into the core.
An update still does not happen by itself: when TYPO3 removes a function, the sitepackage has to catch up. But it is manageable, findable work in one place.