Files
stack/docs/USER-GUIDE/getting-started/quickstart.md
T
veronica f0d2dd9920 docs(W4): stamp kind and status front matter on 104 live documents
Applies the document contract from
docs/plans/2026-08-20_stack-docs-flatten-and-alignment.md section 3, partially:
`kind` and `status` only. `parent` is deliberately held until the flatten in
section 4 lands, so that 127 documents do not have to be re-pointed by hand
when docs/fleet/NORTH_STAR.yaml moves to docs/NORTH_STAR.yaml.

Scope, measured on origin/next at 63069149:

  127 live docs   = all *.md under docs/ minus docs/archive/ minus docs/_old_structure/
  104 stamped     here
   19 held        operator judgement (plan section 9), worklist in the same PR
    3 held        the SUPERSEDED TASKS.md stamps, which cite the moving path
    1 untouched   docs/fleet/FLEET-DOCTRINE.md, already stamped in W1

Kinds applied: 54 guide, 34 record, 9 spec, 6 tracking, 1 projection.
Every row carries a confidence and a one-line rationale in the worklist.

Two collisions with the existing state, both flagged rather than resolved:

1. docs/README.md:150-160 already documents a front-matter convention
   (title/type/audience/status/source_of_truth) with its own allowed values.
   It is applied to 4 of 127 files. Its `status` vocabulary is
   current|draft|deprecated|historical; the new contract's is active|superseded-by.
   The key collides. This commit lets the new contract win and rewrites
   `status: current` to `status: active` on those 4 files, keeping their other
   legacy keys untouched. No code reads any of them: `git grep source_of_truth`
   outside docs/ returns nothing. docs/README.md still prescribes the old
   convention and is an operator row, so it is not edited here.

2. Two of the plan's 20 operator rows are YAML files, not markdown
   (docs/fleet/examples/roster-v2.yaml, docs/openapi-tess.yaml), and the
   contract's front-matter form has no defined meaning for a .yaml document.
   That gap also applies to docs/fleet/NORTH_STAR.yaml, the source of truth
   itself. Raised in the worklist.

A third row from the plan, docs/fleet/north-star.md, no longer exists: W1
renamed it to docs/fleet/FLEET-DOCTRINE.md.

Verification: 104/104 parse with the expected kind and status in front matter;
the check was shown to reject a wrong kind before it was trusted. The diff
removes 4 lines total, all of them `status: current`.
2026-08-20 19:30:25 -05:00

5.2 KiB

kind, status, title, type, audience, source_of_truth
kind status title type audience source_of_truth
guide active Mosaic Stack Quickstart guide user false

Mosaic Stack Quickstart

Verify and install the versioned Mosaic CLI package, complete first-run setup, connect to a gateway, and launch an agent session. This page covers the installed-CLI path with the default local storage tier.

Scope: This is an end-user installation route. It does not authorize PostgreSQL setup, production deployment, or starting Gateway/Web directly from a source checkout. Use the administrator guide for deployment and the developer guide for contributor setup.

Requirements

  • Node.js 20 or newer.
  • npm, for the global Mosaic CLI installation.
  • At least one supported agent runtime:
  • Credentials for the runtime or model provider you plan to use.

1. Install Mosaic

Installation hold: Do not execute the website installer or a script fetched from a mutable repository branch. The current release tooling does not publish an independently verified immutable dependency closure or a signed installer. If your policy requires either property, stop until a release provides it.

The currently published CLI/framework package is @mosaicstack/[email protected]. Pin the exact package version and verify its published artifact integrity before installation:

registry='https://git.mosaicstack.dev/api/packages/mosaicstack/npm/'
package='@mosaicstack/[email protected]'
expected_integrity='sha512-/Zsjdf8Ln2QchQTG9lirpqSxhDbNyBjOvGkWrDWRugxCuqUWP5V0rUNVDivmPvro+Vyq3hxDyA9i4hDfkEFmMg=='
actual_integrity="$(npm view --registry="$registry" "$package" dist.integrity)"
test "$actual_integrity" = "$expected_integrity"
npm install --global --registry="$registry" "$package"

The explicit comparison pins the reviewed top-level package artifact; npm also checks the downloaded tarball against registry integrity metadata. It does not make the package's transitive dependency graph independently immutable. Review the package release before proceeding, and stop if the integrity comparison fails.

The versioned package includes the Mosaic framework and CLI. npm installs it under your configured global prefix. Ensure that prefix's bin directory is on PATH if your shell cannot find mosaic.

2. Complete first-run setup

The versioned package install does not launch the wizard. Run it manually:

mosaic wizard

The wizard guides framework setup and gateway installation. It can collect your agent identity, preferences, provider configuration, and gateway administrator details interactively.

For a separately installed or existing gateway, skip local gateway installation and use its URL in the login step below.

3. Verify and sign in

For a gateway installed on this machine, check its health and setup state:

mosaic gateway status
mosaic gateway verify

Sign in without putting your password in shell history or process listings:

mosaic gateway login

The command prompts for the gateway URL, email, and password as needed. Do not pass passwords with --password.

For a remote gateway, provide its URL explicitly:

mosaic gateway login --gateway https://gateway.example.com

4. Launch Mosaic

Open the interactive terminal interface:

mosaic tui

The TUI defaults to http://localhost:14242 and can prompt for login if no valid session is saved. To connect it to another gateway:

mosaic tui --gateway https://gateway.example.com

You can also launch a supported runtime through Mosaic:

mosaic pi
mosaic claude
mosaic codex
mosaic opencode

Use the launcher matching the runtime you installed and authenticated.

5. Inspect configuration and health

These commands are safe diagnostics and do not change the product requirements or active task ledger:

mosaic config show
mosaic doctor
mosaic gateway logs

If the gateway is unhealthy, run mosaic gateway status and mosaic gateway logs before attempting a reinstall. If your session expires, run mosaic gateway login again.

Storage and deployment boundary

The default local gateway tier uses embedded PGlite and does not require an external PostgreSQL or Valkey service. This quickstart intentionally does not configure DATABASE_URL, PostgreSQL, pgvector, or a federated deployment.

For standalone or federated storage, deployment topology, secrets, SSO, backups, or recovery, stop here and use the administrator guide. For work from a repository checkout, keep DATABASE_URL unset and follow the developer guide; do not use root pnpm dev as a local PGlite route while the current dotenv safety hold remains active.