jtakeit
Kostenlos testen

Next.js CMS für Kundenwebsites

Ein Next.js CMS für Kundenwebsites, die Ihr Agent schreibt

jtakeit ist ein git-basiertes Next.js CMS für Kundenwebsites: Ihr Agent baut einen statischen Export in Ihr Repository, der Inhaber bearbeitet per Tippen auf den Text, und die Plattform betreibt Formulare, Buchungen, Hosting und Domain.

zsh — client-site
$ npx create-next-app@latest client-site --ts --app
$ cd client-site
# next.config.mjs: output 'export', basePath from SITE_URL
$ npm run build
$ ls dist
404.html  _meta.json  _next  index.html  robots.txt  sitemap.xml
$ git push origin main
# then, over MCP: validate_catalogue → commit_and_build
Ein statischer Next.js-Export nach den Vorgaben von jtakeit: ein Build, in dem Ordner, den die Plattform ausliefert.

01/ was es braucht

Was ein Next.js CMS für Kundenwebsites braucht

Eine mit Next.js gebaute Kundenwebsite braucht mehr als einen Ort für Texte. Der Inhaber muss seine Texte selbst ändern können, ohne Sie anzurufen, und die Website muss trotzdem Anfragen und Buchungen annehmen und den Kunden mit seinen Daten gehen lassen.

  • Bearbeitung, die das Design nicht zerstört

    Der Inhaber tippt auf den Text der Seite und füllt nur die Felder aus, die der Katalog deklariert. Einen Button zum Hinzufügen von Seiten oder Blöcken gibt es bewusst nicht.

  • Inhalte in Ihrem Repository

    Die veröffentlichten Texte sind JSON in dem git-Repository, das bei Ihnen bleibt. Jedes Speichern ist ein Commit.

  • Anfrageformulare

    Formulare sind gegen Spam geschützt, und Anfragen kommen in Telegram, per E-Mail oder im Admin-Posteingang an.

  • Bezahlte Buchungen

    Das Buchungsmodul leitet bezahlte Buchungen direkt an das eigene Stripe-Konto des Unternehmens.

  • Eine Vorschau vor der Zahlung

    Der Kunde gibt die echte Website in einer Vorschau frei, bevor sie live geht.

  • Ein Weg hinaus

    Anfragen und Buchungen lassen sich als CSV und JSON exportieren. Der Export braucht nie ein aktives Abo.

02/ git oder API

Git-basiert oder ein Next.js Headless CMS?

Ein Headless CMS hält Inhalte in seiner eigenen Datenbank und liefert sie über eine API aus – gut geeignet, wenn ein Content-Team auf eine Website, eine App und mehr veröffentlicht. Eine Kundenwebsite hat einen Inhaber und eine Website, deshalb hält jtakeit ihre Texte im Repository neben dem Code.

Wo Inhalte liegen: ein typisches Headless CMS, allgemein beschrieben, im Vergleich zu jtakeit. Einzelne Produkte unterscheiden sich – prüfen Sie das, das Sie in Betracht ziehen.
Ein typisches Headless CMSjtakeit
Veröffentlichte InhalteIn der Datenbank des CMS, abgerufen über dessen APIJSON in Ihrem Repository
Wie der Build sie bekommtEin API-Aufruf aus dem Build oder vom ServerEine Datei, die die Plattform für jeden Build zusammenstellt
Ein SpeichernEin aktualisierter DatensatzEin Commit; Entwürfe bleiben in der Datenbank der Plattform
Wo der Inhaber bearbeitetIn einer separaten Admin-AppDirekt auf der Seite, per Tippen auf den Text
Formulare, Buchungen, HostingAußerhalb des CMS, separat ergänztVon der Plattform betrieben, mit Abrechnung, Backups und Domain
Die Website, wie sie im März warHängt von der Historie des CMS abEin Befehl in git

03/ statischer Export

Statischer Next.js-Export auf jtakeit

Die Plattform baut jede Website auf dieselbe Weise: Sie führt den Build des Projekts aus und liefert dann den Ordner aus, den der Build schreibt. Next.js passt als statischer Export – HTML, das beim Build geschrieben wird, ohne laufenden Server, wenn jemand die Seite besucht.

next.config.mjs · package.json · public/_meta.json
// next.config.mjs
const site = new URL(process.env.SITE_URL ?? 'http://localhost:3000/');

