gize-core 0.4.0

Core domain model, conventions and manifest for the Gize framework.
Documentation

gize-core

Core domain model and conventions for the Gize framework.

Crates.io License

gize-core is the framework-agnostic heart of Gize. It knows nothing about Axum, SQLx, or the CLI — it only defines the shared vocabulary the rest of the workspace builds on:

  • Manifest — the typed representation of the gize.toml project manifest.
  • ModelSpec, Field, FieldType — how a model and its fields are described, including the Gize type → Rust type → PostgreSQL type mapping.
  • Naming conventions — pluralization and snake/Pascal case helpers so User maps to the users table consistently across every generator.

This crate is the abstraction seam that keeps alternative targets (e.g. a future non-Axum backend) feasible — see ADR-001.

Usage

[dependencies]
gize-core = "0.2"
use gize_core::{Field, FieldType, ModelSpec};

let spec = ModelSpec::new("Product", vec![
    Field::new("name", FieldType::String),
    Field::new("price", FieldType::I32),
]);

Part of the Gize workspace

Crate Role
gize-core Domain model & conventions (this crate)
gize-generator Codegen engine
gize-templates Templates for generated code
gize-db Data-layer conventions + migrations
gize The gize CLI

License

Licensed under either of Apache-2.0 or MIT at your option.