| Crates.io | octotype |
| lib.rs | octotype |
| version | 0.8.0 |
| created_at | 2025-09-14 00:36:38.053085+00 |
| updated_at | 2025-11-03 14:37:40.936104+00 |
| description | A typing trainer for your terminal |
| homepage | |
| repository | https://github.com/mahlquistj/octotype |
| max_upload_size | |
| id | 1838273 |
| size | 1,466,273 |

The above mascot is Squibbles (Scribbles) - He is generated by ChatGPT. If anyone wants to create a proper mascot, feel free to submit an issue ð
OctoType is a TUI typing trainer made with Ratatui, and powered by Gladius - Heavily inspired by Monkeytype, with a focus on customizability

[!WARNING]
This is still a work in progress. Breaking changes to Modes, Sources and the configuration might occur.
Installing octotype can be done with the following methods:
cargo install octotype
You can add OctoType as a Flake:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
octotype.url = "github:mahlquistj/octotype/main";
};
outputs = { self, nixpkgs, rio }: {
nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
modules = [
({ pkgs, ... }: {
environment.systemPackages = [
octotype.packages.${pkgs.system}.octotype
];
})
];
};
};
}
[!NOTE] No package exists in nixpkgs yet.
| Short | Long | Description |
|---|---|---|
--print-config |
Prints the current settings, modes, and source | |
-p |
--print-settings |
Prints the current settings |
-c <path> |
--config <path> |
Overrides the default config location |
-h |
--help |
Shows a help page with the list of arguments |
Check out the Docs for configuration options.
A nix flake dev-shell is provided to run with nix develop.
If you have an idea, bug-report or alike, feel free to open an issue or a PR - It's more than welcome!
[!NOTE] I'm only developing this in my spare time, so don't expect immidiate replies ð
It all started as a fun side-project to learn typing on my new ZSA Moonlander keyboard. I was inspired by using Monkeytype a lot, but found that i was missing more customizability when it came to what modes and words i could get.