Recipes

Step by step for the changes contributors make most often, each pointing to the script or make target that does the work.

Each recipe is the short path through a recurring change. The rules behind the steps live in the AGENTS.md at the root and in the directory you change; the recipe tells you which commands to run and what to check.

Reviewing a change rather than making one? See the review checklists.


Add a migration

Add a schema change that upgrades and rolls back cleanly, with the checks the migration tests enforce.

Record a change: changelog and docs

Write the changelog fragment and the docs a pull request needs to pass the changelog and docs guards and the release cut.

Backport to a release branch

Carry a change merged to main into release-X.Y so the next patch ships it, in the shape release-gap.sh recognizes.

Add a configuration setting

Add a server setting that binds from DEXAFLOW_* and LEOFLOW_*, fails fast on a bad value, and is documented in the configuration reference.

Add or change an /api/v2/ endpoint

Change the public HTTP API without breaking the Airflow UI, starting from the OpenAPI document and ending with a guarded, tenant-scoped handler.

Add a Helm value

Add a chart value with its doc comment, its template, a unit test and a regenerated README, keeping upgrades from the previous chart working.

Add a CLI command or flag

Add a dexaflow command or flag, regenerate the CLI reference, and keep every command written in the docs runnable.

Add a connector

Add a connection type to the generated connector catalog from a pinned Airflow provider, and prove the connection reaches the task.

Cut a release candidate

The short path through an rc cut. RELEASING.md has the full flow and the recovery steps; scripts/cut-release.sh does the work.

Fix a bug

Reproduce the bug in a test that fails, fix it, and prove the test would catch it coming back.

Fix a flaky end-to-end job

Tell an infrastructure transient from a race in the test or the product, reproduce it, and fix the cause instead of retrying past it.