Skip to content

Packages

A static, git-versioned registry of Turbo libraries. Install any of them with turbolang install, or find them from your terminal with turbolang search.

6 packages in the index.

turbo ≥ 0.12.0

Flag and positional argument parsing over an argv string array. Supports --name=value, --name value, boolean switches, and positionals.

cliparsing
turbolang install turbo-cli-args
Homepage ↗
turbo ≥ 0.12.0

Load a .env file into a HashMap<str, str>. Handles comments, blank lines, quotes, whitespace, and the export prefix.

configenvironment
turbolang install turbo-dotenv
Homepage ↗

turbo-http-router

ZVN-DEV/Turbo-Language
turbo ≥ 0.12.0

Path + method routing for the built-in HTTP server using a HashMap<str, fn(str)->str> dispatch table, with :param / wildcard matching helpers.

webhttprouting
turbolang install turbo-http-router
Homepage ↗
turbo ≥ 0.12.0

Leveled logging (debug/info/warn/error) with level filtering and optional timestamps, in a single reconfigurable handle.

loggingobservability
turbolang install turbo-logger
Homepage ↗
turbo ≥ 0.12.0

An ergonomic, thin wrapper over the raw sqlite_* builtins: exec-with-params, scalar and column queries, row counts, and a migration helper.

databasesqlite
turbolang install turbo-sqlite
Homepage ↗

turbo-test-assertions

ZVN-DEV/Turbo-Language
turbo ≥ 0.12.0

Expressive assertion helpers for @test functions — string, integer, comparison, and Result assertions with self-describing failure messages.

testing
turbolang install turbo-test-assertions
Homepage ↗

Publishing a package

There is no account to create and no server to push to. The registry is a single JSON file in the Turbo repository, and publishing is an ordinary pull request that appends one entry.

  1. 1

    Build a Turbo package

    A package is a Git repository with a turbo.toml and a src/lib.tb entry point, tagged with a semver release (e.g. v0.1.0).

  2. 2

    Add one entry to the index

    Open a pull request against registry/index.json in the Turbo repository, appending your package object to the packages array.

  3. 3

    Merge

    Once merged, the entry is served at turbolang.dev/registry/index.json and appears on this page and in turbolang search.

Index entry schema

{
  "name": "turbo-json",              // unique; matches the turbo_modules dir name
  "repo": "owner/turbo-json",        // GitHub "owner/name"
  "description": "A fast JSON parser and serializer",
  "categories": ["serialization"],   // lowercase tags
  "min_turbo_version": "0.12.0",     // optional: semver the package needs
  "homepage": "https://example.com"  // optional
}

Full details, including how install/update and lockfiles work, are in the packages documentation.