In concrete5, you can build all of the objects used in the CMS yourself. No matter if it's a block, a theme, a maintenance task, or a custom attribute, there are APIs for everything and you don't need to touch the core code of the CMS. But imagine if you have a huge project where you build some blocks as well as some jobs. If you just read the previous paragraphs, you might think that you need to put all of the elements in the top-level folders:
jobs. This is where a package can be handy.
Before we have a closer look at the packages, here's what a package offers you: