PHPackages                             marvinlabs/baobab - 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. [Framework](/categories/framework)
4. /
5. marvinlabs/baobab

ActiveLibrary[Framework](/categories/framework)

marvinlabs/baobab
=================

A WordPress theme framework with a twist

0.3.0(9y ago)6485[4 issues](https://github.com/marvinlabs/baobab/issues)Apache v2PHPPHP &gt;=5.3

Since Mar 23Pushed 8y ago2 watchersCompare

[ Source](https://github.com/marvinlabs/baobab)[ Packagist](https://packagist.org/packages/marvinlabs/baobab)[ Docs](http://marvinlabs.com/)[ RSS](/packages/marvinlabs-baobab/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (8)Used By (0)

Baobab
======

[](#baobab)

Baobab is born from the frustration of not finding a lean framework to develop our themes. The closest match we found - and we borrowed quite a bit from it - is [Themosis](https://github.com/themosis/framework) but it was very much made to develop full web applications based on WordPress.

We wanted something to help us build great WordPress themes that could be installed anywhere. And this is how Baobab started.

Configuration over code
-----------------------

[](#configuration-over-code)

I believe that a theme should not contain any code that is not specific to it. As much work as possible should be done using configuration files. This is what Baobab provides for all components it uses: Kirki, TGM, etc.

Clean theme architecture
------------------------

[](#clean-theme-architecture)

Baobab not only provides lots of tools to help you build a good theme, but we also have a blank sample theme to get you started with that. Introducing [Balsa starter theme](https://github.com/marvinlabs/balsa).

Not reinventing the wheel
-------------------------

[](#not-reinventing-the-wheel)

Baobab was never meant to be yet another theme development framework including all you could need to build a theme. We instead chose to build on the best libraries available in the open-source world and make them work together in a unified way.

### Theme customizer

[](#theme-customizer)

[Kirki](http://kirki.org) is an enhancement to the WordPress customizer. We decided to stay clear from frameworks such as Redux in order to stick with the WordPress way of providing theme settings. Kirki is very much in the spirit of Baobab in that it provides just the code missing to make the WordPress customizer a better tool.

### Template engine

[](#template-engine)

[Blade](http://laravel.com/docs/4.2/templates) is a template language which aims at making rendering HTML enjoyable. We did not want to have files containing all those ugly `` statements. Instead we found that writing `{{ get_the_date() }}` was much nicer.

So we have decided to allow you to use all this goodness, borrowed some ideas from [Themosis](http://framework.themosis.com/docs/views/)and [Mickael Mattson](https://github.com/MikaelMattsson/blade), throw in my own improvements and there we have a Blade engine ready to be used in our themes.

### Dependencies

[](#dependencies)

I always find it a pity when premium themes provide their own plugins for such things as integrating Google Analytics, providing a portfolio post type, a contact form, etc. These features clearly belong to plugins: what happens when you switch themes? All your analytics settings - and worse - all your portfolio items are lost too because the post type is no longer declared.

So we need a good way to declare that our theme requires or recommends the use of this and that plugin. Well, [TGM Plugin Activation](https://github.com/TGMPA/TGM-Plugin-Activation) is a well known library that does this thing for quite some time now. And they do it well. So we integrated it to Baobab and take care of all the boiler-plate code for you. Just specify your dependencies in the corresponding configuration file.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.8% 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 ~105 days

Recently: every ~132 days

Total

6

Last Release

3547d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2526465?v=4)[Vincent Prat](/maintainers/vpratfr)[@vpratfr](https://github.com/vpratfr)

---

Top Contributors

[![vpratfr](https://avatars.githubusercontent.com/u/2526465?v=4)](https://github.com/vpratfr "vpratfr (43 commits)")[![tlartaud](https://avatars.githubusercontent.com/u/494234?v=4)](https://github.com/tlartaud "tlartaud (12 commits)")[![jubstuff](https://avatars.githubusercontent.com/u/101818?v=4)](https://github.com/jubstuff "jubstuff (1 commits)")

### Embed Badge

![Health badge](/badges/marvinlabs-baobab/health.svg)

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

###  Alternatives

[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)[nette/bootstrap

🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.

68535.8M592](/packages/nette-bootstrap)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)[pinguo/php-msf

Pinguo Micro Service Framework For PHP

1.7k4.2k](/packages/pinguo-php-msf)[defstudio/pest-plugin-laravel-expectations

A plugin to add laravel tailored expectations to Pest

98548.9k4](/packages/defstudio-pest-plugin-laravel-expectations)

PHPackages © 2026

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