Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11239/badge)](https://www.bestpractices.dev/projects/11239)
[![📊 OSS Insights](https://img.shields.io/badge/OSS%20Insights-%F0%9F%93%8A-blue)](https://ossinsight.io/analyze/opt-nc/geol#overview)

# ❔ About
## ❔ About

`geol` is a Go based alternative to the famous [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue) python
based `cli`.

Its ambitions are to :
Its ambitions are to :

1. Deliver a at least UX as good as `hugovk/norwegianblue` aka. `geol` does,
2. First class terminal based UX
3. Make delivery easier and safer
4. Enhance with new custom awaited features
5. Create innovative ways to manager EOLs for more security, for all

# 🧑‍🤝‍🧑 Core team and roles
## 🧑‍🤝‍🧑 Core team and roles

| Person | 🎯 Product Manager | 👩‍💻 Lead Dev | 📊 Data Scientist | 🛠️ Data Engineer | 🎤 Storyteller | 🧪 End-user & Tester | 🧑‍🤝‍🧑 Other role |
|--------------------------------------------|--------------------|---------------|-----------------|------------------|----------------|-----------------------|---------------|
Expand All @@ -36,8 +36,7 @@ Its ambitions are to :
| [@Draks898](https://github.com/Draks898) | | | | | | ✅ | |
| [@aymanbagabas](https://github.com/aymanbagabas) | | | | | | | [`charmbracelet`](https://github.com/charmbracelet/) expert


# 📑 Resources
## 📑 Resources

- [endoflife API](https://endoflife.date/docs/api/v1/)
- [⌛ Manage EoLs like a boss with endoflife.date 🛑](https://dev.to/adriens/manage-eols-like-a-boss-with-endoflifedate-2ikf)
Expand All @@ -47,7 +46,7 @@ Its ambitions are to :
- [endoflife.date Series' Articles](https://dev.to/adriens/series/21232)
- [⏳ Managing EOLs w. `geol`: the impossible `1'` Mux demo](https://dev.to/adriens/managing-eols-w-geol-the-impossible-1-mux-demo-cnl)

# 🚀 QuickStart
## 🚀 QuickStart

To install:

Expand All @@ -63,6 +62,13 @@ brew install curl
brew install --cask opt-nc/homebrew-tap/geol
```

> [!WARNING]
> For macos users, you will have to allow the execution of `geol` in your security settings, as it is not signed with an Apple Developer account. You can do this by going to `System Preferences > Security & Privacy > General` and clicking on `Allow Anyway` for `geol`.
> or you can run the following command in your terminal to allow the execution of `geol`:
>```sh
>xattr -d com.apple.quarantine $(which geol)
Comment on lines +66 to +69
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The macOS instructions look outdated and slightly inconsistent: macOS is typically capitalized as “macOS”, and newer versions use “System Settings > Privacy & Security” (not “System Preferences > Security & Privacy > General”). Consider wording that covers both, and start the second sentence with “Or …” (capital O).

Suggested change
> For macos users, you will have to allow the execution of `geol` in your security settings, as it is not signed with an Apple Developer account. You can do this by going to `System Preferences > Security & Privacy > General` and clicking on `Allow Anyway` for `geol`.
> or you can run the following command in your terminal to allow the execution of `geol`:
>```sh
>xattr -d com.apple.quarantine $(which geol)
> For macOS users, you may need to allow the execution of `geol` in your security settings, as it is not signed with an Apple Developer account. You can do this by going to `System Settings > Privacy & Security` (or on older versions, `System Preferences > Security & Privacy > General`) and clicking on `Allow Anyway` for `geol`.
> Or you can run the following command in your terminal to allow the execution of `geol`:
>```sh
>xattr -d com.apple.quarantine "$(which geol)"

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suggested command uses $(which geol) unquoted. For robustness (and to avoid which quirks), prefer command -v and quote the substitution so it behaves correctly even if the resolved path contains spaces; also consider handling the case where the command isn’t found.

Suggested change
>xattr -d com.apple.quarantine $(which geol)
>geol_path="$(command -v geol)" && xattr -d com.apple.quarantine "$geol_path"

Copilot uses AI. Check for mistakes.
>```
Comment on lines +66 to +70
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the com.apple.quarantine attribute bypasses Gatekeeper checks. The README should include a short caution that users should only do this if they trust the downloaded binary, and consider linking to an official Apple reference or offering the “right‑click > Open” flow as the safer default.

Suggested change
> For macos users, you will have to allow the execution of `geol` in your security settings, as it is not signed with an Apple Developer account. You can do this by going to `System Preferences > Security & Privacy > General` and clicking on `Allow Anyway` for `geol`.
> or you can run the following command in your terminal to allow the execution of `geol`:
>```sh
>xattr -d com.apple.quarantine $(which geol)
>```
> On macOS, `geol` is not currently signed with an Apple Developer account, so you may need to explicitly allow it to run. The **recommended** way is to go to `System Settings > Privacy & Security` (or `System Preferences > Security & Privacy > General` on older macOS versions) and click **"Open Anyway"** for `geol`, or right-click the binary in Finder and choose **Open**.
> Alternatively, you can remove the quarantine attribute with the following command:
>```sh
>xattr -d com.apple.quarantine $(which geol)
>```
> This command bypasses macOS Gatekeeper checks and should **only** be used if you fully trust the downloaded binary. For more details, see Apple’s documentation on safely opening apps from unidentified developers: https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac

Copilot uses AI. Check for mistakes.
Comment on lines +68 to +70
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Markdown formatting nit: inside the blockquote, add a space after > before the fenced code block markers (e.g., > ```sh / `> ````). This tends to render more reliably across Markdown parsers and improves readability.

Suggested change
>```sh
>xattr -d com.apple.quarantine $(which geol)
>```
> ```sh
> xattr -d com.apple.quarantine $(which geol)
> ```

Copilot uses AI. Check for mistakes.

Or simply with `go`:

```sh
Expand All @@ -86,7 +92,7 @@ geol version

If the autocompletion is not working yet, you need to update your fpath.

For `zsh` you need to add the following lines to your `.zshrc` file :
For `zsh` you need to add the following lines to your `.zshrc` file :

```sh
# === Homebrew completions ===
Expand All @@ -101,7 +107,7 @@ compinit
zstyle ':completion:*' verbose yes
```

Then restart your terminal or source your `.zshrc` file :
Then restart your terminal or source your `.zshrc` file :

```sh
source ~/.zshrc
Expand All @@ -118,29 +124,28 @@ man geol

## 🤓 Build it yourself

To build it youself :
To build it youself :
Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling/grammar: “To build it youself :” has a typo (“youself” → “yourself”) and the extra space before the colon is non-standard in English. Similar space-before-colon appears in other sentences in this README; consider fixing them consistently.

Copilot uses AI. Check for mistakes.

```sh
go build -o geol ./cmd/geol
```

## 🍿 See it in action

<a href= "https://www.youtube.com/watch?v=vhFXWGqB_-g"><img width="1280" height="720" alt="geol-unboxing-video-thumbnail" src="https://github.com/user-attachments/assets/427e704a-d3ac-4be9-8bf8-7ece98d302cc" /></a>



## 🙏 Acknowledgments

- [endoflife.date](https://endoflife.date) for providing the API

## 💡 More around `endoflife.date` ecosystem

`endoflife` is an ever-growing ecosystem, below some resources to be aware of them :
`endoflife` is an ever-growing ecosystem, below some resources to be aware of them :

- Official [`endoflife.date` Known users](https://github.com/endoflife-date/endoflife.date/wiki/Known-Users)
- [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue)
- [`xeol`](https://github.com/xeol-io/xeol) _"A scanner for end-of-life (EOL) software and dependencies in container images, filesystems, and SBOMs"_

# 📈 Star History
## 📈 Star History

[![Star History Chart](https://api.star-history.com/svg?repos=opt-nc/geol&type=date&legend=top-left)](https://www.star-history.com/#opt-nc/geol&type=date&legend=top-left)