Skip to main content
repost schema init creates a repost/ directory with a working starter schema, a .env file with the two credential placeholders, and the matching .gitignore entries. The starter schema is canonically formatted and generates as-is.

Usage

Run bare on a terminal, it prompts for the SDK language and output directory. With any argument, or outside a terminal, it runs headless with the flags below, so scripts and CI never see a prompt.

Options

What it does

  1. Validates the options. A Go or Python init without --output is refused, and a Java or Kotlin init missing arguments reports every missing flag in one error, writing nothing.
  2. Refuses to run if repost/ already exists: `repost/` already exists — refusing to overwrite an existing workspace.
  3. Writes repost/schema.repost with a starter user.created event and the generator block for your language.
  4. Adds REPOST_SEND_API_KEY="" and REPOST_TOKEN="" placeholders to .env, and .env plus the engine’s state directories to .gitignore. Existing lines are never clobbered or duplicated.
  5. Prints language-specific next steps.
Exit code 1 on any refusal, 0 on success.

Example

A JVM init also prints the managed source and resource roots, the compatible runtime and plugin coordinates, and the import line for your generated client:

Continue

migrate dev

Record the starter schema as your first migration.

languages

The supported languages and their defaults.

Schema workflow

The full init to deploy walkthrough.