Contributing to pydantic-deep banner
vstorm-co vstorm-co

Contributing to pydantic-deep

Development community intermediate

Description

Thanks for your interest in contributing! Bug reports, enhancement proposals, and code contributions are all welcome. **All communication and contributions must be in English** so that maintainers and

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Contributing to pydantic-deep

Thanks for your interest in contributing! Bug reports, enhancement proposals, and code contributions are all welcome. **All communication and contributions must be in English** so that maintainers and the wider community can review them effectively.

Getting Help / Reporting Issues

  • Bug reports & feature requestsopen a GitHub Issue
  • Security vulnerabilities — email security@vstorm.co (do NOT use public Issues; see SECURITY.md)
  • Questions & discussion — GitHub Issues are the primary discussion channel and are publicly searchable

All issues and pull requests are archived publicly on GitHub and can be referenced by URL.

Development Setup

git clone https://github.com/vstorm-co/pydantic-deepagents.git
cd pydantic-deepagents
make install

Prerequisites: [uv](https://github.com/astral-sh/uv) (Python package manager) and [pre-commit](https://pre-commit.com/).

Running Tests

The automated test suite uses [pytest](https://pytest.org/) and can be invoked in the standard way:

pytest                   # standard pytest invocation
make test                # run tests with coverage report
make all                 # lint + typecheck + security scan + test

Run specific tests:

# Single test function
uv run pytest tests/test_agent.py::test_function_name -v

# Single test file
uv run pytest tests/test_agent.py -v

# With debug output
uv run pytest tests/test_agent.py -v -s

Coding Standards

All code must conform to the standards defined in [`pyproject.toml`](pyproject.toml). The full configuration lives there; the key tools are:

Tool Purpose Run with
Ruff Linting + formatting (E, F, I, UP, B, SIM, Q, C90 rules) make lint
Pyright Static type checking make typecheck
MyPy Strict static type checking make typecheck-mypy
Bandit Security-focused static analysis make security
Codespell Spell checking via pre-commit

All of these tools are FLOSS. The project can be built, tested, and checked using only free and open-source software.

Requirements for Acceptable Contributions

All pull requests **must** satisfy the following before merging:

  • 100% test coverage — no exceptions (make test enforces this via coverage fail_under = 100)
  • Pass Pyrightmake typecheck
  • Pass MyPymake typecheck-mypy
  • Pass Ruffmake lint (formatting + linting)
  • Pass Banditmake security (no unresolved medium/high severity findings)
  • Pass all CI checks — the GitHub Actions pipeline must be green

Test Policy

**As major new functionality is added to the project, tests of that functionali