hyde / cli
The HydePHP CLI - a portable static site generator that runs without PHP or Composer.
Requires
- php: ^8.1
Requires (Dev)
- hyde/framework: v1.6
- hyde/realtime-compiler: ^3.2
- laravel-zero/framework: ^10.0
- mockery/mockery: ^1.6
- pestphp/pest: ^2.26
Suggests
- ext-curl: Required for using the self-update feature when not installing through Composer.
This package is auto-updated.
Last update: 2026-08-25 04:01:30 UTC
README
About
The HydePHP CLI is a single-file executable for the static site generator HydePHP.
It carries its own PHP runtime and its own copy of the framework, so you can build a site on a machine with no PHP and no Composer installed. Point it at a directory of Markdown files and it will build a site; point it at a full HydePHP Composer project and it will run that project through its own dependencies.
The two kinds of project
Portable — content and configuration only:
_pages/
_posts/
_media/
hyde.yml # optional
No composer.json, no vendor/, nothing to install. The framework, the runtime, and every
dependency come from the executable itself. Fastest builds and easiest deployment.
Composer — a full HydePHP project with a composer.json that declares Hyde. The project
owns its dependency graph: its own Hyde version and its own addons. The executable supplies
the PHP runtime and hands control to the project's own hyde entry point.
The CLI works out which one it is looking at before it does anything else. hyde info will
tell you what it decided:
$ hyde info
Hyde CLI: 3.0.0
Project type: Portable
Framework: 3.0.0-dev (embedded)
PHP: 8.4.24 (bundled)
Root: /Users/emma/Sites/foo
See docs/ARCHITECTURE.md for the full model.
Installation
Direct download
Download the executable for your platform from the latest release:
| Platform | Asset |
|---|---|
| Linux (x86_64) | hyde-linux-x86_64 |
| Linux (arm64) | hyde-linux-arm64 |
| macOS (Apple Silicon) | hyde-macos-arm64 |
| macOS (Intel) | hyde-macos-x86_64 |
| Windows (x86_64) | hyde-windows-x86_64.exe |
# macOS, Apple Silicon curl -L https://github.com/hydephp/cli/releases/latest/download/hyde-macos-arm64 -o hyde chmod +x hyde && sudo mv hyde /usr/local/bin/hyde
On macOS, download with
curlrather than through a browser. A browser marks the file as quarantined, and Gatekeeper will refuse to run it until you clear that withxattr -d com.apple.quarantine hyde.
Every asset is published with a detached GPG signature (<asset>.sig) and an OpenSSL
signature (<asset>.sig.bin), which is the one hyde self-update verifies.
Using Composer 
composer global require hyde/cli
Make sure to place the Composer system-wide vendor bin directory in your $PATH so the hyde executable can be located by your system. This directory is typically located at $HOME/.composer/vendor/bin.
Docker
docker pull ghcr.io/hydephp/cli:latest
docker run --rm -it -v "$(pwd):/site" ghcr.io/hydephp/cli:latest build
The image is a bare Alpine with the Linux executable in it: it needs no PHP layer, because the executable brings its own.
Usage
# List available commands hyde # See what the CLI is, and what it is about to run against hyde info # Create a new site hyde new my-site # asks which kind you want hyde new my-site --portable # content only, nothing to install hyde new my-site --composer # a full Composer project (requires Composer) # Build a site using source files in the working directory hyde build # Preview it, with live recompilation hyde serve
Resources
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
HydePHP is an open-source project, contributions are very welcome! See CONTRIBUTING.md for guidance.
Security
If you discover any security-related issues, please email emma@desilva.se instead of using the issue tracker. All vulnerabilities will be promptly addressed.
Credits
- Emma De Silva, feel free to buy me a coffee! https://buymeacoffee.com/emmads
- All Contributors
License
The MIT License. Please see the License File for more information.