Project status
Where krantho stands today, how to run it from source, and what the install commands in these docs refer to.
Krantho is in active development. This page says plainly what that means for you: what exists, what is not available yet, and how to run krantho today.
Where the project stands#
- The code is in one repository. The packages, the admin, the example apps and this site live in the
descoped/kranthorepository on GitHub. The repository is private for now. - The packages are not published.
create-kranthoand the@krantho/*packages are not on npm yet, sopnpm add @krantho/nextandnpx create-kranthodo not work today. - The site you are reading runs on krantho. Every page here, these docs included, is content in krantho's own content templates, edited in its admin.
APIs can still change before the first release. These docs describe the code as it is now, and are updated with it.
What the install commands mean#
The installation steps in these docs use the published packages the first release will provide — for example pnpm add @krantho/next or npx create-krantho my-site. They show how a project will install krantho, and the install pages link back here.
Until the first release, the packages exist only inside the repository, where the example apps use them from the workspace. The code you write — krantho.config.ts, krantho.collections.ts, the API and admin routes, your page templates — is the same either way. To try it now, run it from source.
Run krantho from source#
You need Node.js 22.9.0 or later, pnpm 10 (corepack enable provides it) and access to the repository.
# Needs access to the repository, which is private during development
git clone https://github.com/descoped/krantho.git
cd krantho
pnpm install
pnpm run build
# The reference example: the site on http://localhost:4002, the admin at /admin
cd examples/nextjs-shadcn
pnpm dev -p 4002
# On Node 26 the dev script fails (an open issue); run `pnpm exec next dev -p 4002`What each step does:
- Clone the repository. It holds the packages, the example apps and this site as one pnpm workspace.
- Install the dependencies with
pnpm installfrom the repository root. This also sets upbetter-sqlite3, the native driver behind the default SQLite store. - Build the packages with
pnpm run build. The example apps use the built output of each package, and this step also builds the admin. - Start the Next.js example in
examples/nextjs-shadcnon port 4002 withpnpm dev -p 4002. It is the reference for how a krantho site is wired. - Open the site and the admin. The site is at
http://localhost:4002, the admin athttp://localhost:4002/admin.
On first boot the example creates a SQLite database under .krantho/ in its directory and imports its markdown content into it. Edit a page in the admin, save it, and publish it to see the change on the site.
Every environment variable is optional for local development. The examples read a .env file at the repository root when there is one. With none set, the example starts with no sign-in, SQLite storage and a temporary session secret; AI enrichment reports that no LLM provider is configured until you choose one under Setup › AI provider in the admin or set an API key in the environment.
The other examples#
The repository holds the same example site built on several stacks. Each renders it from shared content and serves the same admin:
| Port | Directory | Stack |
|---|---|---|
| 4001 | examples/nextjs-mui/ | Next.js with Material UI |
| 4002 | examples/nextjs-shadcn/ | Next.js with Tailwind CSS |
| 4003 | examples/sveltekit-tailwind/ | SvelteKit with Tailwind CSS |
| 4004 | examples/sveltekit-shadcn/ | SvelteKit with Tailwind CSS |
| 4005 | examples/react-ssr/ | React with Vite and Express, server-rendered |
| 4006 | examples/react-spa/ | React with Vite, a single-page app |
Start one from its directory with pnpm dev, passing the port as -p <port> for the Next.js examples and --port <port> for the SvelteKit examples; the two React examples start on their own port. With just installed, just serve-nextjs-shadcn starts the reference example and just examples-dev starts them all.
Changing a package#
Package source lives in packages/*/src. After a change, run pnpm run build again (or build the one package with pnpm --filter @krantho/<name> run build); the running examples pick up the new output.
What comes next#
The first release is planned to publish the packages and the scaffolder to npm. From then on, the install commands in these docs work as written, and this page changes to say so.
Questions and answers
Can I install krantho from npm today?
No. Krantho is in active development, and its packages are not yet published to npm: installing create-krantho or any @krantho/ package fails today. The install commands in the documentation describe what the first release will use.
Until then, krantho runs from source: you build the packages in the krantho repository and run one of its example apps. The repository is private for now, so this works for collaborators. The project status page has the steps.