Note: this functionality is under heavy development and is not fully implemented yet.
So now you know how to create an assistant. But what if you want to share your assistant with others?
For that you could send them all the files from your assistant and tell them where they belong. But that would be very unpleasant and that’s why we’ve invented dap. Dap is a format of extension for DevAssistant that contains custom assistants. It means DevAssistant Package.
A dap is a tar.gz archive with .dap extension. The name of a dap is always <package_name>-<version>.dap - i.e. foo-0.0.1.dap.
The directory structure of a dap copies the structure of ~/.devassistant or /usr/share/devassistant folder. The only difference is, that it can only contain assistants, files and icons that that belongs to it’s namespace.
Each dap has an unique name (lat’s say foo) and it can only contain assistants foo or foo/*. Therefore, the directory structure looks like this:
foo-0.0.1/
meta.yaml
assistants/
{crt,mod,prep,task}/
foo.yaml
foo/
files/
{crt,mod,prep,task,snippets}/
foo/
snippets/
foo/
icons/
{crt,mod,prep,task,snippets}/
foo.{png,svg}
foo/
doc/
foo/
Note several things:
package_name: foo # required
version: 0.0.1 # required
license: GPLv2 # required
authors: [Bohuslav Kabrda <bkabrda@mailserver.com>, ...] # required
homepage: https://github.com/bkabrda/assistant-foo # optional
summary: Some brief one line text # required
bugreports: <a single URL or email address> # optional
description: |
Some not-so-brief optional text.
It can be split to multiple lines.
BTW you can use **Markdown**.
Once you have your dap packaged, check it for sanity with daplint tool from daploader.
First, you have to get the daplint tool. Install daploader with pip or easy_install.
pip install daploader
Then you can check your dap with daplint:
daplint foo-0.0.1.dap
When you are satisfied, you can share your assistant on Dapi (DevAssistant Package Index).
On Dapi, log in with Github or Fedora account and follow Upload a Dap link in the menu.