Katnip is a minimal full-stack, edge-first framework for building isomorphic React apps.
Katnip is a minimal full-stack, edge-first framework for building isomorphic React apps.
It uses Mikrokat for server and deployment functionality, and adds:
- Isomorphic React rendering, (SSR + hydration). (Using ISOQ).
- Database access layer and automatic schema migration. (Using QQL).
- Database admin. (Using Quickmin).
- Direct server function calls from the client (JSON-RPC).
Katnip aims to let you build and deploy immediately while staying lightweight and easy to understand.
mkdir my-app
cd my-app
npx katnip init
You might also want to install the katnip
command line tool globally:
npm install -g katnip
Using npm:
npm install
You can also use yarn
or pnpm
, of course. If you use pnpm
you need to approve builds using:
pnpm approve-builds
This is because katnip uses better-sqlite3
for local development.
npm start
Your app will be available at http://localhost:3000.
And you can find the database admin at http://localhost:3000/admin.
The default username and password is admin
/admin
.
To add support for an edge platform, run:
katnip init --platform=cloudflare
To run your app in a simulated edge envirunment, run:
katnip dev --platform=cloudflare
Then, to deploy:
katnip deploy --platform=cloudflare
In the examples above, cloudflare
is the edge provider.
Supported edge providers are cloudflare
, vercel
, fastly
and netlify
.
By default, a Katnip project has:
my-app/
src/
main/
index.jsx # Client entrypoint
server.js # Server entrypoint
quickmin.yaml # Database schema
katnip.json # Project configuration
Also, see the default katnip.json
file for information about how to enable features.
Katnip has plugin support. Plugins are installed as regular npm packages, and Katnip will auto-discover them, so no further installation is needed. Available plugins:
- katnip-payment - Enables stripe payments.