No description
  • TypeScript 98.4%
  • JavaScript 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-04 15:54:16 +02:00
packages time fixes 2026-09-04 15:54:16 +02:00
.gitignore hello github 2022-12-26 23:46:28 +01:00
grimo.code-workspace hello github 2022-12-26 23:46:28 +01:00
pnpm-lock.yaml rewrite select generator. view support in query builder. rename config file. factor/improve CodeBuilder. fix orderBy. fix DbFormat. add basic select tests. 2023-03-19 13:56:55 +01:00
pnpm-workspace.yaml hello github 2022-12-26 23:46:28 +01:00
README.md testing unions 2023-03-19 23:38:05 +01:00

Grimo

Postgres-first data framework

⚠️ Under heavy construction, pre-alpha state! ⚠️

⚠️ Working directly on master branch - I will break it! ⚠️

  • Automatically build an API from your database schema and use it directly on the front-end.
  • Stop writing boilerplate HTTP endpoints. Your database has tables, views, and functions.
  • Stop using ORMs, micro-ORMs, & mappers. Your database has types.
  • Stop writing authentication & authorization middleware. Your database has row-level security.
  • A relational database is a great place for "business logic".

Similar Projects

These are much more mature, consider them instead!

Most of these libraries are meant for server-side DB access. Grimo is focused on eliminating the server-side as much as possible (similar to Supabase).

Roadmap

Basic features

  • Schema discovery
  • Strongly typed API generator
  • SELECT and function query builder
  • OpenAPI document generation
  • Example project
  • Tests

Basic SQL operations (@grimo/db-transport)

  • Select queries
  • Inserts
  • Updates
  • Deletes
  • Function calls

Query Builder (@grimo/api-client)

  • Selects
  • Inserts
  • Updates
  • Deletes
  • Function calls
  • Support native Date, BigInt in generated types & queries, convert in/out of transports
  • Joins
  • DISTINCT
  • COUNT
  • GROUP BY
  • Properly type views with updatable/insertable
  • Strongly typed .where values

Schema Discovery & Metadata

  • Tables
  • Views
  • Functions
  • Composite types
  • Enums
  • Domains
  • Primary keys
  • Foreign keys
  • pg_tagged_unions support
  • Binary data types

Middleware

  • middleware-express
  • middleware-koa
  • middleware-hattip
  • middleware-fastify
  • middleware-bun
  • middleware-elysia
  • middleware-hono

Transports

  • transport-web
  • transport-db (partial)
  • transport-supabase (experimental)

Backlog

  • Investigate decoupling from pg-promise - unsure about deno support. postgres supports all three runtimes but does not provide necessary standalone escaping/formatting
  • generate-rescript package
  • Reusable authentication & authorization
  • Realtime streams
  • Tooling/guidance on schema diffing migrations
  • Investigate making a stand-alone server package
  • build-schema package for simple conventional concat/config of .sql files