cargo-plot 0.1.3

Szwajcarski scyzoryk do wizualizacji struktury projektu i generowania raportów Markdown bezpośrednio z poziomu Cargo.
Documentation
# 🛠 Notatki Dewelopera (Cheat Sheet)

Ten plik zawiera zbiór najważniejszych komend i procedur używanych podczas tworzenia, utrzymania i publikacji paczki `cargo-plot`. 

## 🧹 Higiena kodu (Zanim zrobisz commit)

Jeśli GitHub Actions (CI) odrzuca Twój kod z powodu błędów formatowania, zawsze przepuść go przez te dwa narzędzia przed wysłaniem na serwer:

* `cargo fmt` – Automatycznie formatuje cały kod do oficjalnego standardu Rusta (naprawia błędy wyrzucane przez CI).
* `cargo clippy` – Uruchamia zaawansowanego lintera, który wyłapuje nieoptymalny lub niebezpieczny kod.

```bash
# Szybka ścieżka naprawcza po odrzuceniu przez CI:
cargo fmt
git add .
git commit -m "style: apply cargo fmt to fix CI pipeline"
git push origin main

```

## 🏷️ Zarządzanie Wydaniami i CI/CD (GitHub Actions)

Proces automatycznego budowania binarek (`.exe`, `.tar.gz`) opiera się na tagach.

### Standardowe wydanie nowej wersji:

```bash
git tag v0.1.2
git push origin v0.1.2

```

### 🚨 Procedura Ratunkowa: Jak cofnąć i naprawić zepsuty Tag?

Jeśli nadałeś tag (np. `v0.1.1`), ale akcja na GitHubie zakończyła się błędem (np. zapomniałeś zrobić `cargo fmt` lub wkradł się błąd), musisz usunąć ten znacznik z obu miejsc i wypchnąć go ponownie po naprawieniu kodu:

```bash
# 1. Usuń zepsuty tag z serwera GitHuba
git push origin --delete v0.1.1

# 2. Usuń zepsuty tag ze swojego lokalnego komputera
git tag -d v0.1.1

# 3. [TUTAJ NAPRAW BŁĄD, ZRÓB COMMIT I PUSH DO MAIN]

# 4. Stwórz nowy tag (już na poprawionym kodzie)
git tag v0.1.1

# 5. Wypchnij go ponownie, by odpalić maszynę budującą na czysto!
git push origin v0.1.1

```

## 📦 Publikacja w rejestrze (Crates.io)

Projekt wykorzystuje **Trusted Publishing** (OIDC). Oznacza to, że po pierwszej ręcznej publikacji, serwer crates.io nie przyjmuje już publikacji bezpośrednio z terminala (API tokenów), lecz ufa wyłącznie plikowi `release.yml` z GitHuba.

Mimo to, komendy lokalne są przydatne do testowania:

* `cargo login` – (Używane tylko raz przy autoryzacji środowiska).
* `cargo publish --dry-run` – Pakuje projekt w izolowanym środowisku i weryfikuje poprawność metadanych w `Cargo.toml`. Zawsze wykonuj przed planowanym wydaniem!

```bash
# Test przed-wydawniczy:
cargo publish --dry-run

```