Community코딩 & 개발github.com

ismailuddin/agentic-skills

Python 패키지 프로젝트 구조를 uv, ruff 및 prek로 마이그레이션합니다.

agentic-skills란 무엇인가요?

이 스킬은 Python 패키지 프로젝트를 기존의 PEP-517 스타일(setup.cfg 기반)에서 최신 uv 기반의 pyproject.toml 구조로 마이그레이션하는 방법을 제공합니다. 개발자는 이를 통해 의존성 관리, 빌드 시스템, 린팅, 포매팅, 커밋 전 훅, CI/CD 파이프라인 등을 통합적으로 현대화할 수 있습니다. 주요 작업으로 setup.cfg → pyproject.toml 변환, .python-version 추가, uv CLI를 사용한 의존성 가져오기, ruff로 pylint/flake8/isort/black 대체, prek로 pre-commit 대체, CI/CD 파이프라인 업데이트 등이 포함됩니다. 이 스킬은 Claude Code, Cursor, Codex 등 UV를 지원하는 모든 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 패키지를 setup.cfg를 사용하는 PEP-517 스타일에서 pyproject.toml과 uv를 사용하는 형식으로 마이그레이션하는 방법을 설명합니다.

사용 시기

사용자가 Python 패키지 저장소 구조를 uv와 호환되는 형식으로 마이그레이션해 달라고 요청할 때마다 사용합니다.

지침

  1. setup.cfg의 내용을 pyproject.toml로 옮기고 setup.cfg를 삭제합니다.
  2. 버전을 3.11로 지정하는 .python-version 파일을 추가합니다.
  3. uv CLI(예: uv add -r requirements-dev.txt)를 사용하여 requirements-dev.txt의 의존성을 pyproject.toml로 가져옵니다.
  4. 빌드 시스템을 uv_build로 전환하고, build를 dev 의존성에서 제거합니다.
  5. Commitizen의 버전 제공자를 uv로 설정합니다.
  6. dev 의존성에서 pylint, flake8, isort, black을 제거하고 ruff로 대체합니다. 모든 관련 설정 파일(pylintrc, .flake8)과 setup.cfg 및/또는 pyproject.toml에 있는 관련 설정을 제거합니다.
  7. 아래 지침에 따라 ruff가 한 줄 가져오기를 강제하도록 설정합니다.
  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가 한 줄 가져오기를 강제하도록 설정

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

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

관련 스킬