Projet 21 - "Rechercher un AI code assistant qui ressemble à Cursor mais pour Neovim"

Date de la création de cette note : 12 janvier 2025.

Quel est l'objectif de ce projet ?

Étudier, installer et configurer un AI code assistant qui ressemble à Cursor mais pour Neovim.

Pourquoi je souhaite réaliser ce projet ?

J'avais déjà envie de tester avante.nvim en août 2024.

Je constate que depuis plus de 6 mois, j'utilise de plus en plus ChatGPT ou Claude.ia lorsque je code ou je rédige des textes. Rien que pour la dernière semaine, j'ai compté 7 conversations par jour.

Je constate aussi que mon expérience utilisateur n'est pas optimale : je dois effectuer de nombreux copier-coller pour donner du contexte à l'agent conversationnel.
Je lui donne du code source, je lui indique le nom des fichiers…

#JeMeDemande aussi si l'agent conversationnel pourrait me donner de meilleures réponses s'il a accès à l'intégralité du code source de projet 🤔.

Fonctionnalités

Exemples de tâches que j'aimerais facilement effectuer avec le AI code assistant, directement dans Neovim :

  • Avoir des suggestions de code sur des projets : Javascript, TypeScript, Bash, Ansible, Svelte, Tailwind CSS
  • Avoir des suggestions de corrections de bug
  • Génération de message de Git commit à partir du contenu modifié et d'une explication du commit que j'aurais rédigé en français
  • Suggestion / correction de documentation en Markdown, en anglais et français
  • Suggestion de namming de variables
  • Suggestion de refactoring
  • Me donner les explications macro ou micro d'un projet
  • Correction de fautes d'orthographe et de grammaire en français et anglais

Les questions que je me pose

Comme je le disais en août 2024 :

Cependant, une question me revient sans cesse à l'esprit en voyant ce genre d'outil utilisant les API d'AI Provider : est-ce que le coût d'utilisation de ce type de service ne risque pas d'être exorbitant ? 🤔

source

#JeMeDemande combien un AI code assistant va me coûter par mois 🤔.

Sur la page de pricing de Cursor, je lis :

$20/month :

  • Unlimited completions
  • 500 fast premium requests per month
  • Unlimited slow premium requests
  • 10 o1-mini uses per day

source

#JeMeDemande si Cursor a des réductions sur les volumes ou si je peux avoir le même prix en utilisant directement les API des AI Provider OpenAI ou Anthropic.

Est-ce que la location d'un serveur GPU sur Vast.ai pourrait être un choix plus économique 🤔.

Choix de modèle

#JeMeDemande quel modèle AI code assistant offre le meilleur rapport coût/performance ? Quel est le plus performant ?

J'ai lu ici que Salvatore Sanfilippo conseille Claude Sonnet 3.5 :

About "people still thinking LLMs are quite useless", I still believe that the problem is that most people are exposed to ChatGPT 4o that at this point for my use case (programming / design partner) is basically a useless toy. And I guess that in tech many folks try LLMs for the same use cases. Try Claude Sonnet 3.5 (not Haiku!) and tell me if, while still flawed, is not helpful.

source

Repository de ce projet :

Ressources :


Journaux liées à cette note :

Journal du dimanche 12 janvier 2025 à 20:46 #iteration, #CodeAssistant, #artificial-intelligence, #neovim, #JaiDécidé

Note d' #iteration du Projet 21 - "Rechercher un AI code assistant qui ressemble à Cursor mais pour Neovim".


J'ai réussi à installer avante.nvim, voici le commit de changement de mon dotfiles : "Add Neovim Avante AI Code assistant".

Suite à la lecture de :

Since auto-suggestions are a high-frequency operation and therefore expensive, it is recommended to specify an inexpensive provider or even a free provider: copilot

source

et ma note 2025-01-12_2026, #JaiDécidé de connecter avante.nvim à GitHub Copilot.

J'ai suivi les instructions de README.md de avante.nvim et voici les difficultés que j'ai rencontrées.

Contexte : j'utilise lazy.nvim avec la méthode kickstart.nvim.

  • Ici j'ai appliqué cette configuration :
opts = {
	provider = "copilot",
	auto_suggestions_provider = "copilot",
	copilot = {
		model = "claude-3.5-sonnet"
	}
},
{
	"zbirenbaum/copilot.lua",
	config = function()
		require("copilot").setup({})
	end
},

Après installation des plugins (Lazy sync), il faut lancer :Copilot auth pour initialiser l'accès à votre instance de GitHub Copilot. C'est très simple, il suffit de suivre les instructions à l'écran.

Pour le moment, j'ai uniquement fait un test de commentaire d'un script : « Est-ce que ce script contient des erreurs ? » :

J'ai ensuite tenté de consulter mon rapport d'utilisation de GitHub Copilot pour vérifier l'état de mes quotas, mais je n'ai pas réussi à trouver ces informations :

D'ici quelques jours, je prévois de rédiger un bilan d'utilisation de avante.nvim pour faire le point sur mon expérience avec cet outil.