Quick Start
Install instancez and have a Supabase-compatible API running in under 5 minutes.
Install
Section titled “Install”curl -fsSL https://get.instancez.ai | shInstalls inz to ~/.local/bin. Check it works: inz version.
curl -fsSL https://get.instancez.ai | shWorks on x86-64 and ARM64. Installs inz to ~/.local/bin. Check it works: inz version.
irm https://get.instancez.ai/windows | iexInstalls inz.exe to %LOCALAPPDATA%\instancez\bin. Run in PowerShell 5.1+. Check it works: inz version.
Need a manual download or more options? See the Installation guide.
Create a project
Section titled “Create a project”mkdir my-app && cd my-appinz initThis creates instancez.yaml (project name inferred from the directory) with a todos table, an avatars storage bucket, and a todos code function. Nothing touches the database yet.
Code functions run in Node.js workers, so the example function is only scaffolded when Node.js 22+ is on your PATH. Without it, inz init prints a warning and skips the function; everything else works the same.
Start the dev server
Section titled “Start the dev server”The quickest way to start is the Postgres that ships inside inz. You do not need to install or run a database yourself:
inz dev --embedded-pgThe first run downloads a Postgres 16 binary (about 30 MB) and keeps its data in ./pgdata/. Later runs reuse that directory. To start over from an empty database, add --reset-pg.
Or point at your own Postgres. If you already have a Postgres 14+ instance, drop the flag and set a superuser connection string:
export INSTANCEZ_DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgresinz devEither way, on first boot instancez provisions the Postgres roles it needs and writes a generated publishable key and secret key to .development.env. Both are printed in the inz dev startup output. Your API is live at http://localhost:8080, and saving instancez.yaml re-applies the schema automatically.
Get your publishable key
Section titled “Get your publishable key”Open the dashboard at http://localhost:8080/dashboard. The API Keys section shows your publishable key — copy it from there. (It’s also in the inz dev startup output and .development.env.)
Query your data
Section titled “Query your data”instancez speaks the same HTTP API as Supabase, so any Supabase client library works. Examples here use @supabase/supabase-js:
Your project starts with a todos table. Paste the publishable key you copied above:
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('http://localhost:8080', '<your-publishable-key>')
const { data, error } = await supabase .from('todos') .select('*')The scaffolded
todostable has auser_id = auth.uid()RLS policy, so rows are filtered by the authenticated user. To read without signing in, add a separate- operations: [select]policy withusing: "true"ininstancez.yaml. Don’t loosen the existing policy: it also covers insert, update, and delete, sousing: "true"there would open writes to anyone.
Building with a coding agent
Section titled “Building with a coding agent”The repo ships an agent skill that teaches coding agents the YAML syntax, RLS patterns, and the inz CLI:
npx skills add instancez/instancezSee Coding Agents for Claude Code plugin install, per-agent flags, and the manual route.
What’s next
Section titled “What’s next”- Tables / Schema — add tables, columns, and enums
- Auth — sign up, sign in, OAuth, MFA
- Querying — filters, embeds, pagination, aggregates
- Deploy — run in production