Develop ploneasgi#

This guide shows you how to work on ploneasgi itself. You need Python 3.14 and uv.

Set up the checkout#

git clone https://github.com/simplesconsultoria/ploneasgi.git
cd ploneasgi
make install

make install installs the package and the test dependencies, without Plone. To run the tests that need a Plone site, add it:

make install-plone

Run the tests#

make test

make test runs whatever the environment supports. To run each half on its own, and assert the environment matches:

make test-no-plone
make test-plone

make test-no-plone fails if Plone is installed. It proves that the modules that must stay free of Zope still import without it.

Format and check#

make format
make lint

make format rewrites files. make lint only reads them, and is the target CI runs.

Build the documentation#

The documentation is its own uv project, in docs/, with its own environment:

make docs-install
make docs-html
make docs-vale
make docs-linkcheck

The pages are written to docs/_build/html. To rebuild on every change and serve the result locally, run make docs-livehtml.

Add a changelog entry#

Every change that users notice needs a news fragment in news/:

news/<issue-number>.<type>
news/+<slug>.<type>

Use breaking, feature, bugfix, documentation, internal, or tests as the type. Write in the past tense, and end with your GitHub handle:

Added a websocket example to the documentation. @your-handle

Preview the result with make changelog.