v2.2.1 SEO Killer Mode โ€” Star us on GitHub

Replace Your Frontend
Stack with NexGo

Everything you need โ€” routing, rendering, and APIs โ€” packed into a lightweight, high-performance engine. No setup. Just build fast.

$ go install github.com/salmanfaris22/nexgo/v2/cmd/nexgo@v2.2.1
1. Install โ†’ 2. nexgo create my-app โ†’ 3. nexgo dev
0
Requests / second
0
Binary size
0
Runtime dependencies
0
Lines of source
Core Features

Everything you need,
nothing you don't

NexGo ships with all the primitives to build production web apps โ€” without the complexity.

๐Ÿ”

SEO Killer Mode NEW in v2.2.1

The most SEO-complete Go framework. Auto sitemap, robots.txt, canonical URLs, 10 JSON-LD schema types, OpenGraph, Twitter Cards, RSS feeds, Core Web Vitals tracking, hreflang, breadcrumbs, SEO audit โ€” all built-in with zero config.

Auto Sitemap + Robots.txt Built-in
JSON-LD Schema Types 10 types
SEO Template Functions 22+ funcs
Core Web Vitals LCP + CLS + INP
๐Ÿ๏ฟฝ๏ฟฝ

Islands Architecture NEW in v2.1.0

Ship zero JavaScript by default. Only interactive components ("islands") load JS โ€” with 5 hydration strategies: client:load, client:visible, client:idle, client:media, and client:none. A blog page with a like button ships ~2KB vs ~85KB with Next.js.

pages/blog/[slug].html
<!-- Static HTML โ€” 0 KB JavaScript -->
<article>{{ .Props.content }}</article>

<!-- Only this loads JS (~1.5KB) -->
{{ island "like-btn" (props "postId" .Params.slug) "client:visible" }}
โšก

High-Performance Mode NEW in v2.2.0

200,000+ req/sec on multi-core machines. Cluster mode spawns one HTTP worker per CPU core, async logging eliminates I/O blocking, response caching serves pages in microseconds, and atomic template reads ensure zero lock contention.

v2.1.0 (default) ~50k req/sec
v2.2.0 (cluster, 4 cores) ~200k req/sec
v2.2.0 (cluster + cache) ~1M+ req/sec
๐Ÿ“

File-Based Routing

Drop HTML files in pages/ and routes are created automatically. Dynamic segments with [param] syntax, catch-all routes, and nested layouts.

โšก

Server-Side Rendering

Full SSR, SSG, and SPA modes. Data loaders run server-side before rendering โ€” just like Next.js getServerSideProps.

๐Ÿ”ฅ

Hot Reload

Save a file and your browser refreshes instantly. Powered by SSE-based HMR โ€” no WebSockets, no complex setup.

๐Ÿ”Œ

API Routes

Add .go files in pages/api/ to create REST endpoints with method routing, JSON helpers, pagination, and more.

๐Ÿ“ฆ

Single Binary Deploy

Compile to a ~10MB binary. Deploy anywhere Go runs. Just copy the binary + your pages โ€” no Node.js, no npm, no runtime.

๐Ÿ› 

DevTools Panel

Built-in debug panel at /_nexgo/devtools. Live request logs, route inspector, performance metrics, and config viewer.

๐Ÿ”

SEO Killer Mode v2.2.1

Auto sitemap, robots.txt, canonical URLs, 10 JSON-LD types, OpenGraph, Twitter Cards, RSS, Core Web Vitals, hreflang, breadcrumbs, SEO audit & more.

โšก

Streaming SSR

Send HTML progressively as it's ready. Show the shell immediately, stream content later. Includes SSE support.

๐Ÿ”„

ISR

Incremental Static Regeneration โ€” cache pages and rebuild in the background after a configurable interval.

๐Ÿ”

Auth & Sessions

JWT authentication, session management, CSRF protection, and role-based access control โ€” all built in with zero deps.

๐ŸŒ

WebSocket Support

Native WebSocket implementation using HTTP hijacking. Hub-based messaging with rooms, broadcasting, and zero external libraries.

๐Ÿ—„

Database & ORM

Built-in JSON database, SQL query builder, ORM with models and relations, and a migration system โ€” all using pure Go.

๐ŸŒ

i18n & RTL

