{"id":22794556,"url":"https://github.com/jopemachine-arvis/arvish","last_synced_at":"2025-09-07T22:37:47.114Z","repository":{"id":57184479,"uuid":"367337870","full_name":"jopemachine-arvis/arvish","owner":"jopemachine-arvis","description":"Arvis workflow, plugin creator tool","archived":false,"fork":false,"pushed_at":"2021-10-22T12:49:44.000Z","size":294,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-20T03:41:25.291Z","etag":null,"topics":["arvis","arvis-extension","arvis-plugin","arvis-workflow"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jopemachine-arvis.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-14T11:11:23.000Z","updated_at":"2022-06-15T02:30:45.000Z","dependencies_parsed_at":"2022-09-14T08:50:29.594Z","dependency_job_id":null,"html_url":"https://github.com/jopemachine-arvis/arvish","commit_stats":null,"previous_names":["jopemachine/arvish"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jopemachine-arvis/arvish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jopemachine-arvis%2Farvish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jopemachine-arvis%2Farvish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jopemachine-arvis%2Farvish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jopemachine-arvis%2Farvish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jopemachine-arvis","download_url":"https://codeload.github.com/jopemachine-arvis/arvish/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jopemachine-arvis%2Farvish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274107697,"owners_count":25223451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arvis","arvis-extension","arvis-plugin","arvis-workflow"],"created_at":"2024-12-12T04:09:14.898Z","updated_at":"2025-09-07T22:37:47.091Z","avatar_url":"https://github.com/jopemachine-arvis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arvish\n\n[![CodeFactor](https://www.codefactor.io/repository/github/jopemachine/arvish/badge)](https://www.codefactor.io/repository/github/jopemachine/arvish)\n[![Known Vulnerabilities](https://snyk.io/test/github/jopemachine/arvish/badge.svg)](https://www.codefactor.io/repository/github/jopemachine/arvish)\n[![CI](https://github.com/jopemachine/arvish/actions/workflows/main.yml/badge.svg)](https://github.com/jopemachine/arvish/actions)\n[![NPM download total](https://img.shields.io/npm/dt/arvish)](http://badge.fury.io/js/arvish)\n[![NPM version](https://badge.fury.io/js/arvish.svg)](http://badge.fury.io/js/arvish)\n[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)\n[![PR's Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com)\n[![GitHub issues](https://img.shields.io/github/issues/jopemachine/arvish.svg)](https://GitHub.com/jopemachine/arvish/issues/)\n\nLib that helps you create [Arvis](https://github.com/jopemachine/arvis) `workflow`, `plugin` more easily.\n\nArvish has both the Cli tools and libraries needed to create arvis extensions.\n\nCheck the below documents for usage.\n\n* [Cli tools for creating arvis-extensions](./documents/cli.md)\n\n* [Libraries for creating workflow](./documents/lib-workflow.md)\n\n* [Libraries for creating plugin](./documents/lib-plugin.md)\n\n## Update notifications\n\nArvish uses [arvis-notifier](https://github.com/jopemachine/arvis-notifier) in the background to show a notification when an extension update is available.\n\nTip: If you think you don't need to use notification in your extension, add `arvish.updateNotification` to `false` in `package.json` like below.\n\n```json\n{\n\t\"arvish\": {\n\t\t\"updateNotification\": false\n\t}\n}\n```\n\n## Caching\n\nArvish offers the possibility of caching data, either with the [fetch](#fetchurl-options) or directly through the [cache](#cache) object.\n\nAn 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.\n\n## Publish extension to npm\n\nBy adding `arvish-init` as `postinstall` and `arvish-cleanup` as `preuninstall` script, you can publish your package to [npm](https://npmjs.org). This way, your packages are only one simple `npm install` command away.\n\n```json\n{\n\t\"name\": \"arvis-unicorn\",\n\t\"scripts\": {\n\t\t\"postinstall\": \"arvish-init\",\n\t\t\"preuninstall\": \"arvish-cleanup\"\n\t},\n\t\"dependencies\": {\n\t\t\"arvish\": \"*\"\n\t}\n}\n```\n\nAfter publishing your extension to npm, your users can easily install or update the extension.\n\n```\n$ npm install --global arvis-unicorn\n```\n\n* You can also automatically check your extension validation by adding `prepublishOnly` to `arvish-prepublish`.\n\n## Environment variables\n\nArvis 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`](https://nodejs.org/api/process.html#process_process_env). For example `process.env.apiToken`.\n\n\n## alfy\n\nThis library is forked from [alfy](https://github.com/sindresorhus/alfy).\n\nSo, It has almost same programmatic API with `alfy`.\n\nThis means you might simply replace alfred-workflows written in `alfy` with `arvish`.\n\nNote that below differences between arvish and alfy.\n\n* `arvish` does not support `top-await` feature.\n\n* Arvis provides `$PATH` to extension's scripts. So, [run-node](https://github.com/sindresorhus/run-node) is removed in `arvish`.\n\n## Related\n\n- [arvis-linker](https://github.com/jopemachine/arvis-linker) - Make Arvis extensions installable from npm\n\n- [arvis-notifier](https://github.com/jopemachine/arvis-notifier) - Update notifications for Arvis extension\n\n- [alfred-to-arvis](https://github.com/jopemachine/alfred-to-arvis) - Help to convert alfred 4 workflow's info.plist to arvis-workflow.json\n\n- [arvis-extension-validator](https://github.com/jopemachine/arvis-extension-validator) - Arvis extension's JSON schema, cli and library to validate these.\n\n- [arvish-test](https://github.com/jopemachine/arvish-test) - Test your Arvish extensions\n\n- [arvis-store](https://github.com/jopemachine/arvis-store) - Publish and Retrieve Arvis extension info\n\n- [generator-arvis](https://github.com/jopemachine/generator-arvis) - Scaffold out an Arvis extension\n\n## Icon sources\n\nThis lib uses below icon sources\n\n\u003ca target=\"_blank\" href=\"https://icons8.com\"\u003eImage\u003c/a\u003e icon by \u003ca target=\"_blank\" href=\"https://icons8.com\"\u003eIcons8\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjopemachine-arvis%2Farvish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjopemachine-arvis%2Farvish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjopemachine-arvis%2Farvish/lists"}