plone.meta standardizes configuration files across Plone-related Python repositories.
It generates and manages .editorconfig, .flake8, .gitignore, pyproject.toml, tox.ini, .pre-commit-config.yaml, and CI pipelines (GitHub Actions, GitLab CI) from Jinja2 templates, with per-repository customization via .meta.toml.
python3 -m venv venv
venv/bin/pip install plone.meta
venv/bin/config-package /path/to/your/packageFull documentation is available at https://plone.github.io/meta/
- Tutorials -- Step-by-step lessons to get started
- How-To Guides -- Solutions to specific problems
- Reference -- Configuration options and CLI details
- Explanation -- Architecture, design decisions, and philosophy
config-package-- Generate configuration files for a single repositorymulti-call-- Apply configuration across multiple repositoriesre-enable-actions-- Re-enable auto-disabled GitHub Actions
plone.meta also provides reusable workflows and composite actions for GitHub Actions.
See the full documentation for details.
plone/meta covers single-package Python repositories.
It does not cover:
- Volto or other JavaScript-based projects
- Monorepo projects (backend + frontend)
- Projects supporting multiple Plone versions in the same branch
GPLv2. See LICENSE.