Skip to content
CAI
Software that uses CAICheck a score

catfan/Medoo

63.8

Adequate · 19 September 2026

2.3k

lines of production code

PHP

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a PHP library wrapper for the Medoo database framework, designed to provide static analysis support and comprehensive testing for database operations. It integrates PHPStan stubs to enforce type safety for Medoo's API and includes an extensive PHPUnit test suite that validates CRUD operations, schema management, and SQL generation across multiple database engines. The project establishes a standardized development environment with strict coding standards and dependency management for PHP 7.3+.

Features

Added PHPStan stub for Medoo library

A new PHPStan stub file (Medoo.stub) has been added to provide static analysis metadata for the Medoo database library. This includes PHPStan type definitions for parameters, query logs, column metadata, rows, and conditions, as well as the class structure, enabling stricter type checking for code using Medoo.

phpstan · high confidence

Repository initialization with comprehensive project configuration and documentation

The repository has been initialized with a complete project structure, including a detailed README.md featuring installation instructions, usage examples, and multi-language documentation links. The project is configured for modern PHP development with a .php-cs-fixer.dist.php file enforcing PSR-2/PSR-12 standards, PHPUnit 13 configuration for testing, and PHPStan static analysis configs for both source (PHP 7.3+) and test (PHP 8.4) codebases. A MIT license file and .gitattributes/.gitignore files are also included to standardize development workflows.

(repo-wide) · high confidence

Behavioural changes

Medoo v2.2.1 release introduces Raw object support and query logging

This update to the Medoo database framework adds the ability to use the Medoo::Raw object in column selections, join conditions, and WHERE clauses, allowing for more complex SQL expressions while maintaining prepared statement safety. It also introduces a debug logging mode that captures readable SQL statements for easier troubleshooting, and improves the get() method to return NULL instead of False when no records are found, ensuring more consistent return types for application logic.

src · high confidence

Test coverage

Comprehensive PHPUnit 13 test suite for Medoo

Added a new, extensive test suite covering the core Medoo database operations, including aggregate functions (count, max, min, avg, sum), data mapping with type casting, connection validation (charset/collation), CRUD operations (create, read, get, insert, update, delete, replace), and schema management (drop, quote). The tests verify correct SQL generation across multiple database types (MySQL, PostgreSQL, SQLite, MSSQL, Oracle, Sybase) and ensure compatibility with PHPUnit 13.

tests · high confidence

Dependencies

Initial release of Medoo PHP database framework

This change introduces the composer.json manifest for the Medoo library, establishing it as a lightweight PHP database framework. It defines the project's metadata, including the MIT license and author information, and sets the minimum PHP version requirement to 7.3 with a dependency on the PDO extension. The package is configured for PSR-4 autoloading, mapping the Medoo namespace to the src/ directory and test classes to tests/. Development dependencies are specified for PHPUnit 13 and PHPStan 2.2, along with scripts for running static analysis and tests.

(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

Baseline

  • First survey — no prior run to compare against. CAI 64.

Lenses

  • Code Health 74
  • Architecture 100
  • Maturity 49
  • Readiness 68
  • Security 100

Changes since last survey

  • 300 commits — 204 feature/other, 96 fixes

By area

  • src/Medoo.php — 224 commits
  • (root) — 31 commits
  • (repo) — 18 commits
  • .github/workflows — 7 commits
  • .github/ISSUE_TEMPLATE — 4 commits
  • tests/WhereTest.php — 3 commits
  • .github/FUNDING.yml — 2 commits
  • tests/MedooTestCase.php — 2 commits
  • tests/SelectTest.php — 2 commits
  • tests/CreateTest.php — 1 commit
  • tests/DropTest.php — 1 commit
  • tests/HasTest.php — 1 commit
  • tests/InsertTest.php — 1 commit
  • tests/QueryTest.php — 1 commit
  • tests/QuoteTest.php — 1 commit
  • tests/UpdateTest.php — 1 commit

Notable commits

  • fix: Fix LIMIT syntax error while performing get operation on MSSQL
  • fix: Merge pull request #819 from jfcherng/fix-readme-package-name
  • fix: [fix] Casting Null to Int gives 0 #721
  • fix: [fix] Check table name for tableQuote()
  • fix: [fix] Clear up statement before executing query #886
  • fix: [fix] Code syntax error #895
  • fix: [fix] Conflict LIKE clause key #1111
  • fix: [fix] Create with single definition
  • fix: [fix] Data type conversion for select() with single column #880
  • fix: [fix] Duplicated table prefix for create() #963
  • fix: [fix] Error having no host or server connection options.
  • fix: [fix] Error information for statement #881
  • fix: [fix] Error map key while output IN data #698
  • fix: [fix] Error on buildJoin
  • fix: [fix] Error rand() for MSSQL #991
  • fix: [fix] Fix #690 incorrect AND and OR key detection on where clause
  • fix: [fix] Fix 6821eb commit
  • fix: [fix] Fix and improve dimension array comparison with where clause
  • fix: [fix] Fix buildRaw type
  • fix: [fix] Fix column and table name with single character only #981 #983
  • …and 280 more

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

Survey your own repository

catfan/Medoo 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 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit f0e443d420d6844c89da18b0420918739ddb2d5d — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.