Sites
Add projects
Section titled “Add projects”Park a folder to serve every project inside it: ~/Sites/shop becomes https://shop.test. New folders are picked up as you create them.
devkit park ~/SitesLink a project to serve one folder, optionally under another name:
cd ~/Code/api && devkit link # api.testcd ~/Code/api && devkit link billing # billing.testIn the app, use Park a folder or Link a project on the Sites screen, or Settings › Folders.
What serves each site
Section titled “What serves each site”DevKit looks at each folder and picks the first match:
| It finds | Served as |
|---|---|
artisan |
Laravel (Statamic when please is there too), from public/ |
wp-config.php or wp-load.php |
WordPress (Bedrock when it’s under web/) |
craft and web/index.php |
Craft CMS |
bin/console and public/index.php |
Symfony |
public/index.php or index.php |
PHP |
manage.py |
Django, as WSGI or ASGI |
A FastAPI(, Starlette( or Flask( app in main.py, app.py, app/main.py and similar |
FastAPI, Starlette or Flask |
package.json with a dev or start script |
A dev server, started with pnpm, yarn, bun or npm to match the lockfile |
index.html in dist/, build/, _site/, out/ or public/ |
A static site, with a single-page-app fallback |
index.html |
A static site |
To run something else, set the command yourself. DevKit gives it a free port in $PORT and proxies the site to it:
devkit run storefront "npm run dev -- --port $PORT"Dev servers start on the first request and keep running, with WebSockets and hot reload passed through.
Every site is served over HTTPS with a certificate from DevKit’s own certificate authority. Certificates are issued on demand and renewed automatically. devkit unsecure <site> serves a site over plain HTTP instead.
Tools that don’t use the system keychain, like Node or Python scripts, may need the certificate authority. Print it with:
devkit ca > ~/devkit-ca.pemexport NODE_EXTRA_CA_CERTS=~/devkit-ca.pemVersions per site
Section titled “Versions per site”Each site can use its own PHP, Python or Node version. Choose it in the site’s row, or from the terminal:
devkit isolate 8.2 --site legacydevkit unisolate --site legacyNode versions are also read from .nvmrc and .node-version. See PHP, Python and Node.
Background processes
Section titled “Background processes”A site can keep processes running alongside it: queue workers, schedulers, Vite. DevKit suggests the usual ones for the framework it found. Add them in the site’s row, or:
devkit process add "php artisan queue:work"devkit process listProcesses restart when they exit and start again with DevKit. Their output is in Logs.