Czym jest Hacker Lang i HackerOS

Hacker Lang to język programowania zaprojektowany od podstaw dla HackerOS — dystrybucji Linuksa, która nie próbuje być uniwersalna. Zamiast tego cała jej biblioteka standardowa, narzędzia i pakiety społecznościowe rozwijane są pod jeden, spójny ekosystem.

bit.io jest tym, czym crates.io jest dla Rusta albo pypi.org dla Pythona: miejscem, gdzie można znaleźć, sprawdzić i zainstalować bibliotekę napisaną przez kogoś innego — jedną komendą, bez ręcznego klonowania repozytoriów.

Jak działa rejestr

Nie ma tu żadnej bazy danych ani serwera. Cały rejestr to jeden plik JSON trzymany w repozytorium bit-io/repository, pod ścieżką bit-repo/repo-list.json. Każdy klucz to nazwa pakietu, a wartość opisuje, gdzie go znaleźć i w czym jest napisany:

{
  "obsidian": {
    "url": "https://github.com/bit-io/obsidian.git",
    "type": "rust"
  },
  "tui": {
    "url": "https://github.com/bit-io/tui.git",
    "type": "hl"
  }
}

Zarówno menedżer pakietów bit, jak i ta strona, czytają ten plik bezpośrednio z GitHuba. Dodanie nowej biblioteki sprowadza się do jednego pull requestu — bez wdrożenia, bez czekania.

Jak liczymy języki

Pasek języków widoczny przy każdym pakiecie łączy dwa źródła danych. Standardowe języki (JavaScript, Rust, Python, C i tak dalej) pochodzą wprost z GitHub API. Dodatkowo bit.io samodzielnie skanuje drzewo plików repozytorium i liczy bajty dla trzech rozszerzeń specyficznych dla HackerOS, których GitHub nie rozpoznaje:

Hacker Lang — .hl H# — .h# HackerScript — .hcs

Kolor Hacker Lang to fioletowy odcień wzięty wprost z oficjalnego logo języka. H# korzysta z ciemnej czerwieni ze swojego logo. HackerScript, który nie ma jeszcze własnej identyfikacji wizualnej, oznaczony jest neutralną, ciemną szarością.

Jak dodać własną bibliotekę

Otwórz pull request do bit-io/repository, dodając swój pakiet do bit-repo/repo-list.json. Podaj nazwę, adres repozytorium na GitHubie i typ dominującego języka źródłowego. Po scaleniu pakiet pojawi się automatycznie na liście — bez żadnej dodatkowej pracy po stronie bit.io.