-
Save
~/.plonecli/config.tomlwith a real TOML writer, so quotes, backslashes and newlines in any value round-trip instead of producing a file plonecli can no longer read. An unreadable config now fails with a message naming the path. [MrTango] -
Compare versions with PEP 440 in the update check, so users on a beta are told about newer betas and a final release is never "updated" to an older one. [MrTango]
-
Abort instead of proceeding when a template runs on a git repository with uncommitted changes in non-interactive mode (
--defaultsor no terminal). New--allow-dirtyflag oncreate,addandsetupopts back in. [MrTango] -
Give
setupthe--data,--data-fileand--defaultsoptions ofcreate/add, so a backend addon can be bootstrapped from a script or CI. [MrTango] -
Restore test filtering:
plonecli test -t NAMEruns a single test and-s TARGETrestricts the run to one package. Both pass through to the generatedinvoke testtask; projects with an oldertasks.pyget a message naming the fix instead of an unknown-flag error from invoke. [MrTango] -
plonecli testnow exits with the test run's exit code, so a failing test run fails the command. [MrTango] -
Report a failed git auto-commit as a coloured error on stderr naming the uncommitted directory, instead of a bare stdout print. [MrTango]
-
Explain what is missing when
serve,testordebugcannot run the invoke tasks - nouvon PATH, no generatedtasks.py, or a project that does not declareinvoke(dev group) orpytest(testextra) - instead of failing inside a subprocess. [MrTango] -
Fix
plonecli completion <shell> --install, which failed with "No such option: --install" because the chained top-level group disables interspersed arguments. [MrTango] -
Add CLI-level tests for
config,update,setupandcompletion, unit tests for the Plone-version fetching module, and update-banner tests. Document the full command set, the non-interactive options and the test filters in the README. [MrTango]
-
Split the schema-fields part of the plonecli skill into an own
plone-schema-fieldsskill; shorten the plonecli skill description under 500 chars.plonecli skillnow installs all bundled skills. [MrTango] -
Add behavioral evals for the bundled skills under
evals/skill/(headless Claude Code runs against a logging plonecli shim), also runnable as pytest via-m evals, gated byRUN_SKILL_EVALS=1. [MrTango]
-
Add integration test for addon composite flow, driving
create addonend-to-end and asserting the zope-setup step generates the initial Zope instance. [MrTango] -
Document which behaviors the content_type subtemplate enables for
activate_default_behaviorstrue/false, and thatplone.namefromtitleis always on (providing the title field) even with all toggles off. [MrTango] -
Update
EXAMPLE-PROMT.mdwith pat-inject/pat-modal notes; sync uv.lock to 7.0.0b12.dev0. [MrTango] -
Fix plonecli skill description length. [MrTango]
-
Devcontainer: bind the host copier-templates dev clone read-write into the path plonecli reads (
~/.copier-templates/plone-copier-templates), replacing the broken non-existent and redundant read-only mounts; use an explicit/home/nodePATH in the Dockerfile to silence the$HOMEbuild warning. [MrTango] -
Skill: document that the
content_typetemplate wires the parent'sallowed_content_typesitself. [MrTango]
-
Install
plonecliin the devcontainer image viauv tooland drop the read-only~/.ploneclihost mount; the CLI configures itself on first use. [MrTango] -
Fix non-interactive composite
create/setup: layered steps now overwrite files generated by earlier steps instead of raising a copier conflict in--defaultsmode. [MrTango] -
Skill: list field names reserved by Plone's default behaviors so naming conflicts are caught early and an alternative is recommended; keeping a conflicting name is allowed when the type does not enable that behavior. [MrTango]
-
Add plonecli version note to
EXAMPLE-PROMT.md. [MrTango] -
Prefer the installed
plonecli(onPATH, e.g. viauv tool install plonecli) overuvxin the skill's invoke docs, so the user's installed/pinned version runs instead of a separate PyPI-resolved copy.uvxis now documented as a no-install fallback. [MrTango]
-
Clone copier-templates automatically on first use of
create,addand-l. A freshly installed plonecli now works without a manualplonecli updatefirst. [MrTango] -
Store the templates
local_pathhome-relative (~/...) inconfig.tomlso the same config works across machines and containers with a different$HOME. Paths outside the home directory stay absolute. [MrTango] -
Auto-commit by default:
plonecli createinitialises a git repo and commits the generated package, andplonecli addcommits each subtemplate run. Opt out per run with--no-gitor globally viaauto_commit = falsein the[git]section of~/.plonecli/config.toml. [MrTango] -
Warn and prompt before running
create/add/setupon a git repository with uncommitted changes; the prompt defaults to cancel. Non-interactive runs (--defaultsor no tty) print the warning but proceed. [MrTango] -
Add
reference/fields.mdto the bundled plonecli skill: a per-field question flow (name, type, required, default) plus a full Plone field/widget/autoform catalogue, so the agent writes correct schema fields when adding them to a content type or behavior. Wire it into the skill triggers, decision flow andadd.md. [MrTango] -
Add
reference/templates.mdto the bundled plonecli skill, cataloguing every copier-template question (keys, defaults, choices, conditional and computed answers, required keys) so the skill builds non-interactive--defaults -dinvocations without guessing or hitting prompts. Strengthen the skill description and add a scaffold-don't-hand-write rule. [MrTango]
- Add legacy-package migration guidance to the bundled plonecli skill, documenting how to adapt old mr.bob/buildout/setup.py packages so plonecli subtemplates wire in correctly. [MrTango]
- Add
--defaults,-d/--data KEY=VALUEand--data-fileoptions toplonecli createandplonecli addfor non-interactive use (Claude Code / CI), driving copier without prompts. Update the bundled skill to use them. [MrTango]
-
Fix
plonecli skill install --force(and other flags) being rejected when passed after the action argument, caused by the chained top-level group. [MrTango] -
Default
plonecli skill install|updateto--scope userso the skill lands in~/.agents/skills/~/.claude/skillsinstead of the current directory. Use--scope projectfor a project-local install. [MrTango]
-
Broaden the bundled plonecli skill triggers to cover all commands and subtemplates, so AI coding agents load the skill more reliably. [MrTango]
-
Bump idna from 3.11 to 3.15. [dependabot]
-
Bump urllib3 from 2.6.3 to 2.7.0. [dependabot]
-
Add
plonecli skill install|update|statusto install the bundled AI coding agent skill. The skill follows the Agent Skills open standard and is written to.agents/skills/plonecli(project or--scope user) and linked from.claude/skills/plonecli, so Claude Code, Codex, Gemini CLI, Cursor and other compatible agents load the sameSKILL.md. [MrTango] -
Fix
plonecli updatefailing with "Not possible to fast-forward" when the upstream copier-templates branch was rebased or force-pushed. The local clone is now refreshed by fetching and hard-resetting toorigin/<branch>instead of attempting a fast-forward merge. [MrTango] -
Show available templates in
plonecli create --help. The help output now lists each main template with its description and aliases (composite templates render ascomposite: a + b). [MrTango] -
Document the
invoke reconfiguretask in the README, covering theaddon,zope-setup, andinstancetargets and the--nameflag for named instances. [MrTango]
- Add composite template type: templates can declare
type: compositewith an ordered list of sub-templates to run sequentially duringplonecli create. This enablesplonecli create addonto chain backend_addon + zope-setup, restoring the old all-in-one addon creation workflow. [MrTango]
-
Major rewrite: replaced mr.bob/bobtemplates.plone with copier-templates. Templates are now managed as a local git clone at
~/.copier-templates/plone-copier-templates. [MrTango] -
Removed buildout-related commands:
build,buildout,requirements,venv/virtualenv. [MrTango] -
Replaced
~/.mrbobconfig with~/.plonecli/config.toml. Migration from old config is offered on first run. [MrTango]
New features:
-
New
updatecommand to update copier-templates and check PyPI for plonecli updates. [MrTango] -
New
setupcommand to run zope-setup inside an existing backend_addon. [MrTango] -
serve,test,debugnow delegate to invoke tasks generated by templates (uv run invoke start/test/debug). [MrTango] -
Default Plone version is fetched from
dist.plone.org/release/and cached for 24 hours. [MrTango] -
Environment variable overrides for template repo configuration:
PLONECLI_TEMPLATES_REPO_URL,PLONECLI_TEMPLATES_BRANCH,PLONECLI_TEMPLATES_DIR. [MrTango] -
Periodic PyPI update check (every 24 hours) with non-intrusive notification. [MrTango]
-
Primary installation method is now
uv tool install plonecli. Also supports uvx, venv, and pipx. [MrTango] -
Requires Python >= 3.11. [MrTango]
- Support only python 3.11 - 3.14 [erral]
- Provide a way to pass a mrbob configuration file [erral]
- Depend on bobtemplates.plone >=6.0b15 ;)
- Depend on bobtemplates.plone >=6.0b16
-
Remove dependency on
virtualenv. [wesleybl] -
Rename deprecated
autocompletionparameter toshell_complete[zshashz]
- Fix broken releases 2.1/2.1.1 [MrTango]
-
Fix setup.cfg - v2.1 is a brown bag release. [jensens]
-
Improve README [svx]
-
Call mr.bob using its API, no longer as subprocess. This ease the usage in a virtualenv. [jensens]
-
Do not install zest.releaser with plonecli (keep for dev/tox). [jensens]
-
Do not install virtualenv if not Python 2.7 [jensens]
- Release
-
Add alias upport and an alias for "virtualenv" for the venv command [MrTango]
-
Improve handling of global/local commands, we use ClickFilteredAliasedGroup to filter the command rather than using an if condition in code. [MrTango]
-
Fix #63 generate_mrbob_ini and the acconding tests [MrTango]
-
Drop Python2.7 support and remove it from tox and travis setup. Also improve linting with new isort and black. [MrTango]
-
Add config command to disable the venv creation/update on plonecli build command [MrTango]
-
Allow auto completion of template names [MrTango]
-
Improve mrbob config generation and now override an existing config file after a warning [MrTango]
-
Fix typos, ReST formatting and update content of README.rst. [staeff]
- Add new build option -p to define the python binary to use for the virtualenv [MrTango]
-
add note for including install directory to $PATH [fgrcon]
-
Document the new
deprecatedandinfooptions [erral] -
modernize code for Python 3 support [MrTango]
-
Sort templates on --list-templates/-l command output [MrTango]
-
Show deprecate flag and info for templates in template list [MrTango]
-
Use the now released click library in version >= 7.0, you have to uninstall plonecli-click before upgrading! [MrTango]
-
Add -t and -s options to the test command [kakshay21]
-
Fix #33 ConfigParser.NoOptionError [kakshay21]
-
Add plonecli config command to configure mrbob's global user settings [kakshay21]
-
Add versions -V/--versions command [kakshay21]
-
Add document commends -h, -V, test and config in README [kakshay21]
- Add test command to allow running test from plonecli [MrTango]
-
Improve command line output with colors and remove verbose option [MrTango]
-
Add virtualenv as requirement and improve README [MrTango]
- fix autocomletion for top level commands [MrTango]
- use bobtemplates.plone>=3.0.0b5 [MrTango]
- Use a forked version of click library (plonecli-click) as dependency for now [MrTango]
- Fix broken release
- Fix dist on pypi
- Add requirements.txt referencing the special Click version.
This makes a
pipinstallation possible. [jensens] - Refactored registry to use the new bobtemplate.cfg [MrTango]
- provide plonecli_autocomplete.sh for bash autocompletion [MrTango]
- fix depency to bobtemplates.plone, we need >=3.0.0a3 [MrTango]
- Update README to use easy_install instead of pip for now [MrTango]
- fix setup.py to use the github version of click, until click >6.7 is released [MrTango]
- initital version with list templates support and bobtemplates.plone integration [MrTango, tmassman, Gomez]