Developer Docs

Kodit Developer Documentation

Database

All database operations are handled by GORM with AutoMigrate. There are no SQL migration files – schema changes are applied automatically when the server starts.

Making Schema Changes

  1. Update the GORM model structs in the infrastructure/persistence/ package
  2. GORM AutoMigrate will apply the changes on the next server start
  3. For destructive changes (dropping columns, renaming tables), you may need to handle the migration manually via a one-off script

Building

# Build the binary (downloads model + ORT library, builds with CGo)
make build

# Run tests
make test

# Run the smoke tests (requires Docker)
make test-smoke

# Run the server locally
make run

Releasing

Performing a release is designed to be fully automated. If you spot opportunities to improve the CI to help performing an automated release, please do so.

  1. Create a new release in GitHub.
  2. Set the version number. Use patch versions for bugfixes or minor small improvements. Use minor versions when adding significant new functionality. Use major versions for overhauls.
  3. Generate the release notes. <- this could be improved, because we use a strict pr/commit naming structure.
  4. Wait for all jobs to succeed, then the Docker image will be published.