VSA Monolith Framework
vsa 1.1.1 — macOS and Windows

From a bare machine to a running app, in one command.

VSA Monolith is the Laravel and vanilla-JavaScript application framework behind the Vectorasoft consoles. Its command line installs the whole toolchain, scaffolds pages that already know their routes, permissions and translations, and refuses to commit code that would break at runtime.

Installs PHP 8.3, Composer, Node, the extensions and the vsa command. Per-user on Windows — no administrator rights.

Install it

One command on a machine with nothing on it. Safe to run again — it updates what is already there instead of installing it twice.

Terminal
curl -fsSL https://vsa.vectorasoft.com/vsa-installer.sh | bash

Prefer not to use a terminal? Download the installer and double-click it — same thing. While the VSA repositories are private it asks once for a GitHub token and remembers it; how to make one.

What the framework gives you

Every piece exists because something shipped broken once. The rules in vsa check are that list, written down.

Pages, not page loads

A screen is a JavaScript component the router swaps in. The app never navigates by reloading, so state, sockets and the sidebar survive every move.

Permissions by code, never by id

vsa check fails the build when a guard names a numeric permission id instead of its code — the defect that once left a whole screen unguarded.

One database abstraction

Queries go through DBX and never spell a vendor SQL function, so the same code runs on MySQL and PostgreSQL without a rewrite.

Scaffolding that wires itself

vsa make:page writes the component, the blade, the app-file entry, the menu place, the translation keys and — for a list page — the controller, model and API route.

One deployment, many companies

The subscriber is named in the URL — /hr-acme or acme.example.com/hr — so the login knows which company before the password is checked. An unknown or unentitled code is a 404, never a quiet fall-back.

Reports without screens

A report is two declarations and one query class. One Report Center lists them all, a signed ticket opens one, and View, Print, Excel and CSV render the same rows.

Translations as a workflow

Find every key the code uses, sync the ones a locale lacks, export a CSV for a translator, import only the cells they changed.

Identity is not your problem

Sign-in, roles, subscriptions and the permission catalog live in XAuth. vsa xauth:sync pushes what the code declares and tells you what drifted.

A day with the command line

Run vsa anywhere inside a project — it finds the project by the nearest vsa.json.

Terminal
vsa new acme-hr --name="Acme HR" --app=hr   # a project from the template, set up and committed
vsa serve                                   # PHP server, live reload and a check on every save
vsa make:page hr EmployeesComponent --type=list
vsa i18n:sync                               # every key the code uses exists in every locale
vsa check                                   # the rules below; the pre-commit hook runs this
vsa build                                   # hashed, minified chunks in public/dist
vsa doctor                                  # is anything still missing?

Thirty-odd commands, grouped: see all of them.

Start with the installer

It brings up git, installs the toolchain, clones the CLI, and can finish by creating a project or cloning one you already have.