Skip to main content

Orchestrator for Git change shipments

Project description

tagi

AI Cost Tracking

PyPI Version Python License AI Cost Human Time Model

  • 🤖 LLM usage: $0.0325 (4 commits)
  • 👤 Human dev: ~$311 (3.1h @ $100/h, 30min dedup)

Generated on 2026-05-26 using openrouter/qwen/qwen3-coder-next


tagi to paczka Python i CLI do orkiestracji wysyłania zmian Git, a nie zamiennik komendy git.

Pozycjonowanie

  • Git odpowiada za wykonanie (status, add, commit, push).
  • tagi odpowiada za analizę, grupowanie, planowanie i bezpieczne uruchomienie workflow.
  • gh/glab odpowiadają za integrację i auth z providerami.

Cel

tagi pomaga zdecydować, co wysłać i jak to opisać, a następnie uruchamia istniejące narzędzia (git, opcjonalnie gh/glab) po jawnym potwierdzeniu użytkownika.

Zasady projektu

  • jawność przed magią,
  • preview → confirm → execute,
  • brak ukrywania realnych komend,
  • deterministyczne tagowanie jako domyślne.
  • LLM opcjonalnie do redakcji opisów, nie do sterowania logiką wysyłki.

Zakres odpowiedzialności

Co tagi powinien robić

  • analizować git status --porcelain i diffy,
  • budować grupy zmian na podstawie heurystyk,
  • proponować paczki wysyłkowe i plan wykonania,
  • generować draft tytułu i treści opisu commita,
  • uruchamiać git i opcjonalnie gh/glab dopiero po decyzji użytkownika.

Czego tagi nie powinien robić

  • zastępować git add/commit/push,
  • implementować własnego modelu stanu repo poza .git,
  • ukrywać jakie komendy wykona,
  • zmieniać semantyki commit/push,
  • zastępować workflow branch/rebase/merge.

Proponowane komendy

tagi scan
tagi list
tagi inspect #small
tagi draft #small
tagi send #small
tagi publish #small
  • scan — analiza zmian,
  • list — lista paczek/tagów,
  • inspect — podgląd paczki i ryzyka,
  • draft — propozycja opisu i planu,
  • send — po potwierdzeniu wykonuje git add i git commit; push jest opcjonalny,
  • publish — rozszerzenie o PR/MR przez provider.

Architektura (kierunek)

src/tagi/
  scanner/
  heuristics/
  planner/
  composer/
  executor/
  providers/
  llm/
  • scanner: odczyt stanu repo,
  • heuristics: tagi, scoring, ryzyko,
  • planner: budowa paczek i preview,
  • composer: generowanie i formatowanie opisów commitów,
  • executor: cienka warstwa uruchamiająca git/gh/glab,
  • providers: integracje GitHub/GitLab,
  • llm: opcjonalna redakcja komunikatów.

Minimalne MVP

  • analiza git status --porcelain,
  • podstawowe tagi: #small, #new, #deps, #docs, #tests, #risky,
  • lista paczek zmian,
  • podgląd planu wysyłki,
  • draft commit message,
  • --dry-run dla bezpieczeństwa.

Przykład:

tagi scan
tagi list
tagi inspect #small
tagi draft #small
tagi send #small --dry-run

Definicja produktu

tagi to orchestrator wysyłania zmian Git: analizuje nie wysłane pliki, grupuje je hashtagami, proponuje sensowne paczki commitów i uruchamia istniejące narzędzia Git/GitHub/GitLab do publikacji.

License

Licensed under Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tagi-0.1.1.tar.gz (231.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tagi-0.1.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file tagi-0.1.1.tar.gz.

File metadata

  • Download URL: tagi-0.1.1.tar.gz
  • Upload date:
  • Size: 231.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tagi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dbd5bf15ed30f74c5bee978c45da4c14e323d2e3d6dec92ae24410e5544ddbc6
MD5 3470d4903ed4559a9959a27759f66516
BLAKE2b-256 e59d32ee3dd879510ae383f8432c0bb2f8602f3dd111e2ede84517a956727e3a

See more details on using hashes here.

File details

Details for the file tagi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tagi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tagi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 739b222ca8a605cd886a056521240a9c56f4e823eb003372770f1c19e0ab26dd
MD5 c0ad91d2b8e6101c3646c2b1ce86378b
BLAKE2b-256 e6fff6f30a7102b0e5c694bf387784ce64718521154552da99fa40f6b0bdb0a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page