VAGE JS 0.1 is out

The Content Framework
Built for AI Website Development

Write pages as plain text files, or let your AI coding assistant write them. VAGE JS turns them into a fast, secure website that search engines and AI assistants understand.

npm create vagejs@latest my-site

Click the command to select it · you'll need Node.js 22.12 or newer

Read the docsView on GitHub

~/projects
  1. $ npm create vagejs@latest my-site
  2. Created ~/projects/my-site
  3.  
  4. Next steps:
  5. cd my-site
  6. npm install
  7. npm run dev
  8. $ cd my-site && npm install
  9. added 78 packages in 10s
  10. $ npm run dev
  11. VAGE JS dev server running at http://localhost:5173/

What is VAGE JS?
A free framework for building content websites from text files.

VAGE JS came out in October 2026. It's open source under the MIT license and installs from npm as vagejs. In technical terms it's a static site generator, which means it builds every page ahead of time, so there's no server code or database to run.

From a folder of text files
to a live website you can trust.

  1. Write

    Write a page the way you'd write a note.

    • Each text file becomes a page, and its folder decides the web address.
    • A few lines at the top hold the page title and the short summary Google shows.
    • Anything risky pasted into a page, like a hidden script, is stripped out automatically.

    Pages and layouts Configuration

    src/pages/pricing.md
    ---
    title: Pricing
    description: Simple plans for teams of every size.
    ---
    
    # Pricing
    
    Pick the plan that fits your team.
  2. Check

    Catch problems before your visitors do.

    • It spots broken links, missing page summaries and details search engines can't read.
    • It checks the basics that make a site usable with a screen reader.
    • It names the exact file to fix, so you or your AI assistant can sort it out in seconds.

    Checks and audits

    terminal
    $ npx vage check
    error   link-broken            /about/ (src/pages/about.md)
            Link to "/nope/" does not match any page or file.
    error   link-broken            /about/ (src/pages/about.md)
            Link to "/blog/wip/" points to a draft page, which is not published.
    warning meta-description       /dup/ (src/pages/dup.md)
            No meta description. Add `description` to the frontmatter.
    
    Checked 6 page(s): 2 error(s), 1 warning(s).
  3. Build

    One command makes the whole site.

    • It writes the sitemap and robots.txt that search engines read, plus llms.txt, a short guide for AI assistants.
    • It adds the details Google and social apps use to show previews of your pages.
    • It sends no JavaScript to visitors unless you add analytics yourself.

    Getting started

    terminal
    $ npx vage build
      /                              -> index.html
      /about/                        -> about/index.html
      /blog/first-post/              -> blog/first-post/index.html
                                     -> robots.txt
                                     -> sitemap.xml
                                     -> llms.txt
    
    Built 3 page(s) into dist in 296ms
  4. Ship

    Publish without the nerve-racking parts.

    • It puts your site on GitHub Pages or Cloudflare Pages, with a preview link for every work-in-progress branch.
    • It refuses to upload passwords or secret keys, and it never overwrites anyone else's work.
    • It only says "done" once the host confirms your site is live.

    Deploy

    terminal
    $ npx vage deploy:github --remote https://github.com/you/site.git
    Publish plan for ~/projects/my-site
      • git init (branch main)
      • add origin https://github.com/you/site.git
      • commit 32 file(s) on main: "Initial site"
      • push to https://github.com/you/site.git (main); never forced
    Proceed? [y/N] y
    Pushed 53f1eab to https://github.com/you/site.git (main); confirmed on the remote.

Fast out of the box.
No tuning required.

We tested a brand-new VAGE JS site with Google's Lighthouse tool. It scored a perfect 100 in every category, and the page loaded in under a second on a simulated phone connection.

100Performance
100Accessibility
100Best Practices
100SEO
3/3Agentic Browsing
MetricVAGE JS starterGood is
Main content appears (LCP)0.8 sunder 2.5 s
Layout jumps (CLS)0under 0.1
Time the page is frozen (TBT)0 mslower is better
First text appears (FCP)0.6 slower is better
JavaScript sent to visitors0 KBless is faster
Data downloaded1.5 KB in 2 requestsless is faster
Time to build the site0.3 s for 4 pagesfaster is better

