An open API service indexing awesome lists of open source software.

https://github.com/hackeros-linux-system/hacker-lang

A simple programming language. The Hacker Lang programming language is a scripting language.
https://github.com/hackeros-linux-system/hacker-lang

hacker-files hacker-lang hackeros hackeros-debian javascript javascript-library python python-rich python-syntax python3 rust rust-compiler rust-lang

Last synced: about 1 month ago
JSON representation

A simple programming language. The Hacker Lang programming language is a scripting language.

Awesome Lists containing this project

README

          

= Hacker Lang
:doctype: book
:icons: font
:toc: left
:toclevels: 2
:author: HackerOS Team
:revnumber: 0.0.2
:revdate: 2025-10-28

== Opis

**Hacker Lang** to lekki i wygodny język skryptowy stworzony dla *HackerOS*, zaprojektowany jako bezpośrednia alternatywa dla tradycyjnych skryptów `.sh` — zamiast skryptów shellowych używasz binarek skompilowanych z kodu `.hacker`.

Hacker Lang korzysta z systemu pakietów i bibliotek hostowanych w repozytorium **bytes.io**.

== Dlaczego Hacker Lang?

* Zastępuje złożone skrypty `.sh` prostymi, czytelnymi plikami `.hacker`.
* Umożliwia kompilację do binarek, co przyśpiesza uruchamianie oraz ułatwia dystrybucję.
* Integruje się z repozytorium bibliotek *bytes.io* — instalacja i aktualizacja bibliotek odbywa się przez `hackerc`.
* Zaprojektowany do użytku wewnętrznego w ekosystemie HackerOS, ale nadaje się też do zastosowań zewnętrznych.

== Szybkie rozpoczęcie

=== Wymagania

* Dystrybucja HackerOS.
* `hackerc` - wszystkie możliwości kompilatora hacker lang w tym narzędziu
* `hl` — narzedzie cli do uruchamaia i kompilacji samych plików .hacker (służy do drobnych skryptów, programów, projektów).
* `hli` — skrót od hacker lang interface narzędzie do interaktywnych komend działa tak samo jak hlp.
* `hlp` — skrót od hacker lang projects narzędzie glównie opiera się na plikach Project.hacker lub Project.hfx/Project.toml
* `bytes` — narzędzie do instalacji bibliotek, pluginów dla hacker lang.
* `hlh` — skrót od hacker lang help - narzedzie pokazuje szczegółowe informacje o narzędziach hackerc, bytes, hli.

== Komendy dla narzedzi hacker lang

Poniżej lista podstawowych komend dostępnych w narzędziu `hackerc`:

* `hackerc run {plik.hacker}` Uruchamia plik `.hacker` bez kompilacji.
* `hackerc compile {plik.hacker}` Kompiluje plik `.hacker` do binarki.
* `hackerc check {plik.hacker}` Szuka błedów w `.hacker`.
* `hackerc repl` Uruchamia interaktywny REPL Hacker Lang.
* `hackerc version` Wyświetla wersję `hackerc`.
* `hli run` Uruchamia bytes.yaml.
* `hli compile` Kompiluje kod na podstawie bytes.yaml.
* `hli check` Sprawdza poprawność kodu na podstawie bytes.yaml.
* `hli init` Tworzy przykładowy projekt z `bytes.yaml`, `.hacker` w bieżącym katalogu.
* `hli clean` Czyści cache oraz pliki tymczasowe.
* `hli version` Wyświetla wersję `hli`.
* `hlh` Wyświetla informacje o wszystkich narzędziach cli od hacker lang.
* `bytes install` Instaluje wybrana biblioteke.
* `bytes remove` Usuwa wybrana biblioteke wybrana biblioteke.
* `bytes search` Szuka wybranej biblioteki.
* `hlh` Informacje o narzędziach hli, hackerc, bytes.

== Składnia i przykład prostego skryptu `.hacker`

Poniżej przykład prostego pliku `.hacker`.

[source,hacker]
----
// sudo
// apt
> sudo apt update
----

= Składnia Hacker Lang

|===
| Prefiks | Znaczenie | Przykład

| `!`
| **Komentarz** (cała linia jest ignorowana)
| `! To jest komentarz`

| `//`
| **Zależność systemowa** (pakiet z `apt`)
| `// curl` → `sudo apt install curl`

| `#`
| **Biblioteka (lib)** – biblioteka z repozytorium bytes.io (zainstaluj ją za pomocą bytes install). Możesz również używać bibliotek z innych języków programowania
| `# obsidian, # bytes:obsidian, # rust:serde, # python:rich`

| `@`
| **Zmienna środowiskowa**
| `@USER=admin`

| `>`
| **Komenda do wykonania**
| `> echo "Hello"`

| `>>`
| **Komenda do wykonania + funkcje**
| `>> echo "Hello"`

| `>>>`
| **Każda komenda jest wykonywana osobno**
| `>>> echo "Hello"`

| `=`
| **Pętla** (`liczba > komenda`)
| `=3 > echo "Hi"` → 3 razy

| `?`
| **Warunek** (`warunek > komenda`)
| `? [ -f file ] > echo OK`

| `&`
| **Uruchom w tle**
| `& sleep 10`

| `[`
| **Początek sekcji konfiguracyjnej**
| `[`

| `]`
| **Koniec sekcji konfiguracyjnej**
| `]`

| `\\`
| **Plugin** (pluginy przechowywane w `~/.hackeros/hacker-lang/plugins/`, mogą być binarkami)
| `\\ moj-plugin`

| `$`
| **Zmienna lokalna**
| `$TEMP=tmp_value`

| `:`
| **Funkcja/blok** (początek definicji funkcji `:nazwa`, koniec `:` , wywołanie `.nazwa`)
| `:moja_funkcja` ... `:`

| `!!`
| **Komentarz blokowy** (otwarcie i zamknięcie)
| `!!` ... `!!`

| `^`
| **Tryb superuser** (dodaj `sudo` do komendy)
| `^ > rm file` → `sudo rm file`

|===

== Integracja z bytes.io

Hacker Lang używa repozytorium bibliotek *bytes.io*. Użyj `bytes install ` aby pobrać paczkę; `bytes update` aby ją zaktualizować. Jeżeli nie masz zainstalowanego narzędzia cli bytes użyj komendy hackerc unpack bytes.

== FAQ (krótkie)

* Jak debugować? Użyj `hackerc check` oraz `hackerc run` z dodatkowymi flagami debug (jeśli dostępne). Logi `hackerc` znajdują się w domyślnym katalogu cache.
* Czy `.hacker` może wywoływać polecenia systemowe? Tak — użyj `>` aby wykonać komendę shellową.
* Gdzie znaleźć dokumentację? Pełna dokumentacja i wiki: link:https://github.com/HackerOS-Linux-System/Hacker-Lang/wiki[Wiki na GitHubie].
* Gdzie znajde repozytorium bytes.io ? link:https://github.com/Bytes-Repository[Repozytorium bytes.io]
* Zgłoś błąd link:https://github.com/HackerOS-Linux-System/Hacker-Lang/issues[Issues na GitHubie]

== Licencja

Projekt jest dostępny na licencji MIT. Zobacz plik LICENSE w repozytorium.

== Kontakt

Masz pomysł albo błąd? Otwórz issue na GitHubie w repozytorium projektu. Kontakt na email: hackeros068@gmail.com