Contributing¶
Contributions are welcome: bug reports, fixes, documentation, tests and new features. Check the Roadmap first, and open an issue before starting anything large.
Setting up¶
Python 3.14 or newer is required.
git clone https://github.com/devsetgo/pydantic-schemaforms.git
cd pydantic-schemaforms
make install
Before opening a pull request¶
- Run
make tests. It runs pre-commit, pyright and the full test suite. - Keep
tests/test_form_data_parsing.pypassing when changing nested form parsing. It's a required regression suite, run explicitly bymake testsand in CI. - A new input, layout or kind of validation needs a working example in
examples/, under both Bootstrap and Material, in the same pull request.tests/test_examples_coverage.pychecks this. - Build HTML with
html(t'...'), never an f-string around user data.string.Templateis banned.
Editing the documentation¶
Some files are generated. Change their source instead:
| Generated | Source |
|---|---|
docs/index.md, docs/contribute.md, docs/release-notes.md |
README.md, CONTRIBUTING.md, CHANGELOG.md |
The input list in docs/reference/inputs.md |
examples/input_type_reference.py, then scripts/generate_input_type_reference.py |
pydantic_schemaforms/.agents/skills/, pydantic_schemaforms/assets/ai/ |
ai/, then make ai-instructions |
Code examples in the docs live in docs_src/, where tests run them. make docs-build builds the
site locally.