Skip to content

Latest commit

 

History

History
514 lines (321 loc) · 13.9 KB

File metadata and controls

514 lines (321 loc) · 13.9 KB

History

7.0.0b14 (unreleased)

  • Save ~/.plonecli/config.toml with 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 (--defaults or no terminal). New --allow-dirty flag on create, add and setup opts back in. [MrTango]

  • Give setup the --data, --data-file and --defaults options of create/add, so a backend addon can be bootstrapped from a script or CI. [MrTango]

  • Restore test filtering: plonecli test -t NAME runs a single test and -s TARGET restricts the run to one package. Both pass through to the generated invoke test task; projects with an older tasks.py get a message naming the fix instead of an unknown-flag error from invoke. [MrTango]

  • plonecli test now 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, test or debug cannot run the invoke tasks - no uv on PATH, no generated tasks.py, or a project that does not declare invoke (dev group) or pytest (test extra) - 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, setup and completion, 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]

7.0.0b13 (2026-07-24)

  • Split the schema-fields part of the plonecli skill into an own plone-schema-fields skill; shorten the plonecli skill description under 500 chars. plonecli skill now 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 by RUN_SKILL_EVALS=1. [MrTango]

7.0.0b12 (2026-06-30)

  • Add integration test for addon composite flow, driving create addon end-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_behaviors true/false, and that plone.namefromtitle is always on (providing the title field) even with all toggles off. [MrTango]

  • Update EXAMPLE-PROMT.md with pat-inject/pat-modal notes; sync uv.lock to 7.0.0b12.dev0. [MrTango]

  • Fix plonecli skill description length. [MrTango]

7.0.0b11 (2026-05-27)

  • 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/node PATH in the Dockerfile to silence the $HOME build warning. [MrTango]

  • Skill: document that the content_type template wires the parent's allowed_content_types itself. [MrTango]

7.0.0b10 (2026-05-24)

  • Install plonecli in the devcontainer image via uv tool and drop the read-only ~/.plonecli host 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 --defaults mode. [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]

7.0.0b9 (2026-05-24)

  • Add plonecli version note to EXAMPLE-PROMT.md. [MrTango]

  • Prefer the installed plonecli (on PATH, e.g. via uv tool install plonecli) over uvx in the skill's invoke docs, so the user's installed/pinned version runs instead of a separate PyPI-resolved copy. uvx is now documented as a no-install fallback. [MrTango]

7.0.0b8 (2026-05-24)

  • Clone copier-templates automatically on first use of create, add and -l. A freshly installed plonecli now works without a manual plonecli update first. [MrTango]

  • Store the templates local_path home-relative (~/...) in config.toml so 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 create initialises a git repo and commits the generated package, and plonecli add commits each subtemplate run. Opt out per run with --no-git or globally via auto_commit = false in the [git] section of ~/.plonecli/config.toml. [MrTango]

  • Warn and prompt before running create/add/setup on a git repository with uncommitted changes; the prompt defaults to cancel. Non-interactive runs (--defaults or no tty) print the warning but proceed. [MrTango]

  • Add reference/fields.md to 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 and add.md. [MrTango]

  • Add reference/templates.md to 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 -d invocations without guessing or hitting prompts. Strengthen the skill description and add a scaffold-don't-hand-write rule. [MrTango]

7.0.0b7 (2026-05-22)

  • 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]

7.0.0b6 (2026-05-22)

  • Add --defaults, -d/--data KEY=VALUE and --data-file options to plonecli create and plonecli add for non-interactive use (Claude Code / CI), driving copier without prompts. Update the bundled skill to use them. [MrTango]

7.0.0b5 (2026-05-22)

  • 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|update to --scope user so the skill lands in ~/.agents/skills / ~/.claude/skills instead of the current directory. Use --scope project for a project-local install. [MrTango]

7.0.0b4 (2026-05-21)

  • 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]