export default {
  output: 'export',      // static HTML, no server at request time
  basePath: site.pathname.replace(/\/$/, ''), // '' live, '/p/<slug>' in preview
  trailingSlash: true,   // /about/index.html, not /about.html
  images: { unoptimized: true },
};

// package.json — the platform runs `npm run build` and serves dist/
"scripts": { "build": "next build && rm -rf dist && cp -R out dist" }

// public/_meta.json — copied into dist/ with the rest of public/
{ "immutable": ["/_next/static/"] }
Ein statischer Export schreibt standardmäßig in einen eigenen Ordner, deshalb kopiert das Build-Skript ihn in den Ordner, den die Plattform ausliefert.
lib/jtk.ts · app/page.tsx · app/robots.ts
// lib/jtk.ts — runs at build time, never in the browser
import { readFileSync } from 'node:fs';

const file = process.env.JTK_CONTENT_FILE;
export const published = file ? JSON.parse(readFileSync(file, 'utf8')) : null;

// data-jtk-path only when the platform asks for it
export const tap = (path: string) =>
  process.env.PUBLIC_JTK_ANNOTATE ? { 'data-jtk-path': path } : {};

// app/page.tsx
<h1 {...tap('blocks[0].title')}>{hero.title}</h1>

// app/robots.ts
export const dynamic = 'force-static';
const site = process.env.SITE_URL!.replace(/\/?$/, '/');
export default function robots() {
  return { rules: { userAgent: '*', allow: '/' },
           sitemap: new URL('sitemap.xml', site).href };
}
Lesen Sie die veröffentlichten Texte beim Build; annotieren Sie nur, wenn die Plattform es verlangt.

Bei jedem Build gesetzt

  • SITE_URLdie Adresse der Website: der Host für Canonical und Sitemap
  • PUBLIC_JTK_ANNOTATEwenn gesetzt, jedes Feld markieren, das der Inhaber bearbeiten darf
  • JTK_CONTENT_FILEwo die veröffentlichten Inhalte für diesen Build zum Lesen zusammengestellt wurden

Was der Build enthalten muss

  • Eine eigene Seite für jede Adresse – jede Seite in ihrem eigenen Ordner, keine lose HTML-Datei neben den anderen.
  • Assets, die unter der Vorschau-Adresse funktionieren. Eine Vorschau wird unter einem eigenen Pfad ausgeliefert, deshalb kommt der Basispfad aus der Adresse der Website, die die Plattform setzt.
  • Eine 404-Seite, die der statische Export für Sie schreibt.
  • Eine robots.txt, die Crawler hereinlässt, und eine Sitemap auf der Adresse der Website.
  • Ein Canonical auf diesem Host auf jeder Seite und nirgends ein noindex – die Plattform verweigert einen Build, der eines enthält.
  • Ein Caching-Hinweis, der die gehashten Assets von Next als unveränderlich markiert, damit sie dauerhaft gecacht werden.
  • Der Katalog dessen, was der Inhaber bearbeiten darf, von Hand oder mit Ihrem eigenen Tool geschrieben und von der Plattform geprüft. Formulare senden ihre Anfragen an die Plattform.

04/ von Ihrem Agenten geschrieben

Next.js – und Ihr Agent setzt die Vorgaben um

Astro ist das Scaffold, das jtakeit mitliefert. Für Next.js gibt es kein Starter-Projekt zum Klonen: Sie – oder Ihr KI-Agent, zum Beispiel Claude Code über den MCP-Server von jtakeit – richten das Projekt nach den dokumentierten Vorgaben ein, und die Plattform prüft es genauso wie jede andere Website.

Astro-ScaffoldStatischer Next.js-Export
AusgangspunktDas Astro-Scaffold von jtakeitIhr eigenes Next.js-Projekt
KatalogGeneriert und geprüft vom Katalog-Tool des ScaffoldsVon Hand oder mit Ihrem eigenen Tool geschrieben
Formulare und VorlagenEnthaltenBauen Sie selbst; Formulare senden Anfragen an die Plattform
AbhängigkeitenVorinstalliertVon Ihrem Build installiert
Ein BuildUnter einer MinuteEtwa 90 Sekunden

So funktioniert der Ablauf mit Claude Code →
Wie Bearbeitung im Astro-Scaffold deklariert wird →

05/ die Wahl

