Generated Files#
plone.meta generates the following files in the target repository.
Each file is rendered from a Jinja2 template in src/plone/meta/default/.
Important
Do not edit these files directly. All customization goes into .meta.toml.
.meta.toml#
Template: Created programmatically
Purpose: plone.meta’s own configuration file. Stores the template type, commit ID, and all per-repository customizations. This is the only file you should edit.
.editorconfig#
Template: editorconfig.j2
Purpose: Editor configuration for consistent formatting across IDEs. Sets 4-space indentation for Python, 2-space for XML/YAML/ZCML, and Unix line endings.
.flake8#
Template: flake8.j2
Purpose: Flake8 configuration. Ignores rules that conflict with Black (E501, W503, E203, E231) and enables doctests.
.gitignore#
Template: gitignore.j2
Purpose: Git ignore patterns for Python projects, build artifacts, test output, editor files, Buildout directories, and mxdev artifacts.
.github/workflows/meta.yml#
Template: meta.yml.j2
Purpose: GitHub Actions workflow for repositories hosted on GitHub.
Uses workflow_call to reference reusable workflows from the plone/meta repository (qa, coverage, dependencies, release_ready, circular).
Note
On the old main branch there used to be a test job. Since 2.x, this is handled in test-matrix.yml (see below). You can still add "test" to the [github] jobs list in .meta.toml if needed.
Note
Only generated for GitHub-hosted repositories.
.github/workflows/test-matrix.yml#
Template: test-matrix.yml.j2
Purpose: GitHub Actions workflow that runs tests across a matrix of Plone versions and Python versions.
Generated automatically when use_test_matrix is enabled (the default).
The matrix is configured via the [tox] test_matrix option in
.meta.toml.
The default matrix tests the combinations of Plone versions and Python versions as defined by the Plone community.
See the [tox] test_matrix option in .meta.toml Options for how to customize it.
Note
Only generated for GitHub-hosted repositories.
.github/dependabot.yml#
Template: dependabot.yml (static)
Purpose: Dependabot configuration for automatic GitHub Actions updates on a weekly schedule.
Note
Only generated for GitHub-hosted repositories.
.gitlab-ci.yml#
Template: gitlab-ci.yml.j2
Purpose: GitLab CI pipeline configuration. Defines jobs for linting, testing, coverage, dependency checking, and release readiness.
Note
Only generated for GitLab-hosted repositories.
.pre-commit-config.yaml#
Template: pre-commit-config.yaml.j2
Purpose: Pre-commit hook configuration. Includes pyupgrade, isort, black, zpretty, flake8, codespell, check-manifest, pyroma, check-python-versions, and i18ndude.
pyproject.toml#
Template: pyproject.toml.j2
Purpose: Python distribution metadata and tooling configuration.
Contrary to all other generated files, pyproject.toml keeps whatever is within some special markers.
These markers are meant to be around the [project] table, it should look like:
# START-MARKER-MANUAL-CONFIG
[project]
name = "plone.meta"
version = "1.2.4"
...
# END-MARKER-MANUAL-CONFIG
tox.ini#
Template: tox.ini.j2
Purpose: Tox environment definitions for testing, linting, coverage, dependency checking, release readiness, and circular dependency detection. This is considered the most important generated file.
The main template tox.ini.j2 uses a modular architecture with {% include %} directives to compose the output from sub-templates:
tox-init.j2– tox initialization and configuration headertox-base.j2– base test environment definitiontox-test-runner-specifics.j2– test runner specific settings (pytest or zope.testrunner)tox-test-coverage.j2– coverage environment configurationtox-qa.j2– linting and formatting environmentstox-plone-depending-qa.j2– Plone-specific QA environments (dependencies, release-check, circular)
news/.changelog_template.jinja#
Template: changelog_template.jinja (static)
Purpose: Towncrier template for Markdown-formatted changelogs.
Only generated if a news/ folder exists and CHANGES.md is used.