Locale-based routing, translation files, automatic locale detection, and built-in RTL support for Arabic, Hebrew, and more.

๐Ÿš€

Deploy Anywhere

One-command deployment configs for Docker, Vercel, AWS Lambda, Cloudflare, Fly.io, Railway, Netlify, and Kubernetes.

๐Ÿงฉ

Plugin System

Hook-based plugin architecture for extending NexGo with custom middleware, routes, template functions, and lifecycle events.

Simple by Design

Next.js DX,
Go Performance

NexGo brings the familiar Next.js developer experience to Go. File-based routing, data loaders, and layouts โ€” all powered by Go's blazing-fast runtime.

โœ“ Zero runtime dependencies โ€” stdlib only
โœ“ Go's html/template engine โ€” XSS safe by default
โœ“ Compile once, run anywhere โ€” Docker-friendly
โœ“ Built-in middleware: CORS, Gzip, Security headers
pages/api/posts.go
package api

import (
    "net/http"
    "github.com/salmanfaris22/nexgo/pkg/api"
    "github.com/salmanfaris22/nexgo/pkg/router"
)

func init() {
    router.RegisterAPI("/api/posts", Posts)
}

func Posts(w http.ResponseWriter, r *http.Request) {
    api.Route(w, r, api.Methods{
        "GET": func(w http.ResponseWriter, r *http.Request) {
            page, limit := api.Paginate(r)
            posts := getAllPosts(page, limit)
            api.JSON(w, posts)
        },
        "POST": createPost,
    })
}
pages/blog/[slug].html
<!-- Auto-mapped to /blog/:slug -->

          
Project Structure

Familiar,
Intuitive Layout

my-app/
my-app/
โ”œโ”€โ”€ main.go               # Entry point
โ”œโ”€โ”€ nexgo.config.json     # Config
โ”œโ”€โ”€ go.mod
โ”‚
โ”œโ”€โ”€ pages/               # Routes (auto)
โ”‚   โ”œโ”€โ”€ index.html        # โ†’ /
โ”‚   โ”œโ”€โ”€ about.html        # โ†’ /about
โ”‚   โ”œโ”€โ”€ blog/
โ”‚   โ”‚   โ”œโ”€โ”€ index.html    # โ†’ /blog
โ”‚   โ”‚   โ””โ”€โ”€ [slug].html   # โ†’ /blog/:slug
โ”‚   โ””โ”€โ”€ api/
โ”‚       โ””โ”€โ”€ hello.go      # โ†’ /api/hello
โ”‚
โ”œโ”€โ”€ islands/             # Interactive islands
โ”‚   โ”œโ”€โ”€ counter.html      # Server template
โ”‚   โ””โ”€โ”€ counter.js        # Client JS (on demand)
โ”‚
โ”œโ”€โ”€ layouts/
โ”‚   โ””โ”€โ”€ default.html      # Wraps pages
โ”œโ”€โ”€ components/           # Partials
โ””โ”€โ”€ static/              # Assets โ†’ /static/
    โ”œโ”€โ”€ css/
    โ””โ”€โ”€ js/

CLI Commands

$nexgo create my-app
$nexgo dev
$nexgo build
$nexgo start --port 4000

โšก PATH tip: After install, run export PATH=$PATH:$(go env GOPATH)/bin to use the nexgo command globally.

New in v2.1.0

Islands Architecture

Ship zero JavaScript by default. Only interactive components hydrate on the client โ€” with fine-grained control over when they load.

5 Hydration Strategies

client:load Hydrate immediately โ€” for above-the-fold interactive UI
client:visible Hydrate when scrolled into view โ€” lazy load below-the-fold widgets
client:idle Hydrate when browser is idle โ€” non-critical interactive UI
client:media Hydrate on media query match โ€” mobile-only JS never loads on desktop
client:none SSR only โ€” reusable component, zero JS shipped ever
JS Shipped: Static Blog Page
Next.js (React) ~85 KB
NexGo Islands 0 KB
JS Shipped: Blog + Like Button
Next.js (React) ~87 KB
NexGo Islands ~1.5 KB
Open Source ยท MIT License

Ready to build something
blazing fast?

Join the community. Star the repo. Build your next project with the simplicity of Next.js and the power of Go.

Creator

Made by Salman Faris

Full-stack developer building cool things with Go and modern web tech.