# Triplex > The database that remembers why: an embedded fact database for TypeScript back-office systems. Every write records who made it, which versioned rules governed it, and when it was true, so audit questions and open work become queries. Triplex is pre-1.0; install with `npm install @triplex-build/triplex effect@4.0.0-rc.112`. Triplex requires Effect 4 (`effect@4.0.0-rc.112`; Effect 3 is not compatible), is ESM-only, and targets Node.js 22+ plus modern browsers and edge runtimes for the core. In-memory and SQLite storage are supported, PostgreSQL is a production candidate, and Cloudflare and FoundationDB are experimental. Coding agents modeling a back-office domain should read the modeling guide first. Every page is available as Markdown by appending `.md` to its URL. Code on the homepage and in the modeling guide is type-checked and executed in CI. ## Overview - [Homepage](https://triplex.build/index.md): An embedded fact database for TypeScript back-office systems. Every write records who made it, which versioned rules governed it, and when it was true. ## Start - [Getting started](https://triplex.build/getting-started.md): This guide writes three facts to an in-memory Triplex database, joins them with Datalog, and prints the result. - [Modeling a back-office domain](https://triplex.build/agents.md): A prescriptive guide for coding agents modeling a back-office domain with Triplex. It maps domain concepts to primitives and lists the rules every command should follow. - [Playground](https://triplex.build/playground.md): Run an in-memory Triplex database, Datalog queries, and transactions in your browser. - [Core concepts](https://triplex.build/concepts.md): Triplex stores facts, not mutable rows. - [Current state](https://triplex.build/current-state.md): This document is the concise maturity contract for Triplex as of September 2026. ## Learn - [Datalog](https://triplex.build/datalog.md): Triplex exposes bounded Datalog pages through `Triples.query` and a wrapped form through `Triples.queryPage`. - [Configuration releases and rollback](https://triplex.build/configuration-versioning.md): This walkthrough defines a typed course schema, publishes two immutable releases, promotes them through refs, pins operational writes to the actual returned snapshot IDs, inspects history, and rolls `live` back. - [Derivations](https://triplex.build/derivations.md): `@triplex-build/triplex/derivation` turns structural Datalog results into content-addressed candidates with explicit identity, provenance, temporal basis, and configuration identity. - [Source provenance](https://triplex.build/provenance.md): Triplex began as the database subsystem of an earlier private application repository. ## Reference - [Typed configuration](https://triplex.build/configuration.md): Triplex configuration is immutable, typed, and content-addressed. - [Operational Primitives](https://triplex.build/operational-primitives.md): Triplex is a durable substrate for applications that need temporal facts, derivations, and audit. - [Configuration-derived HTTP API](https://triplex.build/http-api.md): `@triplex-build/triplex-http` turns a persisted `ConfigSnapshot` into runtime request/response schemas, an Effect `HttpApi`, OpenAPI 3.1, and REST handlers. - [Performance](https://triplex.build/performance.md): Triplex is pre-1.0 and does not yet publish a production performance guarantee. ## Operate - [CLI and dashboard](https://triplex.build/tools.md): Triplex includes two operator tools: a published JSON-first CLI for repeatable commands and a browser dashboard for interactive exploration. - [Triplex data explorer](https://triplex.build/explorer.md): Explore a live in-memory Triplex database in an Airtable-like grid, JSON editor, and transaction diff viewer. - [Host integration](https://triplex.build/host-integration.md): Triplex can provide the fact, temporal-query, configuration, derivation, and audit substrate for an application that also owns relational operational records. - [Troubleshooting and FAQ](https://triplex.build/troubleshooting.md): Answers to common failures, including npm 404s, missing Effect services, empty queries, 100-row pages, which clock to set, duplicate command IDs, unenforced constraints, and stale projections. - [Releasing Triplex](https://triplex.build/releasing.md): Triplex uses Changesets for one coordinated package-family release. ## Backend blueprints - [Your database. Triplex's memory.](https://triplex.build/backends.md): Explore how SQLite, FoundationDB, Datomic, and XTDB primitives can support a Triplex storage layer, with implementation paths and explicit maturity labels. - [Building Triplex on SQLite](https://triplex.build/sqlite.md): A working blueprint for an embedded Triplex storage layer using SQLite rows, indexes, and atomic SQL transactions. - [Building Triplex on FoundationDB](https://triplex.build/foundationdb.md): An experimental Triplex storage blueprint that maps ordered byte keys and atomic FoundationDB transactions to the existing hexastore runtime. - [Building Triplex on Datomic](https://triplex.build/datomic.md): A proposed Triplex adapter blueprint using Datomic assertion entities, immutable database values, and atomic compare-and-swap submission. - [Building Triplex on XTDB](https://triplex.build/xtdb.md): A proposed Triplex adapter blueprint for XTDB's current SQL and bitemporal primitives, including non-interactive writes and stable read boundaries. ## Project - [Custom runtimes](https://triplex.build/custom-runtimes.md): `@triplex-build/triplex/runtime` is the public adapter-authoring surface in this source checkout. - [Triplex roadmap](https://triplex.build/roadmap.md): This document outlines strategic enhancements to make `@triplex-build/triplex` a world-class, open-source triple store and Datalog engine. ## Optional - [Datalog pagination and performance](https://triplex.build/datalog-performance.md): `Triples.query` and `Triples.queryPage` return at most 100 bindings by default.