7.0.0b3 (2026-05-21)

  • Add plonecli skill install|update|status to 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 same SKILL.md. [MrTango]

  • Fix plonecli update failing 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 to origin/<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 as composite: a + b). [MrTango]

  • Document the invoke reconfigure task in the README, covering the addon, zope-setup, and instance targets and the --name flag for named instances. [MrTango]

7.0.0b2 (2026-04-16)

  • Add composite template type: templates can declare type: composite with an ordered list of sub-templates to run sequentially during plonecli create. This enables plonecli create addon to chain backend_addon + zope-setup, restoring the old all-in-one addon creation workflow. [MrTango]

7.0.0b1 (2026-04-16)

  • 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 ~/.mrbob config with ~/.plonecli/config.toml. Migration from old config is offered on first run. [MrTango]

New features:

  • New update command to update copier-templates and check PyPI for plonecli updates. [MrTango]

  • New setup command to run zope-setup inside an existing backend_addon. [MrTango]

  • serve, test, debug now 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]

3.0b1 (2026-04-14)

  • Support only python 3.11 - 3.14 [erral]

2.5 (2022-11-03)

  • Provide a way to pass a mrbob configuration file [erral]

2.4 (2022-10-10)

  • Depend on bobtemplates.plone >=6.0b15 ;)

2.3 (2022-10-08)

  • Depend on bobtemplates.plone >=6.0b16

2.2 (2022-05-04)

  • Remove dependency on virtualenv. [wesleybl]

  • Rename deprecated autocompletion parameter to shell_complete [zshashz]

2.1.2 (2021-05-06)

  • Fix broken releases 2.1/2.1.1 [MrTango]

2.1.1 (2021-05-05)

  • Fix setup.cfg - v2.1 is a brown bag release. [jensens]

  • Improve README [svx]

2.1 (2021-05-05)

  • 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]

2.0 (2020-12-10)

  • Release

2.0b1 (2020-11-20)

  • 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]

2.0a2 (2020-11-19)

  • 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]

1.1 (2019-04-14)

  • Add new build option -p to define the python binary to use for the virtualenv [MrTango]

1.0 (2019-03-08)

  • add note for including install directory to $PATH [fgrcon]

  • Document the new deprecated and info options [erral]

  • modernize code for Python 3 support [MrTango]

0.3.0 (2018-10-17)

  • 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]

0.2.2 (2018-08-13)

  • Add -t and -s options to the test command [kakshay21]

  • Fix #33 ConfigParser.NoOptionError [kakshay21]

0.2.1 (2018-07-09)

  • 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]

0.2.0 (2018-04-03)

  • Add test command to allow running test from plonecli [MrTango]

0.1.1 (2018-03-28)

  • Improve command line output with colors and remove verbose option [MrTango]

  • Add virtualenv as requirement and improve README [MrTango]

0.1.1b6 (2018-03-28)

  • fix autocomletion for top level commands [MrTango]

0.1.1b5 (2018-03-27)

  • use bobtemplates.plone>=3.0.0b5 [MrTango]

0.1.1b4 (2018-03-26)

  • Use a forked version of click library (plonecli-click) as dependency for now [MrTango]

0.1.1b3 (2018-03-23)

  • Fix broken release

0.1.1b2 (2018-03-22)

  • Fix dist on pypi

0.1.1b1 (2018-03-22)

  • Add requirements.txt referencing the special Click version. This makes a pip installation possible. [jensens]
  • Refactored registry to use the new bobtemplate.cfg [MrTango]

0.1.0a4 (2017-10-30)

  • provide plonecli_autocomplete.sh for bash autocompletion [MrTango]
  • fix depency to bobtemplates.plone, we need >=3.0.0a3 [MrTango]

0.1.0a3 (2017-10-24)

  • Update README to use easy_install instead of pip for now [MrTango]

0.1.0a2 (2017-10-24)

  • fix setup.py to use the github version of click, until click >6.7 is released [MrTango]

0.1.0a1 (2017-10-24)

  • initital version with list templates support and bobtemplates.plone integration [MrTango, tmassman, Gomez]