{"id":50871365,"url":"https://github.com/rshdhere/vibecheck","last_synced_at":"2026-06-15T05:34:27.985Z","repository":{"id":322357202,"uuid":"1089165493","full_name":"rshdhere/vibecheck","owner":"rshdhere","description":"vibecheck is a lightweight, cross-platform command line AI-tool that automatically generates meaningful and consistent Git Commit Messages by analyzing your code changes — ship faster with vibecheck","archived":false,"fork":false,"pushed_at":"2026-01-23T11:27:19.000Z","size":29581,"stargazers_count":182,"open_issues_count":1,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-24T03:48:39.049Z","etag":null,"topics":["anthropic-claude","command-line","commit-message","deepseek","gemini","golang","grok","groq","kimi-k2","openai","perplexity"],"latest_commit_sha":null,"homepage":"https://vibe.raashed.xyz","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/rshdhere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":"DCO.md","cla":null},"funding":{"github":"raashed"}},"created_at":"2025-11-04T01:14:42.000Z","updated_at":"2026-01-23T11:27:17.000Z","dependencies_parsed_at":"2025-11-04T04:09:08.144Z","dependency_job_id":null,"html_url":"https://github.com/rshdhere/vibecheck","commit_stats":null,"previous_names":["rshdhere/vibecheck"],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/rshdhere/vibecheck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rshdhere%2Fvibecheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rshdhere%2Fvibecheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rshdhere%2Fvibecheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rshdhere%2Fvibecheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rshdhere","download_url":"https://codeload.github.com/rshdhere/vibecheck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rshdhere%2Fvibecheck/sbom","scorecard":{"id":1241140,"data":{"date":"2026-01-11T18:51:01Z","repo":{"name":"github.com/rshdhere/vibecheck","commit":"97822a9d418e51a68e4fe37eba5c68e727b76990"},"scorecard":{"version":"v5.0.0","commit":"ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4"},"score":8.6,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#branch-protection"}},{"name":"CI-Tests","score":10,"reason":"14 out of 14 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#ci-tests"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#code-review"}},{"name":"Contributors","score":0,"reason":"project has 0 contributing companies or organizations -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#contributors"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#dangerous-workflow"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yaml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#dependency-update-tool"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: GoBuiltInFuzzer integration found: internal/config/config_test.go:344","Info: GoBuiltInFuzzer integration found: internal/keys/keys_test.go:344","Info: GoBuiltInFuzzer integration found: internal/keys/keys_test.go:344"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#license"}},{"name":"Maintained","score":0,"reason":"project was created in last 90 days. please review its contents carefully","details":["Warn: Repository was created in last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#maintained"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yaml:12"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/fuzzing.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/rshdhere/vibecheck/fuzzing.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/rshdhere/vibecheck/release.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/rshdhere/vibecheck/release.yaml/main?enable=pin","Info:  12 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   4 third-party GitHubAction dependencies pinned","Info:   1 out of   1 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#sast"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: checksums.txt.sig: https://api.github.com/repos/rshdhere/vibecheck/releases/assets/335239676","Info: signed release artifact: checksums.txt.sig: https://api.github.com/repos/rshdhere/vibecheck/releases/assets/335124285","Info: signed release artifact: checksums.txt.sig: https://api.github.com/repos/rshdhere/vibecheck/releases/assets/335115074","Info: signed release artifact: checksums.txt.sig: https://api.github.com/repos/rshdhere/vibecheck/releases/assets/335111332","Info: signed release artifact: checksums.txt.sig: https://api.github.com/repos/rshdhere/vibecheck/releases/assets/335108132","Warn: release artifact v1.7.7 does not have provenance: https://api.github.com/repos/rshdhere/vibecheck/releases/273721851","Warn: release artifact v1.7.6 does not have provenance: https://api.github.com/repos/rshdhere/vibecheck/releases/273681813","Warn: release artifact v1.7.5 does not have provenance: https://api.github.com/repos/rshdhere/vibecheck/releases/273679595","Warn: release artifact v1.7.4 does not have provenance: https://api.github.com/repos/rshdhere/vibecheck/releases/273678829","Warn: release artifact v1.7.3 does not have provenance: https://api.github.com/repos/rshdhere/vibecheck/releases/273677769"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#signed-releases"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yaml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecard.yaml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/coverage.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/fuzzing.yaml:12","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-provenance.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/scorecard.yaml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/static-analysic.yaml:9","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#token-permissions"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ea7e27ed41b76ab879c862fa0ca4cc9c61764ee4/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2026-01-11T20:33:35.449Z","repository_id":322357202,"created_at":"2026-01-11T20:33:35.449Z","updated_at":"2026-01-11T20:33:35.449Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34349925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["anthropic-claude","command-line","commit-message","deepseek","gemini","golang","grok","groq","kimi-k2","openai","perplexity"],"created_at":"2026-06-15T05:34:27.251Z","updated_at":"2026-06-15T05:34:27.977Z","avatar_url":"https://github.com/rshdhere.png","language":"Go","funding_links":["https://github.com/sponsors/raashed"],"categories":[],"sub_categories":[],"readme":"[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/rshdhere/vibecheck/badge)](https://securityscorecards.dev/viewer/?uri=github.com/rshdhere/vibecheck)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11674/badge?v=1)](https://www.bestpractices.dev/projects/11674)\n[![Go Report Card](https://goreportcard.com/badge/github.com/rshdhere/vibecheck)](https://goreportcard.com/report/github.com/rshdhere/vibecheck)\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/rshdhere/vibecheck?sort=semver)\n\n![refine-vibe-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/b0c5e401-a48e-4e7b-9d18-1f2a6c396296)\n\n\n\nA Cross-Platform Command-Line AI-tool for automating git commit messages by outsourcing them to LLMs. Supports multiple providers including OpenAI, Gemini, Anthropic, Groq, Grok, Kimi K2, Qwen, DeepSeek, Perplexity's Sonar, and Ollama.\n\n## Installation\n\n### macOS (brew)\n```bash\nbrew install vibecheck\n```\n### macOS/linux\n```bash\ncurl -fsSL https://install.raashed.xyz | bash\n```\n### windows\n\n```powershell\niwr https://install.raashed.xyz/install.ps1 -useb | iex\n```\n\n\u003e **Important :** Make sure to run the command as an `administrator` using Powershell.\n\n\n## The Ultimate One Liner\n\n```bash\nvibecheck commit\n```\n\u003e **Note :** Make sure you stage your files, right before you check that it passes the vibecheck ;)\n\n## Demonstration\n\n![full-demo-vibecheck](https://github.com/user-attachments/assets/e8cd1f16-34bb-4356-a07b-03271c0d926c)\n\n## More Features\n```bash\nvibecheck dashboard\n```\n\u003e **Dashboard :** It keeps the tab of the commits you generated and money you saved with vibecheck\n\u003e\n![dashboard-cut](https://github.com/user-attachments/assets/e45d09f6-bc3a-41cf-a8aa-d26e21a04880)\n\n```bash\nvibecheck keys\n```\n\n\u003e **Keys :** It keeps your keys globally accessable to vibecheck, so that you always dont have to introduce a environmental variable\n\u003e\n![vibecheck-keys](https://github.com/user-attachments/assets/815f6ef9-55db-4eca-99d9-7e09957f0a81)\n\n```bash\nvibecheck models\n```\n\u003e **Models :** You can switch the models for better latency and accuracy all along\n\u003e\n![models](https://github.com/user-attachments/assets/d9aa6645-5876-427f-8633-310be70dbfe8)\n\n```mermaid\n\nflowchart TD\n\n    %% Nodes Styling\n\n    classDef user fill:#f9f,stroke:#333,stroke-width:2px,color:black;\n\n    classDef system fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:black;\n\n    classDef external fill:#fff9c4,stroke:#fbc02d,stroke-width:2px,color:black;\n\n    classDef error fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:black;\n\n\n\n    Start([User Action]) --\u003e InstallCheck{Is vibecheck installed?}\n\n    class Start user\n\n\n\n    %% Installation Branch\n\n    InstallCheck -- No --\u003e OS{Select OS}\n\n    OS -- macOS/Linux --\u003e Curl[Run curl command]\n\n    OS -- Windows --\u003e PS[Run PowerShell as Admin]\n\n    OS -- macOS Brew --\u003e Brew[Run brew install]\n\n    Curl \u0026 PS \u0026 Brew --\u003e Config[Setup API Keys]\n\n    Config --\u003e EnvVars[Export vars OR .env file]\n\n    Config --\u003e KeysCmd[vibecheck keys]\n\n    KeysCmd --\u003e KeysFile[Store in ~/.vibecheck_keys.json]\n\n\n\n    %% Main Execution\n\n    InstallCheck -- Yes --\u003e Command{Run Command}\n\n    EnvVars -.-\u003e Command\n\n    KeysFile -.-\u003e Command\n\n\n\n    %% Branch: UPGRADE\n\n    Command -- \"vibecheck upgrade\" --\u003e PermCheck{Protected Dir?}\n\n    PermCheck -- Yes --\u003e Sudo[Auto-run with Sudo] --\u003e UpdateBin[Download \u0026 Replace Binary]\n\n    PermCheck -- No --\u003e UpdateBin\n\n    UpdateBin --\u003e End([Done])\n\n\n\n    %% Branch: DASHBOARD/MODELS/KEYS\n\n    Command -- \"vibecheck dashboard\" --\u003e ShowDash[Read Logs] --\u003e DisplayStats[Show Commits \u0026 $$ Saved] --\u003e End\n\n    Command -- \"vibecheck models\" --\u003e ShowMods[List Supported Models] --\u003e SwitchMod[Switch Model Preference] --\u003e End\n\n    Command -- \"vibecheck keys\" --\u003e KeysUI[Interactive Keys Manager] --\u003e KeysList[List Providers with Status] --\u003e KeysEdit[Add/Edit/Delete Keys] --\u003e KeysSave[Save to ~/.vibecheck_keys.json] --\u003e End\n\n\n\n    %% Branch: COMMIT (Core Feature)\n\n    Command -- \"vibecheck commit\" --\u003e GitCheck{Files Staged?}\n\n    \n\n    %% Git Check Logic\n\n    GitCheck -- No --\u003e ErrStage[Error: Stage files first!]:::error\n\n    ErrStage --\u003e End\n\n    \n\n    GitCheck -- Yes --\u003e KeyCheck{API Key Found?}\n\n    %% Key Lookup Priority\n    KeyCheck --\u003e CheckEnv{Check .env file}\n    CheckEnv -- Found --\u003e KeyFound[Use Key]\n    CheckEnv -- Not Found --\u003e CheckExport{Check export vars}\n    CheckExport -- Found --\u003e KeyFound\n    CheckExport -- Not Found --\u003e CheckKeysFile{Check vibecheck keys}\n    CheckKeysFile -- Found --\u003e KeyFound\n    CheckKeysFile -- Not Found --\u003e ErrKey[Error: Missing API Key]:::error\n\n    ErrKey --\u003e Config\n\n    KeyFound --\u003e ProviderSelect{Provider Flag?}\n\n    \n\n    %% Provider Logic\n\n    ProviderSelect -- Default --\u003e DefModel[Default Model]\n\n    ProviderSelect -- \"--provider X\" --\u003e SelectModel[Select Specific Provider]\n\n    \n\n    subgraph AI_Providers [External AI Cloud / Local]\n\n        direction LR\n\n        OpenAI\n\n        Gemini\n\n        Anthropic\n\n        Groq\n\n        XAI_Grok\n\n        Kimi\n\n        Qwen\n\n        DeepSeek\n\n        Perplexity\n\n        Ollama_Local\n\n    end\n\n    class AI_Providers external\n\n\n\n    %% Context Injection\n\n    SelectModel \u0026 DefModel --\u003e PromptCheck{Custom Prompt?}\n\n    PromptCheck -- Yes --\u003e InjectContext[Inject User Context]\n\n    PromptCheck -- No --\u003e GenPayload[Prepare Diff Payload]\n\n    \n\n    InjectContext \u0026 GenPayload --\u003e AI_Providers\n\n    \n\n    %% Output\n\n    AI_Providers --\u003e Response[Receive Generated Message]\n\n    Response --\u003e Display[Output to Terminal]\n\n    Display --\u003e SaveLog[Update Dashboard Stats]\n\n    SaveLog --\u003e End\n\n```\n\n## Environment Variables\n\nSet up your API keys as environment variables:\n\n\u003e **Skip:** If you already have one of the API keys in your .env already, then it picks it up AUTOMATICALLY.\n\n```bash\nexport OPENAI_API_KEY=\"your-openai-api-key\"\n\nexport GEMINI_API_KEY=\"your-gemini-api-key\"\n\nexport ANTHROPIC_API_KEY=\"your-anthropic-api-key\"\n\nexport GROQ_API_KEY=\"your-groq-api-key\"\n\nexport XAI_API_KEY=\"your-xai-api-key\"\n\nexport MOONSHOT_API_KEY=\"your-moonshot-api-key\"\n\nexport QWEN_API_KEY=\"your-qwen-api-key\"\n\nexport DEEPSEEK_API_KEY=\"your-deepseek-api-key\"\n\nexport PERPLEXITY_API_KEY=\"your-perplexity-api-key\"\n\nexport OLLAMA_HOST=\"http://localhost:11434\"\n```\n\n## Usage For Productivity (Mini Docs)\n\n```bash\nvibecheck commit\n\nvibecheck commit --provider openai    # GPT-4o-mini\nvibecheck commit --provider gemini    # Gemini 2.5 Flash\nvibecheck commit --provider anthropic # Claude 3.5 Haiku\nvibecheck commit --provider groq      # Llama 3.3 70B\nvibecheck commit --provider grok      # Grok Beta\nvibecheck commit --provider kimi      # Kimi K2 (Moonshot-v1-auto)\nvibecheck commit --provider qwen      # Qwen Turbo\nvibecheck commit --provider deepseek  # DeepSeek Chat\nvibecheck commit --provider perplexity # Perplexity Sonar (sonar)\nvibecheck commit --provider ollama    # gpt-oss:20b (local)\n\nvibecheck commit --prompt \"make sure to use 02 emoji's in my commit message\"\n\nvibecheck commit --provider gemini --prompt \"fixed bug in parser\"\n\nvibecheck --version\nvibecheck --help\n```\n## Upgrading\n\nKeep vibecheck up to date with a single command:\n\n```bash\nvibecheck upgrade\n```\n\u003e **Note :** If vibecheck is installed in a protected directory like `/usr/local/bin`, the upgrade command will automatically re-run itself with sudo to complete the installation.\n\n## Configuration\n\n\n\u003e **Obtaining API Credentials :** A Contributor’s Guide to Access the Free-tier\n\n\n\n[gemini.webm](https://github.com/user-attachments/assets/81048ed6-736d-493d-86cd-f791ea93da15)\n\n\n[perplexity](https://github.com/user-attachments/assets/a85ef1eb-7f0a-466a-be39-5a8d42cb347c)\n\nhttps://pkg.go.dev/github.com/rshdhere/vibecheck\n\nhttps://app.codecov.io/gh/rshdhere/vibecheck\n\nhttps://goreportcard.com/report/github.com/rshdhere/vibecheck\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frshdhere%2Fvibecheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frshdhere%2Fvibecheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frshdhere%2Fvibecheck/lists"}