Web admin for get-installer
registries. Laravel 12 + Inertia + React + REST API + OAuth.
Status: Laravel bootstrap landed. PHP skeleton + PHPUnit + Vite are installed and committed; CI is green on PHP 8.3 + 8.4 × Linux + macOS. Remaining steps in
INITIALIZE.md(Passport, Inertia + React, multi-tenancy, OpenAPI validator wiring, Pest swap) run from this baseline.
get-installer reads a JSON registry of products + versions and
installs them onto user machines. For solo use, the registry sits
in a git repo. For teams or fleets, it needs a backend:
- Multi-tenant registries (one per organisation).
- OAuth (GitHub / GitLab / Microsoft Entra) for admin access.
- REST API at versioned
/api/v1/for programmatic edits. - Inertia + React UI for human admins.
- Background workers: PyPI yank scans, audit-log compaction.
- Audit log per tenant: every registry edit recorded.
- Phase E unlocked: signed-URL handoff to the installer for domain-locked installs.
The design rationale + alternatives considered live in the
upstream sibling repo:
simtabi/get-installer/REPO-PROPOSAL-admin.md.
- Clone this repo.
- Follow
INITIALIZE.mdend-to-end. It runscomposer create-project laravel/laravelin this directory, then installs Passport, Inertia, React, and the test stack. - Read
docs/architecture.mdfor the multi-tenant data model. - Read
docs/api/v1.yaml(OpenAPI 3.1 spec) for the contract surface; controllers conform to it.
On a checkout where the Laravel skeleton has landed, one Composer
script does the first-run setup: it installs PHP dependencies,
copies .env.example to .env, generates the app key, runs the
migrations, then installs and builds the frontend.
composer run setupRun the app server, queue worker, log tail and Vite together:
composer run devRun the test suite:
composer testThe remaining bootstrap steps (Passport, Inertia + React,
multi-tenancy) are in INITIALIZE.md.
| Bootstrap | ✓ Laravel 12 + Vite skeleton landed (059a60d) |
| Tests | PHPUnit (Laravel 12 default); Pest swap is INITIALIZE.md step 6 |
| Passport / OAuth | pending (INITIALIZE.md step 2) |
| Inertia + React | pending (INITIALIZE.md step 3) |
| Multi-tenancy | pending (INITIALIZE.md step 4) |
| API spec | placeholder at docs/api/v1.yaml (no controllers yet) |
| CI | ✓ PHP 8.3 + 8.4 × Linux + macOS, Node 22 |
| Trusted publishers | N/A (Laravel app, not a package) |
MIT — see LICENSE.
Simtabi LLC · contributions welcome once the bootstrap has run.