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
2 Likes

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

-aj

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