smithery/neversight

uv-tdd

A development process for Python code that uses Test Drivern Development (TDD) to iterate on a new project based around uv.

Installation

$ npx skills add smithery/neversight --skill uv-tdd

Summary

  • A development process for Python code that uses Test Drivern Development (TDD) to iterate on a new project based around uv.
  • Use when creating a new Python project, writing Python code with tests, or working on Python development using test-driven development practices with the uv package manager.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/neversight · top by installs.

npx skills add smithery/neversight

Browse all from smithery/neversight

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,165 B
  • docs SUMMARY.md 311 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

uv-tdd skill

A development process for Python applications that uses TDD to iterate on a new project based around uv.

Create a project with this command:

mkdir name-of-project
cd name-of-project
uv init --python 3.14
git init (if not already in a git repo)

This creates an initial pyproject.toml file

Add dependencies using:

uv add httpx

Always start by adding a dev dependency of pytest like this:

uv add pytest --dev

Then add a starting test:

mkdir tests
echo 'def test_add():
    assert 1 + 1 == 2' > tests/test_add.py

Then run the tests like this:

uv run pytest

Always run Python code like this:

uv run python -c "..."

Always create a README.md for the project, which starts with just the project name as a heading plus a short description.

Start by creating a spec.md file with a detailed specification that includes markdown TODO lists. Update the spec and those TODOs as you progress, including adding new ones and checking off previous ones.

Practice TDD. For every change start by writing a test (grouped sensible in test files with other related tests) and then use uv run pytest -k nameoftest to watch it fail. Then implement the change and watch the test pass. Update the TODOs and add or update relevant documentation in the README, then commit the implementation and tests and documentation as a single commit.

Use and reuse pytest fixtures where appropriate, including for temporary files used for the duration of the test run. Use pytest.mark.parameterized to avoid duplicated test code.

Delete that testadd.py file once you have implemented your first real test. Do not include that testadd.py file in any of your commits.

Commit often, in sensible chunks. If a remote is configured then push after every commit.