{"id":45667549,"url":"https://github.com/jrollin/mistral-codestral.nvim","last_synced_at":"2026-02-24T10:11:19.771Z","repository":{"id":333802165,"uuid":"1127269914","full_name":"jrollin/mistral-codestral.nvim","owner":"jrollin","description":"nvim mistral plugin for Mistral codestral code completion","archived":false,"fork":false,"pushed_at":"2026-01-06T15:43:53.000Z","size":116,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-21T15:59:44.103Z","etag":null,"topics":["codestral","mistral","nvim","nvim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/jrollin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-03T14:40:07.000Z","updated_at":"2026-01-06T15:43:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jrollin/mistral-codestral.nvim","commit_stats":null,"previous_names":["jrollin/mistral-codestral.nvim"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jrollin/mistral-codestral.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrollin%2Fmistral-codestral.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrollin%2Fmistral-codestral.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrollin%2Fmistral-codestral.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrollin%2Fmistral-codestral.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrollin","download_url":"https://codeload.github.com/jrollin/mistral-codestral.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrollin%2Fmistral-codestral.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29779275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: 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":["codestral","mistral","nvim","nvim-plugin"],"created_at":"2026-02-24T10:11:17.378Z","updated_at":"2026-02-24T10:11:19.766Z","avatar_url":"https://github.com/jrollin.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 mistral-codestral.nvim\n\nIntelligent code completion for Neovim using [Mistral Codestral](https://mistral.ai/) AI. Works with `blink.cmp` and `nvim-cmp`.\n\n## ⚡ Quick Start\n\n### 1. Install\n\nUsing lazy.nvim:\n\n```lua\nreturn {\n  \"jrollin/mistral-codestral.nvim\",\n  dependencies = {\n    \"nvim-lua/plenary.nvim\",\n    \"saghen/blink.cmp\",  -- or \"hrsh7th/nvim-cmp\"\n  },\n  lazy = false,\n  priority = 1000,\n  config = function()\n    require(\"mistral-codestral\").setup({\n      api_key = \"cmd:head -n1 ~/.mistral_codestral_key | tr -d '\\\\n'\",\n      model = \"codestral-latest\",\n      completion_engine = \"blink.cmp\",\n      virtual_text = { enabled = true, idle_delay = 800 },\n    })\n  end,\n}\n```\n\n### 2. Setup API Key\n\n```bash\n# Save your API key (get one at https://console.mistral.ai/)\necho \"your_key_here\" \u003e ~/.mistral_codestral_key\nchmod 600 ~/.mistral_codestral_key\n```\n\n### 3. Start Using\n\n- **Type in any file** → Suggestions appear after 800ms idle\n- **Press `\u003cM-l\u003e`** → Accept completion\n- **Press `\u003cC-c\u003e`** → Clear suggestion\n- **`:MistralCodestralComplete`** → Manual trigger\n\n### 4. Version Pinning (Recommended)\n\nFor stability in production, pin to a specific version:\n\n```lua\nreturn {\n  \"jrollin/mistral-codestral.nvim\",\n  tag = \"v0.1.0\",  -- Pin to specific version\n  dependencies = {\n    \"nvim-lua/plenary.nvim\",\n    \"saghen/blink.cmp\",\n  },\n  config = function()\n    require(\"mistral-codestral\").setup({...})\n  end,\n}\n```\n\nOr use version ranges:\n\n```lua\ntag = \"v0.*\",  -- Any v0.x version\n```\n\nSee [releases](https://github.com/jrollin/mistral-codestral.nvim/releases) for available versions.\n\n## 📚 Documentation\n\n- **[CONFIGURATION.md](docs/CONFIGURATION.md)** - All config options with examples\n- **[ARCHITECTURE.md](docs/ARCHITECTURE.md)** - How the plugin works (flows, design)\n- **[TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)** - Common issues and solutions\n- **[VIRTUAL-TEXT.md](docs/VIRTUAL-TEXT.md)** - Virtual text mode details\n- **[COMPLETION-ENGINES.md](docs/COMPLETION-ENGINES.md)** - nvim-cmp \u0026 blink.cmp setup\n\n## 🔑 Commands \u0026 Bindings\n\n| Command | Key | Description |\n|---------|-----|-------------|\n| `:MistralCodestralComplete` | `\u003cleader\u003emc` | Manual completion |\n| `:MistralCodestralAuth status` | `\u003cleader\u003ema` | Check API key |\n| `:MistralCodestralToggle` | - | Enable/disable plugin |\n| `:checkhealth mistral-codestral` | - | Verify setup |\n\n**Insert mode bindings:**\n- `\u003cM-l\u003e` - Accept completion\n- `\u003cC-Right\u003e` - Accept next word (virtual text)\n- `\u003cC-Down\u003e` - Accept current line (virtual text)\n- `\u003cC-c\u003e` - Clear suggestion\n\n## ✨ Features\n\n- **Virtual text** - GitHub Copilot-style inline suggestions\n- **Completion menus** - Integrated with blink.cmp and nvim-cmp\n- **Context-aware** - Understands your code structure via LSP\n- **Smart caching** - Faster repeated completions\n- **Buffer exclusions** - Skips UI buffers (help, neo-tree, etc.)\n- **Non-blocking** - Async API calls don't interrupt typing\n\n## 🩺 Verify Installation\n\nSee [docs/quick-start.md](docs/quick-start.md) for quick verification or [docs/testing-guide.md](docs/testing-guide.md) for comprehensive testing.\n\n```bash\n# Run health check\nnvim +checkhealth\\ mistral-codestral\n\n# Quick API test\nnvim --headless -u ~/.config/nvim/init.lua \\\n  -c \"luafile \u003cplugin-dir\u003e/tests/api_test.lua\" 2\u003e\u00261\n\n# Interactive test\nbash \u003cplugin-dir\u003e/scripts/run_tests.sh\n```\n\n**Note:** Replace `\u003cplugin-dir\u003e` with your plugin's installation directory:\n- **lazy.nvim**: `~/.local/share/nvim/lazy/mistral-codestral.nvim` (Linux) or `~/.config/nvim/lazy/mistral-codestral.nvim` (macOS)\n- **packer.nvim**: `~/.local/share/nvim/site/pack/packer/start/mistral-codestral.nvim` (Linux)\n- **vim-plug**: `~/.vim/plugged/mistral-codestral.nvim` or `~/.config/nvim/plugged/mistral-codestral.nvim`\n\n## ❓ Need Help?\n\n1. Check [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) for common issues\n2. Run `:MistralCodestralAuth status` to check API key\n3. Run `:checkhealth mistral-codestral` to verify setup\n4. Review [CONFIGURATION.md](docs/CONFIGURATION.md) for available options\n\n## 📄 License\n\nMIT - See LICENSE file for details\n\n---\n\n**Get API key**: [Mistral Console](https://console.mistral.ai/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrollin%2Fmistral-codestral.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrollin%2Fmistral-codestral.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrollin%2Fmistral-codestral.nvim/lists"}