A symlinker tool to help setup environments quickly
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
help
helpers
libs
resources
LICENSE
README.md
hebe
hebe.json

README.md

Welcome to hebe

hebe is an internal tool that we use at RocketTheme to help create easy symbolic links to our projects and quickly set up and running environments.

Every projects that has a hebe.json manifest can be registered and then linked whenever needed. Hebe itself is registrable.

The reason we decided to create Hebe is because often times we have projects that require many bits to be symbolicly linked into different locations and in order to keep centralized all the changes we apply. Performing this operation manually is no fun and since we created hebe, we speed up our process of getting started dramatically.

Installation

You can install hebe by running the one-line command below, making sure you change directory to the folder you actually want hebe to get cloned to. By default it gets installed at the root of your $HOME directory.

cd ~ && git clone https://github.com/rockettheme/hebe.git && cd hebe && ./hebe register . && ./hebe link hebe /usr/local/bin && echo -e "Installation completed\n\n Hebe help:" && hebe

Now you are all set with hebe, you can run hebe from anywhere in your terminal and hebe help to get a list of commands.

Update

You can easily update hebe from anywhere by running the command

hebe update

How does it work

For instance, let's say you are working on a component for Joomla, that has also a module, a plugin and a library.

~/MyProject
    |-- component
    |   |-- admin
    |   `-- site
    |-- library
    |-- module
    `-- plugin

To test this setup on a Joomla instance you'll have to link every bit manually to different locations:

component/admin => /administrator/components/com_myproject
component/site  => /components/com_myproject
library         => /libraries/myproject
module          => /modules/mod_myproject
plugin          => /plugins/system/myproject

This takes quite some time, especially if you want different instances.

With hebe, all this is simplified by one line command. Once you have defined your hebe.json manifest and registered it, all you need to do is link the project:

$ hebe link myproject ~/Sites/joomla_instance

And this is how the hebe.json manifest would look like:

{
    "project": "MyProject",
    "platforms": {
        "joomla3": {
            "nodes": {
                "com_myproject": [
                    {
                        "source": "/component/admin",
                        "destination": "/administrator/components/com_myproject"
                    },
                    {
                        "source": "/component/site",
                        "destination": "/components/com_myproject"
                    }
                ],
                "library": [
                    {
                        "source": "/library",
                        "destination": "/libraries/myproject"
                    }
                ],
                "mod_myproject": [
                    {
                        "source": "/module",
                        "destination": "/modules/mod_myproject"
                    }
                ],
                "plg_system_myproject": [
                    {
                        "source": "/plugin",
                        "destination": "/plugins/system/myproject"
                    }
                ]
            }
        }
    }
}

Registered projects

Whenever you register a project it gets stored in a local file locate at ~/.hebe/projects. You can edit this file manually and next time you run hebe it will pick up your changes.

License

LICENSE

Authors

RocketTheme Team