A generator for golang Alfred workflow that helps you create boilerplate code.
As a Gopher, i want to create a Golang base workflow quickly than sketching it out by hand. I also want to be able to share my way of doing things with others.
- Create a new workflow with three type of patterns:
- Simple workflow with Alfred variables and arguments
- leverage deanishe/awgo with Alfred items feedback
- leverage deanishe/awgo and spf13/cobra with Alfred items feedback
- Workflow development
- Build the workflow executable and output it into the
.workflow
subdirectory - Display information about the workflow
- Link the
.workflow
subdirectory into Alfred's preferences directory, installing it. - Package the workflow for distribution locally
- Unlink the
.workflow
subdirectory from Alfred's preferences directory, uninstalling it.
- Build the workflow executable and output it into the
- Additional patterns
- Add Github Action release to project.
-s
enable code sign and notarize - Add license to project
- Add Makefile to project
- Add Github Action release to project.
- Support
arm64
&amd64
With Go 1.20 or higher:
go install github.com/cage1016/ak@latest
A generator for awgo that helps you create boilerplate code
Usage:
ak [flags]
ak [command]
Available Commands:
add Used to add additional component to project
alfred Used to manage Go-based Alfred workflows
completion Generate the autocompletion script for the specified shell
help Help about any command
init Initiates a workflow
new Used to create workflow package
Flags:
-d, --debug If you want to se the debug logs.
--folder string If you want to specify the base folder of the workflow.
-f, --force Force overwrite existing files without asking.
-h, --help help for ak
--testing If testing the generator.
-v, --version version for ak
Use "ak [command] --help" for more information about a command.
-
ak init
to create a new workflow -
revise
ak.json
as your workflow's information{ "go_mod_package": "github.com/xxx/ak-test", "workflow": { "folder": ".workflow", "name": "Ak Test", "description": "", "category_comment": "category: Tools, Internet, Productivity, Uncategorised", "category": "", "bundle_id": "com.xxx.aktest", "created_by": "", "web_address": "https://github.com/xxx/ak-test", "version": "0.1.0" }, "update": { "github_repo": "https://github.com/xxx/ak-test" }, "license": { "type_comment": "support license https://github.com/nishanths/license", "type": "mit", "year": "", "name": "" }, "gon": { "application_identity": "Developer ID Application: KAI CHU CHUNG" } }
-
Create one of three different workflow patterns
ak new cmd
create cobra based workflow
-
Add additional components to the workflow
ak add githubAction
add Github Action release to project-s
to enable code sign and notarize
ak add license
add license to projectak add makefile
add Makefile to project
-
Workflow development
make build
to build the workflow executable and output it into the.workflow
subdirectorymake info
to display information about the workflowmake link
to link the.workflow
subdirectory into Alfred's preferences directory, installing it.make package
to package the workflow for distribution locallymake unlink
to unlink the.workflow
subdirectory from Alfred's preferences directory, uninstalling it.
This project is licensed under the MIT License. See LICENSE for details.