genesis-stack
v1.1.4
Published
The optional curated technology Stack catalog for Genesis projects.
Readme
genesis-stack
The optional first-party technology catalog for genesis-compiler.
This one package contains the complete curated set of Genesis Stack pieces for the supported languages, databases, UI libraries, and frameworks. It is kept separate from the compiler so Genesis remains usable without any technology catalog or framework dependency.
Install both packages when you want the curated catalog:
npm install --global genesis-compiler genesis-stackSelect from it explicitly the first time:
genesis stack list --stack-package genesis-stack
genesis stack add --stack-package genesis-stack cpp
genesis stack add --stack-package genesis-stack jskit jskit-mysqlGenesis records genesis-stack in genesis/stack.md, materializes the selected
pieces' missing operation proposals as project-owned contracts, and returns a
one-time preparation prompt. Later commands and other hosts resolve the same
catalog without another flag, while catalog upgrades cannot silently rewrite
the established project operations.
The package contains static Markdown declarations and a JSON starter catalogue, and has no framework dependencies. Genesis reads its manifest and Stack pieces; it never imports or executes catalog code. Framework pieces such as JSKIT and Vue link to their authoritative documentation in ordinary Stack guidance.
Genesis still supports optional Agent Skills generically. A Stack piece from any resolvable package may declare one when selecting that piece should install that skill. Documentation alone does not require a skill declaration or a catalog dependency.
With Genesis 1.4 or newer, genesis templates list also lists the JSKIT starters
in genesis.templates.json. Both variants come from
vibe64-dev/seed-jskit:
official:jskit/public and official:jskit/accounts. Apply one to an empty
Git/Genesis bootstrap project with genesis templates apply <id>. Template IDs
name complete applications; selecting a Skill never silently chooses a starter.
New curated technologies should normally contribute a piece to this catalog.
Do not add technology-specific knowledge or dependencies to
genesis-compiler, and do not create one catalog package per framework unless
the single-catalog model becomes genuinely unworkable.
The sqlite piece covers persistent filenames, transactions, migrations and
consistent backups. laravel-sqlite adds Laravel's DB_DATABASE filename
binding and DB_CONNECTION=sqlite default. Hosts own provisioning; applications
own schema changes and preservation of existing data during adoption.
Resource-estimate proposals
JSKIT proposes Vibe64's optional Resource estimates section for its concrete
app output and Workspace setup. The startup, running and preparation values
are initial planning estimates, not measured minima, reservations or memory
limits. Vibe64 owns the grammar and a host owns admission, learned consumption
and owner settings; Genesis only materializes and transports the exact text.
Node and Vue contribute adoption guidance without competing section proposals. Their estimates must not be added to JSKIT's for the same process tree. A project's complete reviewed section wins; a catalog upgrade never rewrites it. Projects with different output ids or commands must review the proposal during preparation. A project can omit estimates and use its host's generic starting policy. Neither the catalog nor the project stores host observations or limits.
