Communityコーディング&開発github.com

migrate-to-uv

Pythonパッケージプロジェクトの構造をuv、ruff、prekに移行します。

migrate-to-uv とは?

このスキルは、Pythonパッケージを従来のPEP-517スタイル(setup.cfg)から、uvベースのpyproject.toml形式に移行するための手順を提供します。具体的には、setup.cfgの内容をpyproject.tomlに移動し、依存関係管理をuvに切り替え、ruffによるコード品質チェックとフォーマットを導入し、pre-commitの代わりにprekを設定することで、最新のツールチェーンに対応します。Claude Code, Cursor, CodexなどのAIエージェントが、ユーザーからの「Pythonパッケージをuv対応に移行して」というリクエストに応じる際に使用します。各ステップはSKILL.mdに詳細に記述されており、AIエージェントはこれを順次実行することで、移行を自動化できます。

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

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

migrate-to-uv は何をしますか?

このスキルは、PythonパッケージをPEP-517スタイル(setup.cfg 使用)から uv を用いた pyproject.toml 形式に移行する方法を説明します。

使用するタイミング

ユーザーがPythonパッケージのリポジトリ構造を uv 準拠の形式に移行するようリクエストした場合に使用します。

手順

  1. setup.cfg の内容を pyproject.toml に移動し、setup.cfg を削除します。
  2. バージョン3.11を指定した .python-version ファイルを追加します。
  3. uv CLIを使用して requirements-dev.txt から依存関係を pyproject.toml にインポートします(例:uv add -r requirements-dev.txt)。
  4. ビルドシステムを uv_build に切り替え、開発依存関係から build を削除します。
  5. Commitizenのバージョンプロバイダーを uv に設定します。
  6. 開発依存関係から pylint、flake8、isort、black を削除し、代わりに ruff を追加します。関連する設定ファイル(pylintrc、.flake8 および setup.cfg や pyproject.toml 内の設定)をすべて削除します。
  7. 以下のガイドに従って ruff を設定し、インポートを強制的に1行にします。
  8. pytest.ini の設定を pyproject.toml に移動します。
  9. black、pylint、isort、flake8 のpre-commitフックを ruff に置き換えます。
  10. 依存関係から pre-commit を削除し、代わりに prek を追加します。
  11. コードベースに対して ruff format と ruff check --fix を実行します。
  12. CI / CDパイプラインを uv を使用するように更新します。

ruffを設定してインポートを強制的に1行にする

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

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

関連スキル