Scope and Limitations#
What plone.meta covers#
plone.meta manages configuration files for single-package Python repositories in the Plone ecosystem. This includes:
Development tool configuration (linting, formatting, editor settings)
Test environment setup (tox)
CI/CD pipelines (GitHub Actions, GitLab CI)
Pre-commit hooks
Release readiness checks
Dependency validation
What plone.meta does not cover#
JavaScript and frontend projects#
Volto and other JavaScript-based projects have their own ecosystem with different tooling (ESLint, Prettier, Jest, etc.). plone.meta is strictly for Python projects.
Monorepo projects#
Repositories with both backend and frontend code bases – such as those created by Cookieplone – are not supported. plone.meta expects a single Python package at the top level of the repository.
Multi-version support#
plone.meta allows testing against multiple Plone versions via the test_matrix configuration.
However, it does not support maintaining entirely separate dependency sets or build configurations for different major Plone versions within a single branch.
Package scaffolding#
plone.meta does not create new packages. It configures existing ones. For creating new Plone packages, use Cookieplone or plonecli.
Custom CI logic#
plone.meta generates standardized CI pipelines.
If your package needs significantly custom CI logic (custom Docker builds, deployment steps, integration tests with external services), you can extend via extra_lines, but at some point it may make more sense to maintain CI configuration manually.