Quick Start
Installation
npm install fast-alfredTIP ⚡
You can use this workflow template to have all fast-alfred powers and best-practices out of the box 🚀
Change all placeholders, such as REPO-NAME, REPO-ORG, WORKFLOW_NAME, AUTHOR_EMAIL, AUTHOR_NAME, TODO, to your desired values.
Configuration
Create a .fast-alfred.config.cjs file in the root of your project and add the following configuration:
/**
* @type {import('fast-alfred').FastAlfredConfig}
*/
module.exports = {}Build Your First Workflow
- Create a Workflow via Alfred UI, or use an existing one
- Open the Workflow directory, copy relevant files (icons,
info.plist, etc) to your project - In case your package declares
"type": "module"in thepackage.jsonfile, you'll
need to set bothesmHelpersandoutputFormatin order to usefast-alfredruntime - Create a source directory for your Workflow scripts
mkdir -p src/mainCaution ⚠️
By default, your production scripts should be located under src/main.
You can import every external script from this directory regularly.
See more here
- Use
fast-alfredclient utilities to manage your Workflow - Follow the bundling guidelines to bundle your scripts
- Call your scripts using
fast-alfredruntime
The Reason
fast-alfred lets you think about the functionality, rather than the boilerplate.
It provides you with a convenient way to manage your workflow, apply proper versioning, and bundle it into a .alfredworkflow file.
The Hard Time When Developing Alfred Workflows In Node.js
According to Alfred's official community,
it is not a best-practice to include any external dependencies at installation time,
so all of your code and its dependencies should be included in the workflow file.
Alfred Gallery requires you to upload a .alfredworkflow file, which is a zip archive containing all the necessary files for your workflow to run.
In order to accomplish this task, we need to bundle our code into a single file and include it in the workflow.
The Solution
fast-alfred allows you to bundle your production code into a few scripts, and include them in the workflow.
All bundle options are configurable, via a .fast-alfred.config.cjs file at the root of your project.
