ismailuddin/agentic-skills

Migre la structure d'un projet de package Python pour utiliser uv, ruff et prek.

Qu'est-ce que agentic-skills ?

Cette compétence permet à un agent IA de migrer automatiquement un package Python de l'ancien style PEP-517 utilisant `setup.cfg` vers une configuration moderne basée sur `pyproject.toml` avec `uv`. Elle gère l'ensemble du processus : transfert des dépendances et de la configuration de build, remplacement des outils de linting classiques (pylint, flake8, isort, black) par `ruff`, et substitution de `pre-commit` par `prek`. La migration inclut également la mise à jour des pipelines CI/CD pour utiliser `uv`. Cette compétence est utile pour tout développeur cherchant à moderniser son environnement Python avec des outils plus rapides et unifiés, et fonctionne sur tous les systèmes supportant Python.

Compatible avec~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/ismailuddin/agentic-skills/tree/HEAD/migrate-to-uv

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

migrate-to-uv

Cette compétence explique comment migrer un package Python du style PEP-517 utilisant setup.cfg vers pyproject.toml avec uv.

Quand l'utiliser

Cette compétence doit être utilisée chaque fois qu'un utilisateur demande de migrer la structure d'un dépôt de package Python vers un format compatible avec uv.

Instructions

  1. Déplacer le contenu de setup.cfg vers pyproject.toml et supprimer setup.cfg
  2. Ajouter un fichier .python-version spécifiant la version 3.11
  3. Importer les dépendances de requirements-dev.txt dans pyproject.toml en utilisant la CLI uv (c'est-à-dire uv add -r requirements-dev.txt)
  4. Basculer le système de build pour utiliser uv_build, et supprimer build des dépendances de développement.
  5. Configurer le fournisseur de version pour Commitizen afin d'utiliser uv
  6. Supprimer pylint, flake8, isort, black des dépendances de développement et les remplacer par ruff. Supprimer tous les fichiers de configuration associés : pylintrc, .flake8 ainsi que toute configuration dans setup.cfg et/ou pyproject.toml
  7. Configurer ruff pour forcer les imports sur une seule ligne en suivant les instructions ci-dessous.
  8. Déplacer la configuration de pytest.ini vers pyproject.toml
  9. Remplacer les hooks pre-commit pour black, pylint, isort, flake8 par ruff
  10. Supprimer pre-commit des dépendances et le remplacer par prek
  11. Exécuter ruff format et ruff check --fix sur la base de code.
  12. Mettre à jour les pipelines CI/CD pour utiliser uv.

Configurer ruff pour forcer les imports sur une seule ligne

[tool.ruff.lint.isort]
force-single-line = true

[tool.ruff.lint]
select = ["F", "I"]

Skills associés