Why do we have plonecli and bobtemplates.plone?

I still didn't grasp why do we have two packages that are intended to do the same thing. Did we have a discussion about plonecli here in the forums?

plonecli provides a user friendly wrapper around bobtemplates.plone. So plonecli is a consumer of bobtemplates.plone that provides a more consistent and "human friendly" command line platform.

Compare the mrbob way:

./bin/mrbob bobtemplates.plone:addon -O src/collective.foo

To the plonecli way:

plonecli create addon src/collective.todo

I personally love that I can use commands like:

plonecli build
plonecli serve

plonecli is build on top of bobtemplates.plone in order to provide a more simplified and more general user experience.


So, in the early days we had ZopeSkel, then templer, then mr.bob, and now plonecli that uses mr.bob. But plonecli is intended to be a command line application, pip installable, that helps with development and creating/updating plone packages.

1 Like

That's a reasonable summary. One big thing that I'd point out is the user experience.

what is your concrete problem with the current situation?
As a user/developer you just install plonecli, the rest is behind the scenes.

for example:

pip3 install plonecli --user
plonecli create addon collective.svelte_components
cd collective.svelte_components
plonecli add view
plonecli add svelte_app
plonecli build

The only thing i can imaging is that one might find it odd to also look into the docs of bobtemplates.plone for detail info about the templates. But i guess you don't need too look into the docs very often.

@MrTango I need to know more about this svelte_app thing.
I'm learning Svelte now!
Here's an article I wrote on Svelte.

Looking into the svelte_app thing... I think I'll kick the tyres this week and see how far I can get.

1 Like