# Start here — Mercury LMS > Mercury: components on Mercury Hyperscript (`@fiberfx/hyperscript`), styled by Mercury UI (`@fiberfx/ui`), state in Hypergraph (`@fiberfx/hypergraph`), built by native `mx`. JavaScript runs in the browser. Phoenix/LiveView is optional. The archive/image route needs no Node/npm, Rust or BEAM installation. An npm launcher needs Node at each mx invocation. No React is used. 4.0.0 is on npm (since 2026-11-05). ## Read this when You are new to Mercury, or you need to decide which module or course answers a task before writing code. ## The modules - `mx`: the native toolchain. `mx dev [--root ] [--port ] [--importmap]` serves an app on 127.0.0.1. `mx build --bundle` (an app's page), `--lib --out ` (one module file), `--host` (a host's line). An app is a directory with `index.html` beside `mx.mod`. Public Linux x86_64 archive and pinned starter: /start/install-mx. Course: /mx. - `@fiberfx/hyperscript`: virtual DOM. `render`, `h`, `Fragment` from the root; hooks from `/hooks`; `createRoot` from `/client`; `renderToString` from `/server`; JSX with no pragma: the Hypercompiler fixes the runtime and refuses any `@jsx` comment. Course: /hyperscript. - `@fiberfx/ui`: design system components, token-driven. Course: /ui. - `@fiberfx/hypergraph`: state kernel. Course: /hypergraph. - `@fiberfx/content`: published pages, block catalog. Course: /content. - `live_mercury` (Mix, 2.8.0) and `@fiberfx/live-mercury`: islands in LiveView. Course: /live-mercury. ## Minimal example ```tsx import { render } from "@fiberfx/hyperscript"; import { useState } from "@fiberfx/hyperscript/hooks"; function Counter() { const [count, setCount] = useState(0); return ; } render(, document.getElementById("app")!); ``` ## Rules - Write DOM names: `class`, `for`, `onInput` for each keystroke, `onChange` for the DOM's `change`. - Build native apps with mx; npm may bootstrap mx when its package is published. The browser-only route needs no build. Do not add Vite configs or imports from `react`, `react-dom`, `next`, `vue`, `solid-js` or `preact` to these Mercury examples. - `mx dev` hot-reloads: a saved module is updated in place, or the page reloads (/mx/dev). Hypergraph's state-keeping swap is not delivered yet (/hypergraph/hot-replacement); do not promise it. ## MCP Public read-only Streamable HTTP endpoint: https://mercury.jonnify.com/mcp. Read the [connection guide](/start/mcp/llms.txt) for skills, mx platform guidance and component prompts. ## Next - Why: /start/philosophy (companion /start/philosophy/llms.txt) - Tiers and versions: /start/stability - How agents read this site: /start/agents - Install native mx and the pinned starter: /start/install-mx - Glossary: /start/glossary - Build a styled Card + Button page: /mx/first-app - Agent workflow: /SKILL.md - The site map: /llms.txt - This companion: /start/llms.txt ## Navigation - [Read this page in the browser](/start) - [Agent index](/llms.txt) - [All English companions](/llms-full.txt) - [Sitemap](/sitemap.xml) ### Chapter companions - [/start/agents](/start/agents/llms.txt) - [/start/glossary](/start/glossary/llms.txt) - [/start/install-mx](/start/install-mx/llms.txt) - [/start/philosophy](/start/philosophy/llms.txt) - [/start/stability](/start/stability/llms.txt) ## Choose a route Keep an existing app or working mx. Without a CLI, start with [browser HTML](/start/browser/llms.txt). For native TSX, check [npm and archive readiness](/start/install-mx/llms.txt). [The Mercury skill](/agent/SKILL.md) selects by environment and task; the counter is not a substitute for checking the user's requested interactions. - [Reflect 4.1.1: eight interactive lessons](/reflect/llms.txt). ## Mercury Go · mg Generators for Mercury sources; requires a checkout and Go 1.26+. [mg course](/mg/llms.txt) · [First commands](/mg/first-steps/llms.txt). ## Current toolchain source Source build `1fe54fe89fd004f0835990f8ca0081098e793aa1` adds the documented new/quality/pack workflow: /mx/tools/llms.txt. Publication is pending; do not infer public availability from source. `MXCACHE` stores modules and the pinned TypeScript sidecar; `MXRUN_CACHE` stores task results.