Das beste CMS für Next.js-Kundenwebsites wählen

Beginnen Sie damit, was die Website tun muss, wenn jemand sie besucht. Braucht sie zur Anfragezeit einen Server – Incremental Static Regeneration, API-Routen, Middleware, Server Actions oder pro Anfrage gerenderte Seiten –, ist jtakeit nicht das richtige Werkzeug: Es liefert ausschließlich statische Ausgabe aus, bei jedem Framework.

Lässt sich die Website vorab bauen, lautet die Frage, wer sie bearbeitet. jtakeit ist für Entwickler, deren Kunden ihre eigenen Texte ändern sollen – und sonst nichts –, ohne Sie anzurufen, und die Formulare, Buchungen, Abrechnung, Backups, Hosting und die Domain lieber nicht selbst betreiben.

Nicht auf Next.js festgelegt? Das Astro CMS für Kundenwebsites ist das mitgelieferte Scaffold und baut in unter einer Minute. Wie die git-basierte Bearbeitung mit jedem Generator funktioniert, steht auf der Seite Static CMS für Kundenwebsites.

06/ Fragen

Fragen zum Next.js CMS

Unterstützt jtakeit Next.js?
Ja, als statischer Export. Die Plattform führt den Build des Projekts aus und liefert den Ordner aus, den er schreibt; eine Next.js-Website passt also, wenn sie vorab als statischer Export gebaut und in diesen Ordner kopiert wird. Astro ist das Scaffold, das jtakeit mitliefert; bei Next.js richten Sie das Projekt selbst nach denselben dokumentierten Vorgaben ein.
Kann ich den App Router verwenden?
Der App Router kann einen statischen Export erzeugen, solange nichts auf der Website zur Anfragezeit einen Server braucht: keine Incremental Static Regeneration, keine Route Handler oder Server Actions, die pro Anfrage laufen, keine Middleware und kein Rendering, das von der Anfrage abhängt. Das ist eine Grenze des statischen Exports von Next.js selbst – prüfen Sie Ihre App anhand der Next.js-Dokumentation zum Static Export.
Gibt es ein offizielles Next.js-Starter-Projekt?
Nein. Es gibt kein Starter-Projekt, kein Plugin und kein SDK für Next.js. Das Scaffold von jtakeit ist Astro. Bei Next.js setzen Sie – oder Ihr KI-Agent – die dokumentierten Vorgaben um: Der Build schreibt in den Ordner, den die Plattform ausliefert, liest die veröffentlichten Texte aus einer Datei, die die Plattform vorbereitet, und der Katalog dessen, was der Inhaber bearbeiten darf, wird von Hand oder mit Ihrem eigenen Tool geschrieben und von der Plattform geprüft.
Wie lange dauert ein Build?
Etwa 90 Sekunden für eine Website, die nicht auf dem Astro-Scaffold basiert, weil der Build Ihre eigenen Abhängigkeiten installiert. Beim Astro-Scaffold sind die Abhängigkeiten vorinstalliert, und ein Build dauert unter einer Minute.
Wie bearbeitet der Kunde eine Next.js-Website?
Per Tippen auf den Text der Seite. Der Katalog der Website deklariert, welche Felder der Inhaber ausfüllen darf, und wenn die Plattform es verlangt, markieren Ihre Seiten diese Felder. Jedes Speichern ist ein Commit in Ihr Repository, und der nächste Build liest die veröffentlichten Texte aus der Datei, die die Plattform vorbereitet.
Was kostet es?
Registrieren, Bauen und Vorschau sind kostenlos. Sobald eine Website live geht, zahlen Sie einen Einkaufspreis pro Live-Website, monatlich oder jährlich, und berechnen Ihrem Kunden Ihren eigenen Preis – bei Next.js genauso wie bei Astro. Die Zahlen stehen auf der Preisseite.

07/ kostenlos testen

Testen Sie es an einer echten Kundenwebsite

Registrieren Sie sich im Panel und bauen Sie Ihre erste Kundenwebsite – mit dem Astro-Scaffold oder als statischen Next.js-Export. Einen Einkaufspreis zahlen Sie erst, wenn eine Website live geht.

Kostenlos testenadmin.jtakeit.com

  • Kostenlos, bis eine Website live geht
  • Danach ein Einkaufspreis pro Live-Website, ab €5 im Monat
  • Der Code bleibt in Ihrem git-Repository