{"id":33185840,"url":"https://github.com/richardhapb/neospeller","last_synced_at":"2026-01-18T11:00:51.149Z","repository":{"id":277737528,"uuid":"926163326","full_name":"richardhapb/neospeller","owner":"richardhapb","description":"Spell checking for different languages comments.","archived":false,"fork":false,"pushed_at":"2025-06-18T01:04:48.000Z","size":104,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-18T02:19:43.185Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","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/richardhapb.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,"zenodo":null}},"created_at":"2025-02-02T17:45:56.000Z","updated_at":"2025-06-18T01:04:51.000Z","dependencies_parsed_at":"2025-02-15T19:29:49.481Z","dependency_job_id":"f0986038-8046-4552-9a81-844868ec7b06","html_url":"https://github.com/richardhapb/neospeller","commit_stats":null,"previous_names":["richardhapb/neospeller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/richardhapb/neospeller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardhapb%2Fneospeller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardhapb%2Fneospeller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardhapb%2Fneospeller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardhapb%2Fneospeller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richardhapb","download_url":"https://codeload.github.com/richardhapb/neospeller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richardhapb%2Fneospeller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28535156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"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-11-16T05:00:20.102Z","updated_at":"2026-01-18T11:00:51.122Z","avatar_url":"https://github.com/richardhapb.png","language":"Rust","funding_links":[],"categories":["\u003ca name=\"text-processing\"\u003e\u003c/a\u003eText processing"],"sub_categories":[],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3 align=\"center\"\u003eNeoSpeller\u003c/h3\u003e\n\u003cbr /\u003e\n  \n  ![ezgif-3d81514ffe89fb](https://github.com/user-attachments/assets/89765695-779f-4e70-b0d7-3689a78e878b)\n\n\u003cbr /\u003e\n\n  \u003cp align=\"center\"\u003e\n    An awesome project to help you spell and grammar better! Pass your code with comments through stdin and receive a corrected version through stdout.\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nA command-line tool written in Rust that uses LLM API to correct spelling and grammar in code comments.\n\nThis is useful for developers who want to improve their spelling and grammar in their code comments. That can connect to your editor through a plugin or extension, or you can use it as a standalone tool.\n\nThe app uses at the moment the OpenAI GPT-4 mini, and only send to the model the comments, avoiding the code, that is important for reducing the cost of the service. I will add more models in the future, and the user will be able to choose the model to use.\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nYou need two simple things to get started, an API key from OpenAI and make sure you have Rust installed in your machine. If you don't have Rust installed, you can install it using [rustup](https://rustup.rs/).\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/richardhapb/neospeller.git\n   ```\n\n2. Execute the installation script (that will request your password to install the binary in /usr/local/bin)\n\n   ```sh\n   cd neospeller\n   ./install.sh\n   ```\n\n3. Export the API key as an environment variable:\n    ```sh\n    export OPENAI_API_KEY=\"your-api-key\"\n    ```\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nYou can use the app in two ways, passing the code through stdin or passing a file as an argument. A needed argument is `--lang` that is the language of the comments in the code. The language is used to extract the comments from the code, and the code is not sent to the model.\n\n```sh\nneospeller --lang python \u003c file.py\nneospeller --lang javascript \u003c file.js\n```\nor\n\n```sh\ncat file.py | neospeller --lang python\ncat file.js | neospeller --lang javascript\n```\n\n---\n\nYou can redirect the output to a file:\n\n```sh\nneospeller --lang python \u003c file.py \u003e corrected_file.py\n```\n\nor\n\n```sh\ncat file.py | neospeller --lang python \u003e corrected_file.py\n```\n\nAlso, you can use this neovim plugin to correct the comments in the current buffer: [neospeller.nvim](https://github.com/richardhapb/neospeller.nvim)\n\nAvailable languages and their respective codes:\n\n- Python (python)\n- Rust (rust)\n- Go (go)\n- JavaScript (javascript)\n- CSS (css)\n- C (c)\n- Lua (lua)\n- Bash (bash)\n- Plain text (text)\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git switch -c feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/richardhapb/neospeller.svg?style=for-the-badge\n[contributors-url]: https://github.com/richardhapb/neospeller/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/richardhapb/neospeller.svg?style=for-the-badge\n[forks-url]: https://github.com/richardhapb/neospeller/network/members\n[stars-shield]: https://img.shields.io/github/stars/richardhapb/neospeller.svg?style=for-the-badge\n[stars-url]: https://github.com/richardhapb/neospeller/stargazers\n[issues-shield]: https://img.shields.io/github/issues/richardhapb/neospeller.svg?style=for-the-badge\n[issues-url]: https://github.com/richardhapb/neospeller/issues\n[license-shield]: https://img.shields.io/github/license/richardhapb/neospeller.svg?style=for-the-badge\n[license-url]: https://github.com/richardhapb/neospeller/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/richard-hapb\n[product-screenshot]: images/screenshot.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardhapb%2Fneospeller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichardhapb%2Fneospeller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichardhapb%2Fneospeller/lists"}