Skip to content

Create .gitignore files using Alfred

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

jdno/alfred-gitignore

gitignore

GitHub Workflow Status GitHub release (latest by date)

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.

Getting Started

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.

Contributing

✨ Thanks for your interest in making this workflow better! 👋

Report a bugs

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.

Request a feature

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.

Contribute code

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.

Install dependencies

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.

Set up project

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

Write code

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 and clippy).

License

Licensed under either of

at your option.

Contribution

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.