Skip to content

Copier templates#93

Merged
MrTango merged 15 commits intomasterfrom
copier-templates
Apr 15, 2026
Merged

Copier templates#93
MrTango merged 15 commits intomasterfrom
copier-templates

Conversation

@MrTango
Copy link
Copy Markdown
Contributor

@MrTango MrTango commented Apr 15, 2026

  • I signed and returned the Plone Contributor Agreement, and received and accepted an invitation to join a team in the Plone GitHub organization.
  • I verified there aren't any other open pull requests for the same change.
  • I followed the guidelines in Contributing to Plone.
  • I successfully ran code quality checks on my changes locally.
  • I successfully ran tests on my changes locally.
  • If needed, I added new tests for my changes.
  • If needed, I added documentation for my changes.
  • I included a change log entry in my commits.

If your pull request closes an open issue, include the exact text below, immediately followed by the issue number. When your pull request gets merged, then that issue will close automatically.

Closes #

MrTango and others added 15 commits April 7, 2026 10:25
Replace the outdated Click 7.x plonecli_autocomplete.sh with a built-in
`plonecli completion` command that generates correct Click 8.0+ completion
scripts for bash, zsh, and fish. Supports --install flag to automatically
append the activation line to the user's shell config file. Update README.md
and docs/installation.md with shell completion setup instructions, including
a developer workflow section for using completion with editable installs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Convert all documentation from reStructuredText to Markdown
- Update docs/conf.py to support both .rst and .md via myst-parser
- Remove old RST doc stubs (authors, contributing, history, index, readme)
- Add ROADMAP.md, CLAUDE.md, and updated AUTHORS/CHANGES/CONTRIBUTING as .md
- Bump version to 8.0.0a1, add docs optional dependency
- Add devcontainer configuration and uv.lock

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Truncate plone_version to major.minor format (e.g. "6.1.1" -> "6.1")
before passing as user_defaults to copier, since templates define
choices using major.minor format only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Read the template's copier.yml choices to determine the expected version
format. Templates use different formats (backend_addon uses major.minor
like "6.1", zope-setup uses full semver like "6.1.1"), so the version
default must be matched accordingly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The copier templates own their version choices and defaults, so plonecli
should not try to resolve or match plone_version. This avoids format
mismatches between templates that use different version schemes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…er.yml

Templates can now declare their type (main/sub), parent project types,
and aliases directly in their copier.yml without requiring plonecli
code changes. Hardcoded lists remain as fallback for backward compat.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…step subtemplate

Old-style Plone packages with bobtemplate.cfg (template=plone_addon or plone_theme)
are now detected as backend_addon projects, enabling plonecli add to work in them.
Also adds upgrade_step to the hardcoded backend_addon subtemplates list.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mount ~/develop/plone/src/copier-templates as writable and
~/.copier-templates/plone-copier-templates as read-only.

Co-Authored-By: MrTango <maik@planetquadrat.de>
Templates now self-register entirely via the _plonecli section in
copier.yml. The hardcoded MAIN_TEMPLATES, SUBTEMPLATES, and
TEMPLATE_ALIASES lookups are removed, along with the standalone
resolve_template_name helper. The metadata schema is simplified to
use `type` and `parent` (string or list) instead of `template_type`
and `parent_types`.

The legacy "project" project type is renamed to its canonical
template name "zope-setup" so detection and subtemplate matching go
through a single naming scheme. copier-templates-extensions is added
as a dependency for templates that need it.
Generates a backend_addon + theme_barceloneta subtemplate into a tmp
dir, runs uv sync, and executes the generated package's own pytest
suite — which now includes a theme-active assertion shipped in the
copier template. Registered an 'integration' marker for opting out of
the slow path when needed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Why: the upstream templates now live under the plone org, so the CLI
should default new users there instead of the derico-de fork.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@MrTango MrTango merged commit ca15e98 into master Apr 15, 2026
6 checks passed
@MrTango MrTango deleted the copier-templates branch April 15, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant