Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Project layout and modules

Project layout and modules

Database

every table, column and index a stable identity, so renaming a field renames its column instead of dropping it.

  • database/identities.jadpo_record is the identity registry. It gives every table, column and index a stable identity, so renaming a field renames its column instead of dropping it. It records renames, of data and code alike (Stable identity). The compiler maintains it, and it is committed and reviewed. It holds one sorted entry per line, so two branches that change the schema merge readably.
  • Committed generated files share one extension, .jadpo_record, and stay next to what they describe: api/<api>.jadpo_record, database/identities.jadpo_record, each translations/sources.jadpo_record and each installed package's surface.jadpo_record. Each is in Jadpo's readable format and starts with a line saying what wrote it and which command updates it. jadpo check regenerates it, and a hand edit is an error naming that command. jadpo.lock keeps its name. jadpo records lists them all and flags any that are out of date (What is committed, and why). Files people write, such as acceptances (a person's recorded acceptance of a breaking change, see Acceptances), aren't records.
  • Each schema change is a folder under database/migrations/, named by date, time and purpose. It holds your decisions on destructive changes, the generated SQL for each database, and any backfill of data written in Jadpo. The compiler keeps a record of the latest migration, so history stays linear.
  • database/seeds/ holds demonstration and development data for your machine.

Markdown for agents: /docs/database.md.Built from Jadpo main at a707efb.