Workflow: Model · Understand · Connect · Generate

See your architecture before you ship it.

Design systems visually, understand relationships and impact, then turn your architecture into deterministic, production-ready code.

For macOS on Apple silicon. Windows and Linux are planned.

Model

Architecture you can actually see.

Each entity is a YAML file with stable IDs. The Schema Graph draws the same model, so a relationship is visible the moment you write it.

Text and graph stay one model
Edit the YAML or edit on the graph. Adding fields, relations and renames on the canvas writes back to the same files.
Edges start where the dependency lives
Relations are drawn from the field that owns them, so you can tell which field links Employee to Department.
Everything about an entity in one place
The Inspector shows the stable ID, source file, fields, and every field elsewhere that references it.

Understand

Change with confidence.

Change the model. Understand the impact. Then decide what to regenerate.

Every change has a risk
Changes are compared to your last saved model by identity and marked safe, review or destructive. A rename stays a rename.
See which files a change touches
Affected outputs turn Out of date with the reason. Preview Changes lists the exact files and diffs before you regenerate.
Nothing regenerates on its own
Outputs change only when you choose Regenerate. Until then, the last generation stays as it was.
  • Up to dateMatches the current schema and configuration.
  • Out of dateSomething changed, and the reason is shown.
  • Not generatedConfigured, waiting for its first run.
  • DisabledKept in the project, skipped for now.

Generate

From architecture to working software.

Derived turns the schema into code, using the generator and conventions you choose. Outputs are stored in .schema-studio/derived and change only when you regenerate.

  1. 01 · Schema

    src/schema/*.yaml

    Entities, fields and relations. The single source of truth.

  2. 02 · Generator

    NestJS

    Chosen for the stack this project targets.

  3. 03 · Preset

    NestJS Standard

    Shared conventions, with project-level configuration on top.

  4. 04 · Derived output

    NestJS API

    Read-only files with a record of exactly what produced them.

Built-in generators

Add as many as the project needs from Add Generator…. Each one is versioned, so an update marks its output Out of date instead of changing files silently.

Generators included with Skimabase
GeneratorProduces
NestJSDTOs, entities, services, controllers and modules
TypeScript Typestypes.ts
Zod Validationschemas.ts
OpenAPI DocumentOpenAPI 3.1, YAML or JSON

Deterministic

Deterministic by design.

Same schema. Same generator. Same result.

Schema+Generator+Preset+Generator Version=Derived Output

Generated files contain no timestamps or random values and are sorted by path. Each generation records a signature of its inputs, so Skimabase can tell you whether output is current without guessing.

src/customers/dto/create-customer.dto.ts
1import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
2import { IsDateString, IsIn, IsOptional, IsString } from "class-validator";
3
4export class CreateCustomerDto {
5 @ApiProperty()
6 @IsString()
7 name!: string;
8
9 @ApiProperty()
10 @IsString()
11 email!: string;
12
13 @ApiProperty({ enum: ["active", "suspended"] })
14 @IsIn(["active", "suspended"])
15 status!: "active" | "suspended";
16
17 @ApiPropertyOptional({ format: "date-time" })
18 @IsOptional()
19 @IsDateString()
20 createdAt?: string;
21}

Connect

One model. Every module reads it.

The graph, change review, database connections, migration planning and code generation all work from the same schema. Use the parts your project needs.

schema-studio.yaml · src/schema/*.yaml

The schema every module shares

  • Schema Graph

    Visual editing with Auto Layout, entity search, and a Relations Only view for large models.

  • Changes

    An identity-based diff against your saved model, with a risk for every change.

  • Derived

    NestJS, TypeScript, Zod and OpenAPI output from presets you can share across a project.

  • Connections

    Inspect PostgreSQL and Supabase PostgreSQL, compare actual with desired, and apply reviewed plans that create missing tables. SharePoint inspection is read-only.

  • Migration

    Plan a migration to a SQL Server 2022 compatible target and preview the T-SQL. No SQL is executed.

  • AI

    Generate a first model from a product brief or ask for edits. Proposals arrive as YAML for you to review.

    Optional · your OpenRouter key

Scale

Designed for real systems.

Models grow. Skimabase keeps them legible, reviewable and safe to change as they do.

The HR model from Skimabase’s test fixtures: 8 entities, 16 relations.
Stable identity
Entities and fields carry IDs that survive renames, so diffs and generated code follow the change.
Plain files
One YAML file per entity. Review the model in pull requests like any other code.
Layout kept apart
Graph positions live in .schema-studio/layouts. Moving a node never changes the model.
Problems before output
Schema errors appear in Problems with their source, and Derived won’t generate from an invalid schema.
Explicit apply
Database changes are previewed and applied only when you say so. Apply never runs on save, compile or inspect.
Local projects
A project is a folder on your disk. AI conversations are kept in the project, not on a server.

Workspace

Built like an IDE.

Flat, dense and keyboard-driven. Explorer, editor tabs, Inspector, Problems and a status bar work the way your editor already does.

  • Quick Open⌘P
  • Command Palette⌘⇧P
  • Toggle Inspector⌘⌥B
  • Keyboard Shortcuts⌘⇧/

FAQ

Questions, answered.

Design the system. Understand the impact. Generate the code.

Architecture first. Implementation follows.