Agent skill

modern-python-stack

Astral社製ツール(uv, Ruff, ty)でPython開発環境を構築。プロジェクト作成、依存関係管理、コード品質改善、CI/CD設定時に使用。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/modern-python-stack

SKILL.md

Modern Python Stack

Astral社製Rustツールを中心とした高速Python開発環境。

技術スタック

カテゴリ ツール 用途
パッケージ管理 uv pip代替(10-100倍高速)
リンター/フォーマッター Ruff flake8/black/isort統合
型チェッカー ty mypy代替(約7倍高速)
依存性制御 import-linter アーキテクチャ境界強制
コミット前チェック pre-commit 自動品質担保

🔄 セットアップワークフロー

新規プロジェクト作成時はこのチェックリストで進捗を追跡:

セットアップ進捗:
- [ ] Step 1: uv初期化
- [ ] Step 2: 開発依存追加
- [ ] Step 3: Ruff設定
- [ ] Step 4: pre-commit設定
- [ ] Step 5: 動作確認

Step 1: uv初期化

bash
uv init
uv sync

Step 2: 開発依存追加

bash
uv add --dev ruff ty pre-commit pytest

Step 3: Ruff設定(pyproject.tomlに追加)

toml
[tool.ruff]
line-length = 120
target-version = "py311"

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

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

Step 4: pre-commit設定

bash
uv run pre-commit install

Step 5: 動作確認

bash
uv run ruff check .
uv run ty check src/
uv run pytest

確認が失敗した場合は、Step 3に戻って設定を修正。


コマンドリファレンス

uv(パッケージ管理)

bash
uv sync                    # 依存同期
uv add package             # 追加
uv add --dev package       # 開発依存追加
uv run script.py           # 実行(常にuv run経由)

Ruff(リント/フォーマット)

bash
uv run ruff check .        # リント
uv run ruff check --fix .  # 自動修正
uv run ruff format .       # フォーマット

ty(型チェック)

bash
uv run ty check src/       # 型チェック

エラー抑制: # ty: ignore[rule-name]


原則

【MUST】必須

  • uvをパッケージ管理に使用(pip禁止)
  • pyproject.tomlで依存関係を一元管理
  • 行長は120文字
  • importはforce-single-line = true
  • pre-commitをセットアップ

【SHOULD】推奨

  • uv.lockをgitにコミット(再現性確保)
  • tyを型チェックに使用
  • アーキテクチャ境界をimport-linterで強制

Anti-Patterns

  • pip installの使用
  • python script.pyの直接実行(uv run経由で)
  • ❌ 複数の設定ファイル(.flake8, .isort.cfg等)→ pyproject.tomlに統合

References

詳細設定は以下を参照:

Didn't find tool you were looking for?

Be as detailed as possible for better results