{"id":21171524,"url":"https://github.com/vaaski/howtf","last_synced_at":"2026-02-28T15:02:47.739Z","repository":{"id":163051985,"uuid":"634167171","full_name":"vaaski/howtf","owner":"vaaski","description":"Quickly look up console commands using the OpenAI GPT API","archived":false,"fork":false,"pushed_at":"2025-03-11T19:52:07.000Z","size":309,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"go","last_synced_at":"2025-10-11T01:06:18.673Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaaski.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-29T09:01:30.000Z","updated_at":"2025-03-11T19:52:54.000Z","dependencies_parsed_at":"2024-08-12T11:57:01.228Z","dependency_job_id":null,"html_url":"https://github.com/vaaski/howtf","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vaaski/howtf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaski%2Fhowtf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaski%2Fhowtf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaski%2Fhowtf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaski%2Fhowtf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaaski","download_url":"https://codeload.github.com/vaaski/howtf/tar.gz/refs/heads/go","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaski%2Fhowtf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29938984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2024-11-20T16:06:56.295Z","updated_at":"2026-02-28T15:02:42.729Z","avatar_url":"https://github.com/vaaski.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ehowtf\u003c/h1\u003e\n\u003cp align=\"center\"\u003eQuickly look up console commands using the OpenAI GPT API\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ffmpeg-example.svg\" width=\"600\" align=\"center\" /\u003e\n\u003c/p\u003e\n\n---\n\n### Synopsis\n\nThis is a pretty simple CLI tool to help you find that command you can never\nremember using the OpenAI chat completion API. This usually ends up being\nfaster than googling it.\n\nAlso comes with the neat advantage of being personalized to whatever you need.\nNotice how in the example above, I specifically asked to modify \"example.webm\" and\nit automatically chose \"example.mp4\" as the output file.\n\n### Features\n\n- 🔒 Securely stores your OpenAI API key in your OS keychain with [go-keyring](https://github.com/zalando/go-keyring)\n- 🙈 Lets you inspect the generated command before executing or copying it\n- 💪 Lets you describe your command as arguments or interactively to avoid escaping special characters\n- ⁉️ Can explain what any command does\n- 💅 Comes with a beautiful Terminal User Interface\n- 🆖 Cross-platform compatible\n\n### Installation\n\nInstall using `go install` (requires [Go](https://go.dev/doc/install)):\n\n```bash\ngo install github.com/vaaski/howtf@go\n```\n\nRun the interactive configuration wizard to set your OpenAI API key:\n\n```bash\nhowtf -config\n```\n\n### Usage\n\n```bash\nhowtf [command]\n```\n\n### Examples\n\nInteractive mode:\n\n\u003cimg src=\"docs/interactive.svg\" width=\"600\" /\u003e\n\n\u003cbr\u003e\n\nConfig page:\n\n\u003cimg src=\"docs/config.svg\" width=\"600\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaaski%2Fhowtf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaaski%2Fhowtf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaaski%2Fhowtf/lists"}