Skip to content
CAI
Software that uses CAICheck a score

DualBrain/qbasic

49.1

Weak · 1 October 2026

84.8k

lines of production code

VB.NET

with Vba

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a QBasic compiler and compatibility layer built on .NET 10, designed to parse, analyze, and execute legacy QBasic source code. It provides a foundational runtime environment that implements core language features, including syntax tokenization, expression evaluation, and basic I/O operations, while maintaining backward compatibility with legacy QBasic functions. The project also includes a suite of unit tests to validate the compiler's correctness and a collection of sample programs demonstrating graphics, games, and utility capabilities.

Features

Initial QBasic compiler and compatibility layer scaffolding

This change introduces the foundational structure for the QBasic compiler within the \src/qbasic\ area. It adds the core code analysis components, including a new \Parser\, \Scanner\, and \SyntaxKind\ enumeration to handle QBasic-specific syntax and tokenization. Additionally, it establishes a compatibility layer (\qbasic.compatibility\) that provides stub implementations for legacy QBasic runtime functions such as \SWAP\, \QBAsc\, \INP\, \OUT\, and type-conversion routines (\CVI\, \CVS\, \CVD\), enabling the environment to recognize and process basic QBasic constructs.

src/qbasic · high confidence

New collection of BASIC graphics and game samples

Added several new sample programs to the samples directory, including 3D graphics demos (3DGALLERY3.BAS, CUBEY.BAS), visual effects (DRMESMER.BAS, FERN.BAS, FLAMES.BAS, METABALLS.BAS, MOIRE.BAS, MYSTIFY.BAS, PLASMA.BAS), and classic games (GORILLAS.BAS, NIBBLES.BAS, RACE20.BAS, RAYCAST.BAS, RAYTRA1B.BAS). Also included utility and test samples (DEC512A1.BAS, RANDOM.BAS, SCOPETEST.BAS, SINCOS.BAS) to demonstrate various language features and capabilities.

samples · high confidence

Test coverage

Added test for sound functionality and updated project documentation; Initial unit test suite for QBasic code analysis and evaluation.

Dependencies

Migration to .NET 10 and updated test infrastructure

The project has been upgraded to target .NET 10 across its core components (QBasic, QB.Compatibility, Basic) and the new vbcompare testing tool. The test project now utilizes xUnit 2.9.0, xunit.runner.visualstudio 2.8.2, and Microsoft.NET.Test.Sdk 17.11.1, while the main QBasic application references Mono.Cecil 0.11.5 and the vbcompare tool uses Microsoft.CodeAnalysis.VisualBasic 4.10.0.

(dependencies) · high confidence

Housekeeping

Initial project structure and coding standards

The source directory now includes a solution file defining the project structure (QBasic, vbPixelGameEngine, vbcompare, Basic, QB.Compatibility, and tests) and an .editorconfig file that enforces consistent coding conventions, indentation, and formatting rules for C\# and VB.NET files across the codebase.

src · 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 48 → 49 (+0.8)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 76 → 76 (+0.0)
  • Architecture 92 → 94 (+2.3)
  • Maturity 38 → 41 (+2.2)
  • Readiness 33 → 33 (+0.0)
  • Security 100 → 100 (+0.0)

Resolved (10)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Hotspot: src/qbasic.compatibility/Video.vb (src/qbasic.compatibility/Video.vb)
  • Hotspot: src/qbasic/Basic/Interactive/Interactive.vb (src/qbasic/Basic/Interactive/Interactive.vb)
  • Hotspot: src/qbasic/QB/CodeAnalysis/Binding/BoundNodePrinter.vb (src/qbasic/QB/CodeAnalysis/Binding/BoundNodePrinter.vb)
  • Hotspot: src/qbasic/QB/CodeAnalysis/DiagnosticBag.vb (src/qbasic/QB/CodeAnalysis/DiagnosticBag.vb)
  • Hotspot: src/qbasic/QB/CodeAnalysis/QBasicRuntimeException.vb (src/qbasic/QB/CodeAnalysis/QBasicRuntimeException.vb)
  • Hotspot: src/qbasic/QB/CodeAnalysis/Syntax/GwBasicToQBasicRewriter.vb (src/qbasic/QB/CodeAnalysis/Syntax/GwBasicToQBasicRewriter.vb)
  • Hotspot: src/qbasic/QB/CodeAnalysis/Syntax/SyntaxTreeRewriter.vb (src/qbasic/QB/CodeAnalysis/Syntax/SyntaxTreeRewriter.vb)
  • Hotspot: src/qbasic/QBLib/Core.vb (src/qbasic/QBLib/Core.vb)

New (1)

  • Documentation: no architecture or design documentation (documentation/README.md)

Architecture

  • Unchanged — 1 containers · 0 contexts · 0 edges

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

Survey your own repository

DualBrain/qbasic 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 1 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 40a2e64902e7149a4bf70cadb831cc86f4ed2ad4 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.