Skip to content

Arvis workflow, plugin creator tool

License

MIT, MIT licenses found

Licenses found

MIT
license
MIT
license-alfy
Notifications You must be signed in to change notification settings

jopemachine-arvis/arvish

Repository files navigation

Arvish

CodeFactor Known Vulnerabilities CI NPM download total NPM version MIT license PR's Welcome GitHub issues

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.

Update notifications

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
	}
}

Caching

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.

Publish extension to npm

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 to arvish-prepublish.

Environment variables

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.

alfy

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 support top-await feature.

  • Arvis provides $PATH to extension's scripts. So, run-node is removed in arvish.

Related

Icon sources

This lib uses below icon sources

Image icon by Icons8