idt: Ein CLI-Tool zum Umgang mit verschiedenen ID-Formaten
(github.com/sh-cho)Bei der Entwicklung kommt es oft vor, dass verschiedene ID-Formate wie UUID, ULID oder Snowflake verwendet werden. Jedes Mal einen Online-Konverter zu suchen oder ein Skript für Umwandlungen zu schreiben, ist umständlich, deshalb habe ich ein CLI-Tool gebaut, das sich direkt im Terminal verwenden lässt.
Hauptfunktionen
- Generierung: UUID (v1/v4/v6/v7), ULID, NanoID, Snowflake, KSUID, TypeID usw.
- Analyse: Gibt man eine beliebige ID ein, wird der Typ abgeleitet und die interne Struktur wie Zeitstempel oder Zufallsbits analysiert
- Konvertierung: Umwandlung zwischen verschiedenen Encodings wie hex, base32, base58 und base64
- Pipe-Unterstützung: Kombinationen wie
idt gen uuid | idt inspectsind möglich
Installation
# Using cargo
cargo install idt
# Using homebrew
brew install sh-cho/tap/idt
Anwendungsbeispiele
# Generate a UUIDv7
$ idt gen uuidv7
019c04e5-6118-7b22-95cb-a10e84dad469
# Inspect the generated ID
$ idt inspect 019c04e5-6118-7b22-95cb-a10e84dad469
UUIDV7
019c04e5-6118-7b22-95cb-a10e84dad469
Time 2026-01-28T13:57:47.416Z
Version 7
Variant RFC4122
Random 62 bits
Hex 019c04e561187b2295cba10e84dad469
Base64 AZwE5WEYeyKVy6EOhNrUaQ==
Int 2139325608653621017571381452845274217
# Convert to different formats
$ idt convert 019c04e5-6118-7b22-95cb-a10e84dad469 -f base64
AZwE5WEYeyKVy6EOhNrUaQ==
2 Kommentare
Beeindruckende Arbeit!!
Ich werde es ausprobieren und ein Issue oder Feedback hinterlassen, haha
Vielen Dank, haha