Skip to content
CAI
Software that uses CAICheck a score

AngelMunoz/Migrondi

67.0

Adequate · 3 October 2026

9.4k

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Migrondi is a cross-platform database migration tool that provides a CLI, a core library, and a desktop UI for managing schema changes across SQLite, SQL Server, PostgreSQL, and MySQL. It enables users to create, apply, and roll back migrations with transaction support, dry-run previews, and flexible configuration via CLI arguments or environment variables. The system also includes an Avalonia-based interface for interactive migration editing and an MCP server for AI integration, all built on modern .NET versions with comprehensive test coverage.

Features

Add interactive sample script for Migrondi usage

A new F\# script (script.fsx) has been added to the samples directory to demonstrate how to use the Migrondi migration library. The script shows how to initialize the Migrondi configuration, create a new migration with up and down SQL statements, and perform a dry run to preview pending changes before applying them to the database.

samples/scripts · high confidence

Added SQLite sample project with user profile schema and migrations

A new SQLite sample project has been added to the samples/sqlite directory, providing a working example for testing and development. This includes a configuration file (migrondi.json) that sets up the SQLite driver and migration tracking, along with SQL migration scripts to create the initial database schema. The schema defines a users table (with name, email, and password fields) and a profiles table linked to users, which also supports an optional profile picture column.

samples/sqlite · high confidence

Core library rewritten with new database, file system, and serialization abstractions

The core library has been rebuilt from scratch, introducing new internal abstractions for database interactions (IMiDatabaseHandler), file system access (IMiFileSystem), and migration serialization. This new architecture supports multiple database drivers (SQLite, PostgreSQL, MySQL, MSSQL) with specific SQL dialects, allows for custom migration sources via IMiMigrationSource, and implements a new V1 migration file naming schema (timestamp\_name.sql). The service now exposes both synchronous and asynchronous methods for all operations, including support for manual transactions and cancellation tokens.

src/Migrondi.Core · high confidence

Migrondi project initialization and repository restructuring

The repository has been restructured into the Migrondi project, introducing a new SQL migrations tool with a CLI, a core library, and a desktop UI (MigrondiUI) that supports SQLite, SQL Server, PostgreSQL, and MySQL. The \init\ command now safely creates project configuration without overwriting existing files, and the tool supports applying and rolling back migrations via transactions. The UI component includes an Avalonia-based desktop app and an MCP server mode for AI integration. The project has migrated to central package management, updated to .NET 10 for testing and .NET 9/10 for apps, and upgraded Avalonia to version 12. A high-severity SQLite vulnerability has been addressed by updating dependencies.

(repo-wide) · high confidence

MigrondiUI project integration and new UI components

The MigrondiUI project has been merged into the main repository, introducing a suite of new Avalonia-based UI components for managing database migrations and virtual projects. Users can now create and edit migrations with an interactive editor that supports SQL syntax highlighting and live status tracking (Applied vs. Pending). The interface includes a toolbar for running migrations in dry-run or live modes, forms for creating and configuring virtual projects (supporting SQLite, PostgreSQL, MySQL, and MSSQL), and detailed views for project settings. Additionally, an MCP (Model Context Protocol) server has been added, exposing tools to list and inspect local and virtual projects via HTTP.

src/MigrondiUI · high confidence

Removals

Removed initial database migration scripts

The initial database migration files (V0, V1, and V2) that defined the schema for the Migrations and Todos tables have been removed from the project. This deletion eliminates the SQL definitions for creating the core tables and adding the Date column to the Todos table.

migrations · high confidence

Behavioural changes

Migrondi CLI restructured with new commands and configuration options

The Migrondi command-line interface has been reorganized into a new command structure, introducing dedicated commands for initialization (init), creating new migrations (new), applying migrations (up), rolling back migrations (down), listing migration status (list), and checking individual migration states (status). The CLI now supports dry-run modes for up and down commands via the --dry flag, allowing users to preview changes without executing them. Configuration can be provided through command-line arguments (connection string, migrations directory, table name, driver) or environment variables (MIGRONDI\_CONNECTION\_STRING, MIGRONDI\_MIGRATIONS, MIGRONDI\_TABLE\_NAME, MIGRONDI\_DRIVER), with CLI arguments taking precedence over environment variables, which in turn override the local migrondi.json configuration file. The init command now supports --force and --merge flags to handle existing configurations, and the new command supports --manual-transaction to create migrations that won't be wrapped in transactions.

src/Migrondi · high confidence

Test coverage

Added comprehensive test suite for database, file system, and serialization operations; Initial test suite for MigrondiUI components and services.

Dependencies

Migrate to .NET 8/9/10 and adopt central package management

The project has been modernized to target .NET 8, 9, and 10, replacing the legacy .NET Core 3.1 build. Dependency management is now centralized via Directory.Packages.props, standardizing versions for key libraries including Avalonia 12, ModelContextProtocol 1.4.0, and the Microsoft Data providers. The legacy Sqlator project and its Dapper dependency have been removed, with the core library now relying on Microsoft.Data.SqlClient, Microsoft.Data.Sqlite, Npgsql, and MySql.Data for database operations.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 67 → 67 (+0.3)
  • Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 93 → 93 (+0.0)
  • Architecture 100 → 100 (+0.1)
  • Maturity 62 → 62 (-0.0)
  • Readiness 61 → 61 (+0.6)
  • Security 71 → 71 (+0.0)

Resolved (1)

  • Duplicated block (126–127 lines × 2) (src/Migrondi.Core/Database.fs)

New (5)

  • Banned license: MySql.Data
  • Documentation: no project overview (README.md)
  • Duplicated block (126–127 lines × 2) (src/Migrondi.Core/Database.fs)
  • Outdated: Ionide.KeepAChangelog.Tasks
  • Outdated: coverlet.collector

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

AngelMunoz/Migrondi was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 63cb1ce5a5fc21b208e10527318bd5531ab34d34 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-351388015767.