LT Linux Dev Typer
Open source

Linux Dev Typer Practice real code, not prose.

Code-typing practice for developers with adaptive difficulty, weakness-aware snippet selection, trend tracking, and fatigue detection. Cross-platform via Avalonia UI.

Clone

git clone https://github.com/mcp-tool-shop-org/linux-dev-typer.git

Build

dotnet build -c Release

Run

dotnet run --project src/LinuxDevTyper.App/

Core Features

Fully offline. No telemetry, no accounts, no network calls.

Real Code Snippets

Every snippet is a real-world pattern from Python, Rust, JavaScript, C#, or Java. 168 calibration snippets across 5 languages.

Adaptive Difficulty

Elo-inspired per-language rating with anti-yo-yo protection, comfort-zone detection, and automatic difficulty aging.

Weakness Tracking

Per-character mistake heatmaps and confusion pairs guide snippet selection so you practice what you struggle with.

Fatigue Detection

The engine detects declining performance and suggests breaks before bad habits set in.

Cross-Platform

Built on Avalonia UI — runs on Linux, macOS, and Windows from a single codebase.

Extensible Engine

Core engine ships as a standalone NuGet package (LinuxDevTyper.Core) with zero UI dependencies.

Quick Start

Build & run

git clone https://github.com/mcp-tool-shop-org/linux-dev-typer.git
cd linux-dev-typer
dotnet restore
dotnet build -c Release
dotnet run --project src/LinuxDevTyper.App/LinuxDevTyper.App.csproj

Add your own code

# Option 1: Paste Code (sidebar → Paste Code)
# Option 2: Import File or Folder (sidebar → Import)
# Option 3: Create a snippet pack JSON:
# ~/.config/linux-dev-typer/packs/python.json
{
  "language": "python",
  "snippets": [
    { "id": "my_list", "title": "List comp",
      "difficulty": 3, "code": "[x**2 for x in range(10)]\n" }
  ]
}

Adaptive Learning

The engine learns your weaknesses and adapts every session.

Session Planner

Target (50%) / Review (30%) / Stretch (20%) mix with selection transparency — "Why this snippet" explains every pick.

Guided Mode

Opt-in toggle that lets weakness signals influence selection. WeaknessBias: +0 to +3, never changes difficulty band.

Micro-Drills

5-item focused practice sessions targeting your top weakness category.

Content System

Feature
Description
User snippet packs
Drop JSON into ~/.config/linux-dev-typer/packs/
Practice profiles
Named parameter sets that tune engine behavior
.ldtpack bundles
Import/export portable content bundles for sharing
Paste Code / Import
Quick import with auto-detected language
Content-addressed IDs
SHA-256 deduplication — same code never added twice
Canonical pipeline
All content enters as CodeItem with metrics-based difficulty (D1–D7)

Project Structure

Path
Purpose
LinuxDevTyper.Core
Portable engine — typing, rating, trends, difficulty, weakness, guided mode
LinuxDevTyper.Core.Tests
xUnit tests (817 tests)
LinuxDevTyper.App
Avalonia desktop shell — UI, platform services, import/export
assets/snippets
Built-in JSON snippet packs
assets/sounds
WAV files (ambient + keyboard SFX)