Of course this is a great step to automation and perhaps to make our own StarterKits (with patterns ;-)). I’m getting the point that the CLI is more an enabler than a new shiny UI. I’m using Kirby since version 1 and I’m really thrilled how the little CMS is growing since then. May I tell you a little story of myself?
Me and Kirby
I’m using and developing with Kirby in my free time. I’ve learned how to code with Kirby. I’ve learned about PHP and the broad horizon of web development. And Kirby was a door-opener for me, because it has a really low starting point.
As I started to use Kirby, I was thrilled because it doesn’t needs the dependency of a MySQL database. Just change your data by changing text files. Changing the structure by simply rearranging your folders. Without any dependency Kirby enables me to just use my code I’ve already written in a different project. Just copy and paste code snippets and they immediately start to work.
While using the fast-evolving Kirby, it doesn’t took too long when I’ve started to learn about Git, Repositories, Submodules and so on. I’m a GUI-guy, so I’ve managed everything with Tower. Then I’ve learned to split my snippet library into patterns and learned that the pattern I’m coding also has a user interface that should be easy to use. And I also wanted to make my project even more modular - and I learned to use GULP.
But I’ve made a monster without knowing it. With every single dependency, tool or even CLI I’m using, team-working on a site with new team members is getting really dangerous and difficult.
One day, my colleagues asked me to show the actual code of the website to them. They wanted to dig a bit deeper into web development and after I’ve told them that Kirby is a really cool starting point, they wanted to work with me on the company’s website. Cool, huh? I thought Kirby was some kind of a good starting point to collaborate and learn together.
But then the problems has started. It was a bit complicated to tell them what Git is and why I’m using it but it was okay. Also SCSS was not easy, but not impossible to understand. Then I had to explain GULP - and even when you don’t remember how hard it is to learn about GULP without learning Node.js - it’s really hard!
Long story short
I’ve learned that the point where I am is far away from the beginner’s starting point. And with every dependency, with every additional tool, my project is getting more and more complex - and complicated. It’s getting hard and partly impossible to work in a team with someone who’s new in the project team.
With CLI, the whole project will be even more complex. I assume that’s far away from being intuitive or “natural” and therefore not easy to learn for beginners.
Today I’ve cloned the GetKirby StarterKit to make my own starter kit with patterns. Then I’ve read this in the changes:
With the new CLI it’s becoming easier to update individual components and the git submodules can finally be removed. They introduced too many problems anyway.
I don’t know whether this is the right way for the Kirby CMS. But I think this is a point where it’s getting really hard for beginners. Please don’t forget that.