{"id":13471594,"url":"https://github.com/lemnos/tt","last_synced_at":"2026-01-17T12:38:06.907Z","repository":{"id":36975289,"uuid":"323531492","full_name":"lemnos/tt","owner":"lemnos","description":"A terminal based typing test.","archived":false,"fork":false,"pushed_at":"2024-05-16T23:16:25.000Z","size":800,"stargazers_count":806,"open_issues_count":30,"forks_count":49,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-26T13:39:12.459Z","etag":null,"topics":["go","golang","terminal","typing","typingtest"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemnos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-22T05:36:33.000Z","updated_at":"2025-03-23T04:58:59.000Z","dependencies_parsed_at":"2024-01-16T06:09:07.157Z","dependency_job_id":"cc714689-9db4-4ce6-9ba1-fedd0b9f9171","html_url":"https://github.com/lemnos/tt","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/lemnos/tt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemnos%2Ftt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemnos%2Ftt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemnos%2Ftt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemnos%2Ftt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemnos","download_url":"https://codeload.github.com/lemnos/tt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemnos%2Ftt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","terminal","typing","typingtest"],"created_at":"2024-07-31T16:00:47.056Z","updated_at":"2026-01-17T12:38:06.866Z","avatar_url":"https://github.com/lemnos.png","language":"Go","funding_links":[],"categories":["Go","Uncategorized","\u003ca name=\"typing\"\u003e\u003c/a\u003eTyping test and practice"],"sub_categories":[],"readme":"# What\n\nA terminal based typing test.\n\n![](demo.gif)\n\n# Installation\n\n## Linux\n\n```\nsudo curl -L https://github.com/lemnos/tt/releases/download/v0.4.2/tt-linux -o /usr/local/bin/tt \u0026\u0026 sudo chmod +x /usr/local/bin/tt\nsudo curl -o /usr/share/man/man1/tt.1.gz -L https://github.com/lemnos/tt/releases/download/v0.4.2/tt.1.gz\n```\n\n## OSX\n\n```\nmkdir -p /usr/local/bin /usr/local/share/man/man1 # Usually created by brew\n\nsudo curl -L https://github.com/lemnos/tt/releases/download/v0.4.2/tt-osx -o /usr/local/bin/tt \u0026\u0026 sudo chmod +x /usr/local/bin/tt\nsudo curl -o /usr/local/share/man/man1/tt.1.gz -L https://github.com/lemnos/tt/releases/download/v0.4.2/tt.1.gz\n```\n\n## Uninstall\n\n```\nsudo rm /usr/local/bin/tt /usr/share/man/man1/tt.1.gz\n```\n\n## From source\n\n```\n# debian dependencies\nsudo apt install golang\n\n# clone and make\ngit clone https://github.com/lemnos/tt\ncd tt\nmake \u0026\u0026 sudo make install\n```\n\nBest served on a terminal with truecolor and cursor shape support (e.g kitty, iterm)\n\n# Usage\n\nBy default 50 words from the top 1000 words in the English language are used to\nconstitute the test. Custom text can be supplied by piping arbitrary text to the\nprogram. Each paragraph in the input is shown as a separate segment of the text.\nSee `man tt` or `man.md` for a complete description and a comprehensive set of\noptions.\n\n## Keys\n\n- Pressing `escape` at any point restarts the test.\n- `C-c` exits the test.\n- `right` moves to the next test.\n- `left` moves to the previous test.\n\n## Examples\n\n - `tt -quotes en` Starts quote mode with the builtin quote list 'en'.\n - `tt -n 10 -g 5` produces a test consisting of 50 randomly drawn words in 5 groups of 10 words each.\n - `tt -t 10` starts a timed test lasting 10 seconds.\n - `tt -theme gruvbox` Starts tt with the gruvbox theme.\n\n`tt` is designed to be easily scriptable and integrate nicely with\nother *nix tools. With a little shell scripting most features the user can\nconceive of should be possible to implement. Below are some simple examples of\nwhat can be achieved.\n\n - `shuf -n 40 /usr/share/dict/words|tt`  Produces a test consisting of 40 random words drawn from your system's dictionary.\n - `curl http://api.quotable.io/random|jq '[.text=.content|.attribution=.author]'|tt -quotes -` Produces a test consisting of a random quote.\n - `alias ttd='tt -csv \u003e\u003e ~/wpm.csv'` Creates an alias called ttd which keeps a log of progress in your home directory`.\n\nThe default behaviour is equivalent to `tt -n 50`.\n\nSee `-help` for an exhaustive list of options.\n\n## Configuration\n\nCustom themes and word lists can be defined in `~/.tt/themes` and `~/.tt/words`\nand used in conjunction with the `-theme` and `-words` flags. A list of\npreloaded themes and word lists can be found in `words/` and `themes/` and are\naccessible by default using the respective flags.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemnos%2Ftt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemnos%2Ftt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemnos%2Ftt/lists"}