hotmixer
v1.0.2
Published
Scaffold HTMX-powered web projects in 12 backend frameworks
Maintainers
Readme
HoTMiXer
HoTMiXer is a CLI tool that scaffolds new web projects with HTMX plus your choice of backend. Pick a language, pick a framework, and start coding immediately.
Installation
npm install -g hotmixerRequires Node.js 16+.
Usage
hotmixer create myprojectYou'll be prompted to choose a language and framework. Or skip the prompts:
hotmixer create myproject --backend FlaskCommands
| Command | Description |
|---------|-------------|
| hotmixer create <name> | Scaffold a new project |
| hotmixer list-backends | List available backends with tooling status |
| hotmixer --version / -V | Print version |
Create Options
| Option | Description |
|--------|-------------|
| -b, --backend <name> | Skip interactive prompts, use named backend |
| -p, --port <port> | Dev server port (shown in instructions) |
| --skip-git | Skip git init |
| --help | Show help |
Exit Codes
| Code | Meaning | |------|---------| | 0 | Success | | 1 | Error (invalid name, unknown backend, no tooling detected) |
Supported Backends
Python
- Flask — Jinja2 templates, Pip requirements
- Django — Django template tags,
django-adminbootstrap
Go
- Gin — Go templates,
go.modready - Echo — Static file serving, middleware included
Node.js
- Express — EJS templates, npm scripts
- Koa — EJS templates, koa-router
PHP
- Laravel — Blade templates, Composer, full skeleton
Rust
- Actix Web — Handlebars templates, Cargo ready
- Axum — Askama templates, Tokio runtime
C/C++
- Mongoose — Single-header embedded web server, C source
Common Lisp
- Clack/Ten — Ten templates, Ningle router, Clack server
- Clack/Djula — Djula templates, Ningle router, Clack server
Getting Started Per Backend
Python (Flask)
cd myproject
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
python app.pyPython (Django)
cd myproject
python -m venv venv
source venv/bin/activate
pip install django
python manage.py migrate
python manage.py collectstatic
python manage.py runserverGo (Gin / Echo)
cd myproject
go mod tidy
go run main.goNode.js (Express / Koa)
cd myproject
npm install
npm startPHP (Laravel)
cd myproject
composer install
cp .env.example .env
php artisan key:generate
php artisan serveRust (Actix Web / Axum)
cd myproject
cargo runC/C++ (Mongoose)
cd myproject
gcc main.c mongoose.c -o server
./serverCommon Lisp (Clack/Ten, Clack/Djula)
Start your REPL (SBCL, CCL, etc.), load the ASDF system, switch to
the project package, and call (start).
Migration from Pre-0.9.9 Scaffolds
If you scaffolded a project with an older version of HoTMiXer:
- htmx CDN → local: Templates now bundle
htmx.min.jslocally. If you update your scaffold, replace the unpkg<script>tag with the local path for your backend. - New CLI flags:
--skip-git,--version,list-backends, and--portare now available. - Input validation: Project names are now validated before scaffolding. Reserved names like
testandnode_modulesare rejected. - Django instructions:
collectstaticandmigratesteps are now documented in post-scaffold instructions.
Have a Feature Idea?
Open an issue or PR on GitHub — new backends, hot-reloading designs, and other improvements are welcome.
Contributing
Open an issue or PR on GitHub.
License
MIT. See LICENSE for details.
