PHPackages                             brikdigital/craft-baseplate - 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. brikdigital/craft-baseplate

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

brikdigital/craft-baseplate
===========================

1.8.1(3mo ago)586[2 PRs](https://github.com/brikdigital/craft-baseplate/pulls)MPL-2.0TypeScriptCI passing

Since Aug 20Pushed 2w ago1 watchersCompare

[ Source](https://github.com/brikdigital/craft-baseplate)[ Packagist](https://packagist.org/packages/brikdigital/craft-baseplate)[ RSS](/packages/brikdigital-craft-baseplate/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (85)Versions (33)Used By (0)

Brik Craft CMS Baseplate
========================

[](#brik-craft-cms-baseplate)

Setup guide
-----------

[](#setup-guide)

It's possible to do this setup without first setting up a blank DDEV project; but you'll need a local install of PHP and Composer. This approach is completely possible but *unsupported*, and as such will not be documented.

```
mkdir -p project-name/public_html && cd project-name
ddev config --php-version 8.3 --database mysql:8.0 --docroot public_html --project-type craftcms
rm -rf public_html
ddev composer create-project brikdigital/craft-baseplate .
# edit .ddev/config.yaml to contain the correct project name
ddev restart

```

Development
-----------

[](#development)

To start the Vite dev server, use either `ddev pnpm serve` or `make dev`. (the latter of which is a legacy command)

Additionally, there is a Storybook install that you can start with `make storybook`. This will be accessible on `project-name.ddev.site:3001`.

Instructions for migrating singles to indexes (separated by site)
-----------------------------------------------------------------

[](#instructions-for-migrating-singles-to-indexes-separated-by-site)

### Prepare

[](#prepare)

1. Create section “Indexes” with all entry types of existing singles
    1. Type: Structure
    2. URI: `{parent.uri}/{slug}`
    3. Template: `_sections/indexes/entry.twig`
    4. Propagation: Only save entries to the site they were created in
    5. Default table columns: Entry Type, Status, Date Updated, Authors, Link
2. Settings &gt; Users &gt; For each user group: Assign permissions for indexes
3. Navigation &gt; Edit Settings for each menu &gt; Permissions: Enable indexes
    1. Remember to check all sites for menu's, since some menu’s may only be on specific site
4. Templates
    1. Create `templates/_sections/indexes/entry.twig` containing `{% include '_sections/indexes/' ~ entry.type.handle ~ '.twig' %}`
    2. Move all templates of singles into indexes directory and rename each template to the handle of the entry type it is used for
    3. Check the single templates for extends/includes query that use `..` in path and may now be incorrect
    4. Search project for usage of section handles of singles in queries. Replace these with `section('indexes').type(ENTRY_TYPE_HANDLE)`

### Execute

[](#execute)

When ready to deploy to production

1. Create manual backup of production database
2. Run `ddev craft site-module/migrate-singles/set-legacy-uri-format` locally
    1. Deploy these changes first. The site will be broken now.
3. After configuration changes have been deployed, execute the following commands directly on the server
    1. `php craft site-module/migrate-singles/migrate-singles`
    2. `php craft site-module/migrate-singles/migrate-fields`
    3. If Navigation-plugin is used: `php craft site-module/migrate-singles/migrate-nav-nodes`
4. When confirmed everything is working: Delete all old sections of singles

Notes when updating dependencies
--------------------------------

[](#notes-when-updating-dependencies)

### Storybook

[](#storybook)

Do NOT manually bump Storybook's version through `pnpm` commands or `package.json` edits.

`pnpm dlx storybook@latest upgrade` will guide you through the process and make the necessary edits to the code if needed.

### React and Webpack

[](#react-and-webpack)

These are solely here for Storybook. Do NOT update these unless Storybook itself has updated React or Webpack.

### Biome, Prettier &amp; Lefthook

[](#biome-prettier--lefthook)

If there is a major version upgrade, please consult the release notes on the respective repositories to see if there are any breaking changes.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance90

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.4% 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 ~21 days

Recently: every ~44 days

Total

30

Last Release

101d ago

Major Versions

0.0.14 → 1.0.02025-02-17

1.5.2 → 6.x-dev2025-09-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/54973868?v=4)[Alyxia Sother](/maintainers/lexisother)[@lexisother](https://github.com/lexisother)

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

![](https://www.gravatar.com/avatar/0147556871d0d43aaa5d07d241800870c3590dcba0e635b1db2953ad65ff0c7c?d=identicon)[brik-digital](/maintainers/brik-digital)

![](https://www.gravatar.com/avatar/e38f6d36303fa9c1b720b06501291299fb9dc62d914b49b24c34d2d16af1fd7a?d=identicon)[jripmeester](/maintainers/jripmeester)

---

Top Contributors

[![lexisother](https://avatars.githubusercontent.com/u/54973868?v=4)](https://github.com/lexisother "lexisother (121 commits)")[![joostclevis](https://avatars.githubusercontent.com/u/58426012?v=4)](https://github.com/joostclevis "joostclevis (55 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (8 commits)")[![michelleatbrik](https://avatars.githubusercontent.com/u/281878561?v=4)](https://github.com/michelleatbrik "michelleatbrik (5 commits)")[![bramnijssen](https://avatars.githubusercontent.com/u/49712778?v=4)](https://github.com/bramnijssen "bramnijssen (2 commits)")

### Embed Badge

![Health badge](/badges/brikdigital-craft-baseplate/health.svg)

```
[![Health](https://phpackages.com/badges/brikdigital-craft-baseplate/health.svg)](https://phpackages.com/packages/brikdigital-craft-baseplate)
```

###  Alternatives

[ec-europa/toolkit

Toolkit packaged for Drupal projects based on Robo.

39255.4k37](/packages/ec-europa-toolkit)

PHPackages © 2026

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