How we measured: a fresh site from npm create vagejs@latest (vagejs 0.1.0), tested with Lighthouse 13.5.0 on mobile settings with a simulated slow network on 23 October 2026. We ran it twice and got the same numbers both times. These are lab results. Google also looks at data from real visitors, and your own numbers will depend on your images, content and hosting.

Maximum flexibility.
Nothing locks you in.

Your words live in text files you own, and the HTML is yours to shape. What VAGE JS builds is a plain folder of files you can host anywhere, now or five years from now.

  • Page designs (called layouts) are short TypeScript functions. If you can read HTML, you can read them.
  • Style your site however you like with ordinary CSS.
  • Add your own settings to any page and use them in your design. This home page is built exactly that way.
  • Every default can be changed or switched off, from crawler rules to security headers.
  • GitHub Pages
  • Cloudflare Pages
  • Any static host
src/layouts/default.ts
import { escapeHtml, type Layout } from "vagejs";

const layout: Layout = ({ content, page, site }) =>
  `<!doctype html>
  <html lang="${escapeHtml(site.lang)}">
    <head><title>${escapeHtml(page.title)}</title></head>
    <body><main>${content}</main></body>
  </html>`;

export default layout;

Everything a content site needs.
Already built in.

Made for AI coding assistants.
No guesswork.

Ask Claude Code or another AI assistant to add a page, and it already knows how. Each new site comes with an instructions file (AGENTS.md) that spells out the rules and what "done" means, and the assistant can ask VAGE JS for every command and setting.

npx vage info --json
AGENTS.md
## Definition of done

`npm run check` reports 0 errors and `npm run build`
succeeds. Report remaining warnings to the owner
rather than hiding them.

Do not invent titles, descriptions, dates, authors
or facts. Ask the site owner.

Safe by default.
It says no to risky moves.

Questions people ask.
Straight answers.

What is VAGE JS?

VAGE JS is a free, open-source framework for building websites. You write pages as simple text files, and it turns them into a fast website with search-engine and AI-friendly files already built in.

Is VAGE JS free?

Yes. It's released under the MIT license, so you can use it for personal and commercial sites at no cost.

Do I need to know how to code?

A little comfort with a terminal helps. Writing pages only takes plain text, and AI coding assistants like Claude Code can set up and update a site for you.

How is it different from WordPress?

WordPress runs a database and server code every time someone visits. VAGE JS builds plain pages ahead of time, so there's no database to secure or update. There's no admin dashboard either; your content lives in text files.

Will VAGE JS help my site rank on Google?

It takes care of the technical side: sitemaps, page summaries, structured data, speed and broken-link checks. Rankings still depend on your content and on other sites linking to you, and no tool can guarantee them.

Does it work with ChatGPT, Claude and other AI search?

It creates llms.txt, a plain guide to your site for AI tools, and lets you choose which AI crawlers may visit. Whether an AI assistant mentions your site is up to that assistant.

Where can I host a VAGE JS site?

Anywhere that serves files. GitHub Pages and Cloudflare Pages have one-command publishing built in, and any other static host works too.

What do I need to get started?

Node.js 22.12 or newer. Then run npm create vagejs@latest my-site and follow the three steps it prints.

Partner agencies.
Get help building your site.

Rather hand it off? These agencies build and look after VAGE JS sites for their clients. If your agency builds with VAGE JS too, apply to be listed here.

Become a partner agencyAbout the partner program

Why we built VAGE JS

Every website needs the same unglamorous chores done right: a sitemap that matches the real pages, a short summary on each page, structured data that tells the truth, no broken links, and a publish step that doesn't leak a password file. Most tools leave those chores to you. VAGE JS does them by default and checks them on every build, so you (and your AI assistant) can spend your time on what you actually want to say.

We'll also be straight with you about its limits. Passing every check won't guarantee a top spot on Google or a mention in an AI answer, and the tool tells you that too.

Start with one command.
You'll have a site running in a minute.

npm create vagejs@latest my-site

Read the docs

Sponsored by.
Thank you for keeping it free.

VAGE JS is free and open source. Our sponsors pay for the upkeep, the security reviews and the work of keeping up with Google, Bing and AI crawler changes. Want to help? Become a sponsor.

Become a sponsor partnerStart a conversation