NODERYX
FRAMEWORK v0.7.1

GETTING STARTED

BUILDING

PRODUCTION

DEVICES

REFERENCE

NODERYX / DOCS / GETTING STARTED / 01
GETTING STARTED / 01

Why Noderyx

Built for lightspeed pages, a lightweight install, mobile-first delivery, short working time, and servers that cost almost nothing to run.

01

The problem it was built for

A small product should not need twenty dependencies, a build pipeline, a bundler configuration, and a container cluster before it can show a page. Most of that machinery exists to undo the cost of earlier machinery. Noderyx was built to remove the layers instead of managing them.

  • One framework instead of a hand-assembled stack of router, templating, ORM, session, CSRF, and security packages.
  • No client-side framework required for a page to render—HTML arrives complete.
  • No build step during development, and none for the server in production.
  • One project shape, so the second application is faster to write than the first.
02

Lightspeed by default

Production mode is not a tuning exercise you perform later—it is the mode the framework was designed around. Views are compiled once and cached, static reads are cached, and both compressed variants of every asset are held ready.

  • Server-rendered HTML: the browser paints content without waiting for JavaScript to boot.
  • View discovery and parsed template trees are cached, so a request does no filesystem work.
  • Dynamic HTML uses low-CPU Gzip; static CSS and JavaScript use cached Brotli when the browser accepts it.
  • ETags and 304 responses mean a repeat visit often transfers nothing at all.
  • No hydration pass, so interaction is responsive from the first paint.
TERMINAL
NODE_ENV=production npm start
NOTE

Caching and compression are on in production and off in development, so what you debug is never a stale copy.

03

Lightweight, on purpose

The framework has no required runtime dependencies. Database drivers are optional and installed only for the engine you actually use, so an application that renders pages and calls an API installs almost nothing.

  • A small install means a fast npm ci, a small image layer, and a short cold start.
  • Fewer transitive packages means a smaller audit surface and fewer security advisories to chase.
  • The AI client is written against the provider HTTP APIs directly—no SDK, no version treadmill.
  • Every generated file is readable: nothing is minified, obfuscated, or produced by a tool you cannot inspect.
NOTE

Fewer moving parts is not minimalism for its own sake—it is what makes upgrades safe and rollbacks boring.

04

Runs on a cheap server

Noderyx targets the smallest machine that can serve real traffic: a modest VPS, a shared cPanel account, or a free container tier. Cache sizes are bounded rather than unlimited, so memory use stays predictable instead of growing until the process is killed.

  • Bounded caches for view discovery, parsed trees, static reads, and compressed variants.
  • Request bodies are capped and enforced while streaming, so one upload cannot exhaust memory.
  • Rate limiting is built in, so a single client cannot consume a small server's capacity.
  • Stateless signed sessions—no Redis, no session store, no extra service to pay for.
  • One Node.js process serves pages, API, and static assets; no separate web tier is required.
.env
CACHE_MAX_ITEMS=512 CACHE_STATIC_MAX_AGE=86400 REQUEST_BODY_LIMIT=1048576 RATE_LIMIT_MAX=300
NOTE

Every ceiling is a configuration value, so a larger server can simply be told it has more room.

05

Mobile friendly before it is mobile native

The first page you render is already responsive, accessible, and comfortable on a phone. Cool.css handles layout, type, safe areas, and reduced motion, and the HTML is small enough to arrive quickly on a slow connection.

  • Responsive containers, grids, and type scales rather than fixed pixel layouts.
  • Safe-area support for notched devices, and touch targets sized for thumbs.
  • Reduced-motion rules honoured automatically.
  • Server-rendered HTML means a usable page on a slow network, not a spinner.
NOTE

Mobile is the default assumption here, not a breakpoint added at the end.

06

…and then it becomes an app

When a product is ready to leave the browser, the same .noderframe views compile to Android and iOS—either as real platform widgets with no WebView, or as a packaged web build. You do not rewrite the product to ship it.

TERMINAL
npm run native:init # real platform widgets npm run mobile:init # packaged Cool.css build
NOTE

Both paths read the same views, so choosing one does not lock you out of the other.

07

Short working time

Speed of execution matters less than speed of work. The framework removes the waiting and the wiring that fill an ordinary development day.

  • Live reload: save a file, the server restarts and the browser refreshes when it is healthy again.
  • Generators for controllers, models, migrations, seeders, middleware, observers, commands, and packages.
  • No compile step between writing a view and seeing it.
  • Security, sessions, validation, and error pages exist on day one—there is no setup sprint.
  • Development error pages name the likely cause and the command that fixes it.
TERMINAL
npm run dev npx noderyx make:controller PostController
08

Cheap to operate, not just to start

Most of a project's cost arrives after launch: incidents, upgrades, and the hours spent understanding what somebody else wired together. Those costs were the design target.

  • Framework updates change one dependency and roll back automatically when tests fail.
  • Application code is never rewritten by tooling, so a review only ever covers your own changes.
  • Secure defaults mean the common vulnerability classes are closed before code review starts.
  • One project shape means a new contributor is productive without a tour.
09

The honest trade-offs

Nothing here is free. These are the costs of the choices above, stated plainly so you can decide before you build.

  • The template language is deliberately small: views choose what to show, not what to compute.
  • The HTML renderer allows a fixed set of elements; anything else is a compile error rather than unchecked markup.
  • Native builds translate a subset of Cool.css—gradients, blur, and CSS animation have no widget equivalent.
  • The framework is young and has not had an external security audit.
  • If your product genuinely needs a heavy client-side application, a server-rendered framework is the wrong shape for it.
10

Measure it yourself

Do not take a performance claim on trust—including this page's. Every statement above is checkable in a few minutes.

TERMINAL
npm ls --omit=dev --depth=0 # what actually installs NODE_ENV=production npm start # production behavior curl -sI http://localhost:3000/ # compression, ETag, and cache headers curl -s http://localhost:3000/health
NOTE

Then run Lighthouse against the deployed HTTPS URL—see SEO & performance for what to look at and what to ignore.