ismailuddin/agentic-skills

Migra a estrutura de um projeto de pacote Python para usar uv, ruff e prek.

O que é agentic-skills?

Esta skill automatiza a migração de pacotes Python de um estilo PEP-517 tradicional (usando `setup.cfg`) para o moderno ecossistema `uv`, com foco em `pyproject.toml`. Ela é útil para desenvolvedores que desejam modernizar seus projetos, simplificar o gerenciamento de dependências e adotar ferramentas como `ruff` (para formatação e linting) e `prek` (para hooks pré-commit). A skill lida com a transferência de configurações de `setup.cfg`, `pytest.ini` e arquivos de linters antigos (`pylint`, `flake8`, `isort`, `black`) para o `pyproject.toml`, além de configurar o `uv` como sistema de build e integração contínua (CI/CD). Ela é projetada para agentes de IA como Claude Code, que podem executar os passos de forma autônoma, garantindo uma migração limpa e consistente.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

migrate-to-uv

Esta skill documenta como migrar um pacote Python do estilo PEP-517 usando setup.cfg para usar pyproject.toml com uv.

Quando usar

Deve ser usada sempre que o usuário solicitar a migração de uma estrutura de repositório de pacote Python para um formato compatível com uv.

Instruções

  1. Mova o conteúdo de setup.cfg para pyproject.toml e exclua setup.cfg
  2. Adicione um arquivo .python-version especificando a versão como 3.11
  3. Importe as dependências de requirements-dev.txt para pyproject.toml usando a CLI do uv (ex.: uv add -r requirements-dev.txt)
  4. Altere o sistema de build para usar uv_build e remova build das dependências de desenvolvimento.
  5. Configure o provedor de versão para o Commitizen como uv
  6. Remova pylint, flake8, isort, black das dependências de desenvolvimento e substitua por ruff. Remova todos os arquivos de configuração associados, como pylintrc, .flake8, bem como qualquer configuração em setup.cfg e/ou pyproject.toml
  7. Configure o ruff para forçar importações em linha única usando as orientações abaixo.
  8. Mova a configuração de pytest.ini para pyproject.toml
  9. Substitua os hooks pre-commit para black, pylint, isort, flake8 por ruff
  10. Remova pre-commit das dependências e substitua por prek
  11. Execute ruff format e ruff check --fix na base de código.
  12. Atualize qualquer pipeline de CI/CD para usar uv.

Configurando ruff para forçar importações em linha única

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

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

Habilidades Relacionadas