Lib that helps you create Arvis workflow
, plugin
more easily.
Arvish has both the Cli tools and libraries needed to create arvis extensions.
Check the below documents for usage.
Arvish uses arvis-notifier in the background to show a notification when an extension update is available.
Tip: If you think you don't need to use notification in your extension, add arvish.updateNotification
to false
in package.json
like below.
{
"arvish": {
"updateNotification": false
}
}
Arvish offers the possibility of caching data, either with the fetch or directly through the cache object.
An important thing to note is that the cached data gets invalidated automatically when you update your extension. This offers the flexibility for developers to change the structure of the cached data between extensions without having to worry about invalid older data.
By adding arvish-init
as postinstall
and arvish-cleanup
as preuninstall
script, you can publish your package to npm. This way, your packages are only one simple npm install
command away.
{
"name": "arvis-unicorn",
"scripts": {
"postinstall": "arvish-init",
"preuninstall": "arvish-cleanup"
},
"dependencies": {
"arvish": "*"
}
}
After publishing your extension to npm, your users can easily install or update the extension.
$ npm install --global arvis-unicorn
- You can also automatically check your extension validation by adding
prepublishOnly
toarvish-prepublish
.
Arvis lets users set environment variables for a extension which can then be used by that extension. This can be useful if you, for example, need the user to specify an API token for a service. You can access the extension environment variables from process.env
. For example process.env.apiToken
.
This library is forked from alfy.
So, It has almost same programmatic API with alfy
.
This means you might simply replace alfred-workflows written in alfy
with arvish
.
Note that below differences between arvish and alfy.
-
arvish
does not supporttop-await
feature. -
Arvis provides
$PATH
to extension's scripts. So, run-node is removed inarvish
.
-
arvis-linker - Make Arvis extensions installable from npm
-
arvis-notifier - Update notifications for Arvis extension
-
alfred-to-arvis - Help to convert alfred 4 workflow's info.plist to arvis-workflow.json
-
arvis-extension-validator - Arvis extension's JSON schema, cli and library to validate these.
-
arvish-test - Test your Arvish extensions
-
arvis-store - Publish and Retrieve Arvis extension info
-
generator-arvis - Scaffold out an Arvis extension
This lib uses below icon sources