A package manager for Ark. It includes a hand-written TOML parser, which will eventually be its own project (and written in Ark).
- GNU Make
- A C compiler like Clang or GCC
- Curl
$ git clone https://www.github.com:ark-lang/arkade
$ cd arkade
$ make
It is recommended that you place arkade
somethwhere in your $PATH
. For example, to add arkade
to your path for your current terminal session:
$ export PATH=$PATH:~/path/to/arkade/bin
Note that we assume you have arkade added to your $PATH
.
If you are using gcc instead of clang, make sure you change CC
in the Makefile from CC = clang
to CC = gcc
or better yet, install clang ;)
Arkade works alongside GitHub, you need to generate a token key that it can use to create repositories, etc. on your account. GitHub has a good article on this. Once you have acquired your token, you need to set this up with Arkade. To do so, you use the login command followed by the token you have just created:
$ arkade login a50f1f263819f9609fa9aab845d2b336a543c0be
This will create a configuration file in ~/.arkade/config.toml
, if this fails for some reason please report the bug on the issue handler, and in the mean time you can edit the config manually:
[config]
token = "a50f1f263819f9609fa9aab845d2b336a543c0be"
After this is all done, you should be ready to roll.
To create an arkade project, you use the new command:
$ arkade new name
$ cd name
This will create a directory name, with all the necessary files and directories that Arkade needs to work correctly. Note it will also initialize a Git repository. You will also need to setup the minimum requirements in the configuration file. It should include (at minimum) the name of the project, you can also give a few extra keys:
todo make this a table with examples:
- name
- version
- verbose
- website
- desc
- private
If your project has any dependencies, you can specify them in your arkade.toml
file under the [dependencies]
directory, in a format like the one given below.
[dependencies]
custom_dependency_name = [ "url_to_github_repo_of_dependency", "version" ]
This causes Arkade to download the given dependency into a folder with the same name as custom_dependency_name
, inside the _deps
directory. As of right now, Arkade can only fetch dependencies from GitHub. You can specify multiple dependencies, as well as the version that you want. And that's it!
Once you've written up your project and you want to publish it, you use the publish command. Currently, this will publish the repository to your GitHub. Eventually, this will take an argument (major|minor|patch) and it will create a patch and a release on your GitHub repository accordingly.
$ arkade publish
And that's it!
This project is licensed under the MIT license.