Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Python dependency management with Poetry and Rye -- lockfile-driven workflows, dependency groups, monorepo patterns, and migration paths. Covers pyproject.toml-centric packaging for projects not yet on uv.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Poetry and Rye are Python dependency managers that enforce lockfile-driven, deterministic builds. Both use pyproject.toml as the single configuration file. Poetry is the established standard (since 2018); Rye is a newer Astral tool that bridges to uv. For greenfield projects, consider modern-python skill (uv-native). This skill covers Poetry/Rye for existing codebases and teams already invested in these tools.
poetry.lock or requirements.lock) -- without it, builds are non-deterministic and CI/CD will resolve different versions than development.pip install in a Poetry/Rye-managed project -- it bypasses the resolver and creates ghost dependencies invisible to the lockfile.poetry add/rye add to add dependencies -- manual pyproject.toml edits without re-locking create stale lockfiles.| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
Editing pyproject.toml deps without running poetry lock | Lockfile becomes stale; CI installs different versions than intended | Always run poetry lock or rye lock after any dependency change |
Using poetry install without --no-root in CI | Installs the project in editable mode unnecessarily; slower CI builds | Use poetry install --no-root for library deps only, --only main for production |
Committing .venv/ directory to version control | Bloats repo; virtualenvs are platform-specific and non-portable | Add .venv/ to .gitignore; recreate with poetry install or rye sync |
| Mixing pip and Poetry in the same project | Creates two dependency graphs; pip-installed packages invisible to Poetry | Use only poetry add/rye add for all dependency changes |
Using * version constraints for all dependencies | No upper bound protection; major version bumps break silently | Use compatible release (^ in Poetry) or upper-bounded ranges |
# Initialize new project
poetry init --name my-project --python ">=3.12"
# Add dependencies by group
poetry add requests httpx
poetry add --group dev ruff pytest pytest-cov
poetry add --group docs sphinx
# Install all groups
poetry install
# Install production only
poetry install --only main
# Initialize new project
rye init my-project
cd my-project
# Add dependencies
rye add requests httpx
rye add --dev ruff pytest pytest-cov
# Sync (install) dependencies
rye sync
[tool.poetry]
name = "my-project"
version = "0.1.0"
description = "Project description"
authors = ["Team <team@example.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = ">=3.12"
requests = "^2.31"
httpx = "^0.27"
[tool.poetry.group.dev.dependencies]
ruff = "^0.9"
pytest = "^8.0"
pytest-cov = "^6.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Poetry
run: pipx install poetry
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: poetry-$HASH_OF_LOCKFILE
- name: Install dependencies
run: poetry install --no-root
- name: Lint
run: poetry run ruff check .
- name: Test
run: poetry run pytest --cov
# Poetry: audit dependencies for known CVEs
poetry audit
# Rye: use pip-audit integration
rye run pip-audit
When ready to migrate from Poetry/Rye to uv:
# Export Poetry dependencies
poetry export -f requirements.txt --output requirements.txt
# Initialize uv project
uv init
uv add $(grep -v '^#' requirements.txt | grep -v '^\-' | cut -d'=' -f1)
# Verify
uv sync
uv run pytest
See modern-python skill for the complete uv workflow.
| Skill | Relationship |
|---|---|
modern-python | uv-native workflow (recommended for greenfield projects) |
python-backend-expert | Framework-specific patterns (Django, FastAPI, Flask) |
tdd | Test-driven development methodology |
comprehensive-unit-testing-with-pytest | Testing strategies and patterns |
Before starting:
Read .claude/context/memory/learnings.md for prior Python packaging decisions.
After completing: Record any migration issues, version constraints, or resolver conflicts to .claude/context/memory/learnings.md.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.