gitwtfhub

wtf is tyr?

tyrframework/tyr — explained in plain English

Analysis updated 2026-05-18

1TypeScriptAudience · developerComplexity · 3/5LicenseSetup · easy

TL;DR

A TypeScript CLI framework that wraps automation scripts in typed, dependency injected commands with built in file, git, Docker, and shell helpers.

Mindmap

mindmap
  root((Tyr))
    What it does
      TypeScript CLI framework
      Typed context per command
    Core concepts
      Kernel
      Container and DI
      Commands
    Built in commands
      gen
      rem
      doc
    Modules
      Manifest import
      Publish own manifest

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Replace scattered shell scripts and Node utilities with typed, discoverable CLI commands.

REASON 2

Scaffold a new command with one line and have it registered automatically.

REASON 3

Give every command shared access to shell, filesystem, git, Docker, and database helpers.

REASON 4

Install and sync command bundles published by other developers via a manifest file.

What's in the stack?

TypeScriptNode.jsnpmYAML

How it stacks up

tyrframework/tyr0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyhardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min
Licensed under MIT, a permissive license that allows free use, modification, and redistribution.

Wtf does this do

Tyr is a TypeScript command line framework for building automation tools without writing repetitive setup code each time. Instead of keeping a pile of separate shell scripts and one-off Node utilities, Tyr gives every command a single typed context object that already has logging, error handling, and access to common services wired in, so you write one function and let the framework handle argument routing and documentation. You install it globally or as a project dependency with npm, then run a setup command that creates the expected folder structure. New commands are scaffolded with a single command that generates a TypeScript file and registers it in a YAML map. Each command file exports a function that receives a context object and returns the actual handler that runs when the command is called. The context object exposes a set of built in managers for common tasks: colored terminal logging, wrapping operations with error context, running shell commands, working with files and directories, managing npm packages, running Docker containers, git operations, system level utilities, querying an MSSQL database, and making web requests. A built in documentation command reads comments from these managers and serves a browsable reference locally. Tyr also supports importing commands other people have written and published. A manifest file lists command names alongside raw GitHub URLs to the TypeScript files that implement them, and Tyr can register a manifest, download its commands, and keep them in sync. Rules govern what happens when names collide: hand written commands are never overwritten by an import, only an explicit update command refreshes previously imported files, and if two imported modules define the same command name the one added most recently wins. Removing an imported module deletes only the files that module owns, leaving anything hand written or claimed by another module untouched. If a local folder is linked to a GitHub repository, Tyr can generate its own manifest file automatically so others can install your commands the same way. The project is written in TypeScript, requires Node 18 or newer, and is released under the MIT license.

Yoink these prompts

Prompt 1
Help me scaffold a new Tyr command called deploy that runs a shell script and logs its output.
Prompt 2
Show me how to write a Tyr command that uses the git manager to check the current branch.
Prompt 3
Walk me through publishing my Tyr commands as a manifest others can install with tyr --add.
Prompt 4
Explain how Tyr resolves naming conflicts when two imported modules define the same command.

Frequently asked questions

wtf is tyr?

A TypeScript CLI framework that wraps automation scripts in typed, dependency injected commands with built in file, git, Docker, and shell helpers.

What language is tyr written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, npm.

What license does tyr use?

Licensed under MIT, a permissive license that allows free use, modification, and redistribution.

How hard is tyr to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is tyr for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.