{"id":38480966,"url":"https://github.com/nitintf/navi","last_synced_at":"2026-01-17T05:27:49.468Z","repository":{"id":229436793,"uuid":"776729007","full_name":"nitintf/navi","owner":"nitintf","description":"Navi  : AI-Powered Shell Guide","archived":false,"fork":false,"pushed_at":"2024-03-31T00:58:27.000Z","size":39,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-21T08:20:36.597Z","etag":null,"topics":["ai","cli","golang"],"latest_commit_sha":null,"homepage":"https://navi.nitinp.dev","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/nitintf.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}},"created_at":"2024-03-24T10:23:06.000Z","updated_at":"2024-05-11T00:24:31.000Z","dependencies_parsed_at":"2024-03-28T08:46:26.135Z","dependency_job_id":null,"html_url":"https://github.com/nitintf/navi","commit_stats":null,"previous_names":["nitintf/navi"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nitintf/navi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitintf%2Fnavi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitintf%2Fnavi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitintf%2Fnavi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitintf%2Fnavi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nitintf","download_url":"https://codeload.github.com/nitintf/navi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitintf%2Fnavi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28499512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","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":["ai","cli","golang"],"created_at":"2026-01-17T05:27:48.837Z","updated_at":"2026-01-17T05:27:49.453Z","avatar_url":"https://github.com/nitintf.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Navi: AI-Powered Shell Guide\r\n\r\n\"Navi\" means \"guide\" in Hindi, and that's exactly what this tool aims to be. Navi is a command-line tool that utilizes the Gemini API to leverage artificial intelligence in generating shell commands based on your prompts. It simplifies your workflow by understanding your intent and providing the necessary commands to achieve your tasks.\r\n\r\nhttps://github.com/nitintf/navi/assets/55453926/407c41cb-0eb7-4362-a7db-65b224feb5ea\r\n\r\n## Usage\r\n\r\n```shell\r\nNavi - Your AI-powered Shell Guide\r\n\r\nUsage:\r\n  navi [flags]\r\n  navi [command]\r\n\r\nExamples:\r\nnavi \"List all files in the current directory.\"\r\n\r\nAvailable Commands:\r\n  completion  Generate the autocompletion script for the specified shell\r\n  explain     Explain - Understand your shell commands\r\n  help        Help about any command\r\n\r\nFlags:\r\n  -h, --help   help for navi\r\n\r\nUse \"navi [command] --help\" for more information about a command.\r\n```\r\n\r\n## Commands\r\n\r\n### 1. navi\r\nThe `navi` command takes a string as an argument and generates a shell command based on that string.\r\n\r\nExample:\r\n\r\n```shell\r\n$ navi \"list all files`\r\n\r\n$ \u003e\u003e ls -a\r\n```\r\n\r\n### 2. navi explain\r\nThe `navi explain` command also takes a string (shell command) as an argument, and explains the functionality of a given shell command.\r\n\r\nExample:\r\n\r\n```shell\r\n$ navi explain \"ls -a`\r\n\r\n$ Explanation \u003e\u003e\r\n\r\nthe command explanation\r\n```\r\n\r\n## Installation\r\n\r\nYou can install Navi using the `go install` command:\r\n\r\n```shell\r\ngo install github.com/nitintf/navi\r\n```\r\n\r\nAfter installation, don't forget to export your Gemini API key:\r\n```shell\r\nexport GEMINI_API_KEY=\"...\"\r\n```\r\nYou can obtain your Gemini API key from the [Gemini API Management page](https://aistudio.google.com/app/apikey).\r\n\r\n## Vim integration\r\n\r\n### Plugin load and installation\r\n\r\nEdit `navi.vim` to set `g:NaviBin` to your custom binary location. Optionally, change the preferred key combination (defaults to `\u003cC-k\u003e`).\r\n\r\nIn Vim, you simply have to `:source navi.vim`.\r\n\r\nHowever, if you want the plugin to be persistent, make it load when Vim starts: copy `navi.vim` to any directory present in your runtime path (`:echo \u0026runtimepath`). Restart Vim. Verify if the script is loaded with `:scriptnames`.\r\n\r\n### Usage\r\n\r\nIn Normal Mode, press your preferred key combination (or \u003cC-k\u003e by default) to pass your current line to `Navi`. In Visual Mode, you may select more lines.\r\n\r\n## Caution\r\n\r\nWhile Navi uses AI to generate shell commands, it's important to understand that AI isn't perfect. Always review the generated commands before executing them, especially if you're working in a production environment or dealing with sensitive data. Navi is a tool designed to assist you, but it doesn't replace good judgment and understanding of shell commands.\r\n\r\n## Contribution\r\n\r\nContributions to Navi are very welcome! If you have a feature request, bug report, or proposal for code refactoring, please feel free to open an issue or submit a pull request.\r\n\r\nThis thing only supports Gemini for the moment, but it could be easily updated to support other models using Replicate, Ollama, etc. [Pull requests welcome](https://github.com/nitintf/navi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)!\r\n\r\n\r\n## License\r\n\r\nMIT\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitintf%2Fnavi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnitintf%2Fnavi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitintf%2Fnavi/lists"}