GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - noormdev/noorm: Database Manager TUI, for those who are enthusiastic about raw SQL. Ships with a TS SDK.

BranchesTags
Open more actions menu

Latest commit

 

History

657 Commits
657 Commits

Folders and files

NameName
Last commit message
Last commit date
.agents/skills/opentui
.agents/skills/opentui
 
 
.changeset
.changeset
 
 
.claude
.claude
 
 
.github/workflows
.github/workflows
 
 
docs
docs
 
 
examples
examples
 
 
packages
packages
 
 
scripts
scripts
 
 
skills/noorm
skills/noorm
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.npmrc
.npmrc
 
 
.prettierignore
.prettierignore
 
 
.signalsignore
.signalsignore
 
 
CLAUDE.md
CLAUDE.md
 
 
CNAME
CNAME
 
 
LICENSE
LICENSE
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
TODO.md
TODO.md
 
 
bun.lockb
bun.lockb
 
 
bunfig.toml
bunfig.toml
 
 
docker-compose.test.yml
docker-compose.test.yml
 
 
eslint.config.js
eslint.config.js
 
 
install.sh
install.sh
 
 
package.json
package.json
 
 
tsconfig.json
tsconfig.json
 
 
tsconfig.sdk-types.json
tsconfig.sdk-types.json
 
 
tsconfig.test.json
tsconfig.test.json
 
 
tsup.cli.config.ts
tsup.cli.config.ts
 
 
tsup.markdown-plugin.ts
tsup.markdown-plugin.ts
 
 
tsup.prompts.config.ts
tsup.prompts.config.ts
 
 
tsup.sdk.config.ts
tsup.sdk.config.ts
 
 

Repository files navigation

noorm

Write SQL. Skip the ORM.

A SQL-first schema and change manager for PostgreSQL, MySQL, SQLite, and SQL Server.
Your schema lives in SQL files. noorm builds it, versions it, and keeps every environment in sync.

@noormdev/cli @noormdev/sdk CI license

Documentation · Getting started · Terminal UI · SDK


noorm's terminal UI: adding a config, creating the database, building the schema, fast-forwarding changes, and browsing the result in the schema explorer


Install

curl -fsSL https://noorm.dev/install.sh | sh

Or via npm:

npm install -g @noormdev/cli

The install script is fully transparent and open source — it downloads a prebuilt binary from GitHub Releases, built from this repository's source. It installs to a user-writable directory already in your PATH when possible, falling back to ~/.local/bin.

Corporate network? Use the GitHub mirror: curl -fsSL https://raw.githubusercontent.com/noormdev/noorm/master/install.sh | sh

Quick start

# Bootstrap a project — creates your identity and the db/sql/ and db/changes/ layout
noorm init

# Add a database config
noorm ui

If your project defines stage defaults, noorm config create --all creates one password-free config per stage without prompts. Supply passwords later through the TUI or NOORM_CONNECTION_PASSWORD when you connect. See headless config creation for single-stage creation and overrides.

For interactive setup, noorm config add opens the TUI for connection details and a live connection test. Choose [c] Config → [a] Add, then [r] Run → [b] Build to execute your SQL files.

With a config in place, everything else runs headlessly:

noorm run build             # Build the schema from SQL files
noorm change ff             # Apply pending changes
noorm db explore --json     # Inspect the database as JSON

In CI there is no TUI to fall back on, so bootstrap from NOORM_* environment variables instead:

noorm ci init --name ci     # reads NOORM_IDENTITY_* and NOORM_CONNECTION_*
noorm run build

For a defined operational workflow, pipelines run SQL steps fresh and keep separate run history. For example, with a close-period manifest declaring a period input:

noorm pipeline run close-period --period 2026-10
noorm pipeline history close-period --limit 20

See the SQL pipelines guide for the manifest and SQL files.

How it works

Migration tools make you describe your schema twice: once in the migrations that built it, and once in your head. The current state only exists if you replay every file in order.

noorm inverts that.

SQL files Are your current schema. A fresh database runs them and is done.
Changes Move an existing database from any state to current — forward/revert pairs that noorm tracks, checksums, and applies in order.
Stages Keep dev, staging, and production apart, with access roles per environment.
SDK Wraps it in a type-safe client — Kysely queries, stored procedures, and TVFs.

You write SQL. noorm executes it, tracks what ran, and keeps environments in sync.

Why noorm?

ORMs push you toward a surrogate ID on every table and join-heavy queries. Proper relational design uses inherited keys, basetype-subtypes, and compound constraints — things ORMs can't express, and that migration tools make painful to maintain.

noorm lets you write the SQL your database was designed for, then manages execution across environments.

Read the argument in full: The case for proper relational design

SDK

For programmatic access in your applications:

npm install @noormdev/sdk kysely

Build a dedicated database package with a domain class per area of your schema, each holding a typed Context. Kysely types mirror your database, integration tests run against a real one, and the same package works in servers, workers, and CLIs.

Building your SDK →

Coding agents

If you use an AI coding agent, install the noorm skill so it writes against the real conventions instead of guessing:

npx skills add noormdev/noorm/skills

It teaches the agent the SDK surface, the CLI's headless flags, template syntax, and config layout — the parts that are easy to get subtly wrong.

noorm also runs as an MCP server, behind per-channel access roles: admin at your terminal, read-only for the agent, or invisible entirely.

License

Apache License 2.0. See LICENSE and NOTICE.

About

Database Manager TUI, for those who are enthusiastic about raw SQL. Ships with a TS SDK.

noorm.dev

Topics

kyselymssqlmysqlnoormpostgresqlsqltuitypescript

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

8 stars

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.