PHPackages                             inventor96/mako-vue - 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. inventor96/mako-vue

ActiveLibrary[Framework](/categories/framework)

inventor96/mako-vue
===================

Opinionated boilerplate for web apps using PHP/Mako on the backend, and Vue on the frontend.

3.4.0(1mo ago)115MITPHPPHP &gt;=8.1.0

Since Oct 29Pushed 1mo agoCompare

[ Source](https://github.com/inventor96/mako-vue)[ Packagist](https://packagist.org/packages/inventor96/mako-vue)[ Docs](https://github.com/inventor96/mako-vue)[ RSS](/packages/inventor96-mako-vue/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (14)Versions (20)Used By (0)

Mako-Vue
========

[](#mako-vue)

An opinionated boilerplate for web applications using PHP/Mako on the backend and Vue.js on the frontend.

This is my personal starter template for building web applications with Mako and Vue.js. It aims to provide a solid foundation with common features and best practices, allowing developers to focus on building their applications rather than setting up the initial structure. It's been a common starting point for my own projects, so I'm sharing it in hopes that it can be useful to others as well.

Features &amp; Stack
--------------------

[](#features--stack)

- [Mako](https://makoframework.com/) PHP Framework
- Environment-specific configuration via hierarchical pattern with Mako's built-in config system
- Persistent storage tailored to MySQL/MariaDB databases
- Database migrations via built-in Mako migration system, including separate user for running migrations
- [mako-template-pp](https://github.com/inventor96/mako-template-pp) for enhanced templating capabilities
- [mako-mailer](https://github.com/inventor96/mako-mailer) for email sending and templating
- [Inertia.js](https://inertiajs.com/) for seamless server-driven SPA experience
- [intertia-mako](https://github.com/inventor96/inertia-mako) adapter
- [Vue.js 3](https://vuejs.org/) with Composition API and Single File Components
- [Vite](https://vite.dev/) for fast development and build process
- [Vue DevTools](https://devtools.vuejs.org/) for easier frontend debugging
- [Bootstrap](https://getbootstrap.com/) for responsive UI
- [Bootstrap Icons](https://icons.getbootstrap.com/) for iconography
- [Bootswatch](https://bootswatch.com/) for easy theming
- Common pre-built components and layout for Vue.js
- Minimal banner to indicate non-production environments
- Simple authentication scaffolding
- IDE helpers for VSCode
- Dockerization for consistent development and deployment
    - Separation of dev and prod environments by utilizing compose.override.yml
    - Separate services for PHP, MariaDB, and Node/Vite
    - File ownership and permissions handling for seamless host-container interaction\*
    - Pre-configured for Xdebug with VSCode integration\*
    - [Caddy](https://caddyserver.com/) for HTTPS in local development\*
    - [mkcert](https://github.com/FiloSottile/mkcert) for local HTTPS certificate creation\*
    - [Mailpit](https://mailpit.axllent.org/) for local email testing\*
    - [Adminer](https://www.adminer.org/) for database management\*
    - Host networking allows local domain name usage\*
    - Allows concurrent projects to run locally without the need for port separation or reverse proxies\*
- [PHPUnit](https://phpunit.de/) for backend testing
- [Vitest](https://vitest.dev/), [jsdom](https://github.com/jsdom/jsdom), and [Vue Test Utils](https://vue-test-utils.vuejs.org/) for frontend testing

\* Local development only.

Development Prerequisites
-------------------------

[](#development-prerequisites)

- [Docker and Docker Compose](https://docs.docker.com/engine/install/) installed on your host machine
- Docker [Rootless mode](https://docs.docker.com/engine/security/rootless/) configured
- [`CAP_NET_BIND_SERVICE` set on `rootlesskit`](https://docs.docker.com/engine/security/rootless/tips/#exposing-privileged-ports) to allow binding to privileged ports
- [`mkcert`](https://github.com/FiloSottile/mkcert) installed on your host machine for local HTTPS

How to Use It
-------------

[](#how-to-use-it)

To avoid any potential host incompatibilities, the recommended way to set up this boilerplate is to use the [`setup.sh`](./setup.sh) script, which will use ephemeral Docker containers to run the necessary setup commands for you, and coordinate `mkcert` and `/etc/hosts` updates for local HTTPS and domain name usage.

`setup.sh` supports two workflows:

1. Create a brand-new project from this boilerplate (`./setup.sh `)

    ```
    curl -sLo /tmp/setup.sh https://raw.githubusercontent.com/inventor96/mako-vue/refs/heads/main/setup.sh && bash /tmp/setup.sh your-project-name
    ```
2. Initialize an already-cloned repository (`./setup.sh` from the repo root)

    ```
    cd your-project-name
    ./setup.sh
    ```

If you wish, and if your host meets all dependencies, you can also use composer directly on your host:

```
# creating a new project from the boilerplate
composer create-project inventor96/mako-vue your-project-name

# setting up an already-cloned repository
composer install
php app/reactor post-create-project
```

The post-create-project script (which is also automatically run by the `composer create-project` command) will attempt to run the `mkcert` command, but you will be responsible for editing your `/etc/hosts` file (a one-liner command will be provided).

For additional details, please see the [wiki](https://github.com/inventor96/mako-vue/wiki) for detailed instructions on setting up and using this boilerplate.

Limitations
-----------

[](#limitations)

- `vite.config.js` is setup for HTTPS via Caddy in Docker. If you are not using Docker, you may need to adjust the Vite server settings for HTTPS or switch to HTTP.
- Local development environment is optimized for Linux hosts. Other OSes may require additional configuration.
- Vue DevTools in Docker cannot open files in an IDE running on the host.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance93

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~11 days

Total

19

Last Release

36d ago

Major Versions

1.3.0 → 2.0.02026-01-27

2.1.0 → 3.0.02026-04-08

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7132744?v=4)[Caleb Hornbeck](/maintainers/inventor96)[@inventor96](https://github.com/inventor96)

---

Top Contributors

[![inventor96](https://avatars.githubusercontent.com/u/7132744?v=4)](https://github.com/inventor96 "inventor96 (86 commits)")

---

Tags

inertiajsmakovuejs3frameworkmakoinertiaboilerplatevue

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/inventor96-mako-vue/health.svg)

```
[![Health](https://phpackages.com/badges/inventor96-mako-vue/health.svg)](https://phpackages.com/packages/inventor96-mako-vue)
```

###  Alternatives

[mako/app

Mako Framework

335.0k](/packages/mako-app)

PHPackages © 2026

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