{"id":23989597,"url":"https://github.com/candidtim/likeanative","last_synced_at":"2026-05-12T20:05:57.627Z","repository":{"id":258408089,"uuid":"873871272","full_name":"candidtim/LikeANative","owner":"candidtim","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-17T19:39:37.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T03:42:35.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","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/candidtim.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-16T21:32:31.000Z","updated_at":"2024-10-18T20:30:54.000Z","dependencies_parsed_at":"2024-10-18T21:56:02.642Z","dependency_job_id":null,"html_url":"https://github.com/candidtim/LikeANative","commit_stats":null,"previous_names":["candidtim/likenative"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/candidtim/LikeANative","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2FLikeANative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2FLikeANative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2FLikeANative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2FLikeANative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/candidtim","download_url":"https://codeload.github.com/candidtim/LikeANative/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2FLikeANative/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32954844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"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":[],"created_at":"2025-01-07T17:32:13.835Z","updated_at":"2026-05-12T20:05:57.595Z","avatar_url":"https://github.com/candidtim.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Like a native\n\nAn AI-based (GPT) spelling and grammar corrector that transforms user input to sound\nlike a native speaker, with minimal style alterations.\n\nThis tool is ideally suited for scenarios where your understanding of a foreign\nlanguage has surpassed the point requiring an automated translator, you desire\nto sound authentic, and yet, you still make those minor errors which are so\nobvious to any native speaker.\n\n## Status\n\nStable. Not distributed. Installing from the source is straightforward and\ndescribed below, but requires a little bit of a \"hands-on\" approach.\n\n## Pre-requisites\n\nObtain an [OpenAI API key](https://platform.openai.com/account/api-keys).\n\nOpenAI API key should be available in the `OPENAI_API_KEY` env var. E.g., add\nthis to your `~./zshrc` file:\n\n    export OPENAI_API_KEY=\"sk-...\"\n\nThe tool uses the \"GPT-4o mini\" model, which is the cheapest at the time of\nthis writing. Be aware of the [prices](https://openai.com/api/pricing/) you\nincur by using the tool with your token.\n\n## Build\n\n    swift build\n\n## Usage\n\nThe application is a command line tool. When run, it replaces the text in the\nclipboard with a corrected version.\n\nFor instance, to execute in the command line directly from the source directory:\n\n    swift run LikeNativeCLI --lang LANG\n\nwhere `LANG` is a common name of any language GPT4 might know well. E.g.,\n\"French\", \"German\", etc.\n\n### Keyboard shortcut\n\nYou can set up a keyboard shortcut to run the tool. A typical scenario is:\nwrite some text (in a chat or an email, etc.), select and copy it to the\nclipboard (`⌘-A`, `⌘-C`), use the keyboard shortcut to correct it, then paste\nthe corrected text back in place of the previous selection (`⌘-V`). Neat!\n\n1. Create an Automator Service:\n\n   - Open Automator from Applications\n   - Choose \"Quick Action\" as the document type\n   - In the workflow area, change \"Workflow receives current\" to \"no input\"\n   - Search for \"Run Shell Script\" in the actions list and drag it into the\n     workflow area\n   - The shell command should pass the API key in an environment variable, and\n     then run the built binary. Keep the `\u0026` at the end. See the example below.\n   - Save the workflow with a name like \"Like a native\".\n\nExample Automator command:\n\n    OPENAI_API_KEY=\"sk-...\" /Users/me/like-a-native/.build/arm64-apple-macosx/debug/LikeNativeCLI --lang French \u0026\n\n2. Assign a Keyboard Shortcut:\n\n   - Open System Settings \u003e Keyboard \u003e Keyboard Shortcuts\n   - Go to Services and find your saved Automator workflow under the \"General\"\n     section\n   - Assign a custom keyboard shortcut to it\n\nNaturally, you can set up multiple keyboard shortcuts, each for a different language.\n\nWhen you use the keyboard shortcut, a cog icon will appear in the system menu\nbar, and then disappear once the text is corrected.\n\n### Mistakes\n\nBeware that this tool uses the \"GPT-4o mini\" model and can make mistakes, such\nas providing inconsistent responses or refusing to correct the text. In this\ncase, you will receive the tool's output back to the clipboard.\n\n### Tutor mode\n\nPass the `--tutor` flag to enable \"Tutor\" mode. In this case, the tool will\nprovide an explanation of the changes made to the source text.\n\n## Implementation. Prompt engineering.\n\nTechnically, you can adjust the GPT prompt to carry out any sort of edits or\ncorrections to the text in the clipboard. Tweak the `promptTemplate` as\nrequired. Please feel free to submit your prompts via GitHub issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidtim%2Flikeanative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcandidtim%2Flikeanative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidtim%2Flikeanative/lists"}