An Alfred workflow to quickly create a .gitignore
file from templates.
This is an Alfred workflow that lets users quickly combine multiple
.gitignore
templates into a single file. It works offline, has suggestions
and autocomplete, and works with Alfred 3 and 4.
Built with ❤️ and 🦀 by jdno.
The latest version of the workflow can be downloaded from Packal or from the releases on GitHub. Open the workflow with Alfred, and follow its instructions to set it up.
The workflow can be started by typing the following keyword into Alfred:
gitignore
Important! alfred-gitignore
is shipped as an unsigned binary, which in
recent versions of macOS this will prompt a warning. Go to System Preferences
in macOS, click on Security & Privacy
, and allow alfred-gitignore
to run.
When running the workflow for the first time, only an action to update the
templates will be shown. Run this action to download the latest templates from
GitHub. When the download is done, press Enter
to start building a
.gitignore
file.
The worflow shows a list of the currently installed workflows. Select one, and
press Enter
to add it to the list. Do this for all templates you want to
combine. Then select the Build
action at the top of the list, and wait for the
file to be created.
Once ready, the workflow prompts you to either open the file or copy it to the
clipboard. Select your preferred option and hit Enter
to finish the workflow.
✨ Thanks for your interest in making this workflow better! 👋
Found an bug? Please check the issues to see if a similar problem has already been reported. If so, feel free to add a comment. This helps me understand if the issue is limited to a single user or more widely spread. If there isn't an issue yet, create one and describe the bug in as much detail as possible. Some are really difficult to reproduce, and the more information you add the more likely it is that I can reproduce and fix the problem.
Have an idea you'd like to see in alfred-gitignore
? Open an issue
and propose it! Be precise, but don't invest too much time yet. As the
maintainer of the workflow, I have to decide whether I can support your feature
in the future, and might have to decline it because it'll be too complex or too
much work.
Interested in working on alfred-gitignore
? Help fixing bugs is always welcome.
If you want to implement a new feature, please reach out to me first and
request the feature to make sure it is a good fit for the
workflow.
alfred-gitignore
is written in Rust, and working on the project requires a
working Rust environment. Check the official documentation to learn how to
install Rust on your local machine.
The project uses pre-commit to configure a wide range of Git pre-commit-hooks. These hooks enforce a clean and consistent code style. The hooks are also run during CI, so it is not absolutely necessary to install them locally. But it is strongly recommended if you plan to do more than just change a few lines.
Clone the repository, open a terminal, and install the pre-commit hooks. These hooks are run when committing code, and enforce a consistent code style.
pre-commit install
Then test that Rust is working correctly by building the project:
cargo build
Implement your changes to alfred-gitignore
, and make sure to write tests for
them as well. Run Rustfmt and
Clippy and fix any issues they bring
up. When you're done, push your work in a new branch and open a
pull request.
Please follow a few guidelines when working on alfred-gitignore
. As the
maintainer, I am responsible for your code once it is merged, and that is only
possible when it is clean code.
- Write tests for your code.
- Document public interfaces.
- Follow the coding style (
rustfmt
andclippy
).
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.