De opdrachtregel
Vanuit een terminal stel je twee soorten vragen, en gitcito beantwoordt ze
allebei.
De eerste is “laat me dit zien” — je zit in een kloon, er moet iets bekeken worden, en de app is de juiste plek om ernaar te kijken. Zulke aanroepen openen een venster, zo dicht mogelijk bij waar je naar vroeg.
De tweede is “zeg het nu” — een hook, een CI-taak, of jijzelf, midden in een pipe, die een antwoord en een exitcode wil in plaats van een venster. Die starten de app nooit: ze schrijven naar stdout en gaan uit de weg.
gitcito . # open deze map
gitcito blame src/api.ts -l 84 # …bij de blame van die regel
gitcito doctor # geen venster: controleert de repo, exit 1 bij falen
Installeren
Opdrachtenpalet (⌘K) → Installeer het 'gitcito'-commando in PATH.
Op macOS wordt een kleine shim gelinkt in /usr/local/bin of
/opt/homebrew/bin, en worden beheerdersrechten alleen gevraagd als geen van
beide voor jou schrijfbaar is. Op Linux gaat hij naar ~/.local/bin, waarvoor
helemaal geen rechten nodig zijn. Hetzelfde commando verwijdert hem weer. Windows
wordt nog niet ondersteund.
Daarna, desgewenst:
gitcito completions zsh >> ~/.zshrc # of bash, of fish
Dingen openen
| Commando | Opent |
|---|---|
gitcito [pad] |
De repository (standaard: de huidige map) |
gitcito open <naam> |
Een repository op tabbladnaam — gitcito open api |
gitcito diff |
De wijzigingen in de werkkopie |
gitcito graph |
De commitgrafiek |
gitcito show <ref> |
Eén commit — HEAD~2, een tag, een korte hash |
gitcito blame <bestand> |
Blame voor een bestand; met -l 84 land je op een regel |
gitcito search <zoekterm> |
Codezoeken, met de zoekterm al ingevuld |
gitcito stack, stash, reflog, conflicts, todos, chat, settings |
Dat paneel |
gitcito ci, clean, bisect, absorb, snapshots, insights, terminal |
…enzovoort |
gitcito help verbs toont de volledige lijst. Drie opties gelden voor allemaal:
-n <naam> zet de weergegeven tabbladnaam, -g <groep> plaatst het in een
groepstabblad (dat zo nodig ontstaat), en -l <n> kiest een regel.
Gitcito draait als enkele instantie: gitcito uitvoeren terwijl de app open
staat, geeft het verzoek door aan dat venster in plaats van een tweede kopie te
starten. Een pad dat al open is — als tabblad of binnen een groep — krijgt
focus, geen duplicaat. Een map die nog geen repository is, opent alsnog en
biedt “repository hier initialiseren” aan.
Antwoorden in de terminal
Deze printen en stoppen. Er opent geen venster, en de app hoeft niet eens te draaien.
gitcito status
Branch, tracking, voor/achter, werkkopie, stashes en — als de repository er een
meelevert — de pushchecklist uit .gitcito.json. Exit 1
wanneer de werkkopie conflicten heeft, dus gitcito status || echo geblokkeerd
werkt.
gitcito doctor [--fix]
Voert dezelfde controles uit als het paneel voor
repositoryconfiguratie: de Node-versie, submodules, LFS,
core.hooksPath, vereiste bestanden. Exit 1 als een controle faalt, en dat
is het hele punt — de regels die een repository verklaart zijn weinig waard als
alleen degene met de interface open ze ooit ziet:
- run: gitcito doctor # in CI, vóór alles wat duur is
--fix past de reparaties toe die de dokter kent (submodules initialiseren,
lfs pull, core.hooksPath zetten, een bestand vanuit zijn voorbeeld kopiëren)
en controleert opnieuw. Hij voert nooit een commando uit dat de configuratie
aanleverde — de verzameling reparaties is gesloten.
Waarschuwingen laten de run niet falen. Een waarschuwing betekent dat de dokter iets niet kon vaststellen, niet dat er iets mis is, en builds daarop laten falen zou het bestand te duur maken om in te voeren.
gitcito commit-check [bestand]
Controleert een commitbericht. Zonder argument leest het .git/COMMIT_EDITMSG;
-m "…" controleert een tekst. Het weet wat de repository verklaarde: een
onbekende scope is een fout wanneer .gitcito.json scopes opsomt, en louter
stijladvies wanneer niet. Hang het in een hook:
# .husky/commit-msg
gitcito commit-check "$1"
gitcito config init | show | check
init leest de repository en stelt een .gitcito.json voor op basis van wat er
al is — .nvmrc, .gitmodules, een .env.example zonder .env, de
commit-scopes die de geschiedenis gebruikt. --dry-run print in plaats van te
schrijven. show toont het huidige bestand; check valideert het en somt elk
veld op dat zou wegvallen.
gitcito repos [filter]
Elke repository die Gitcito kent — open tabbladen eerst, dan de recente — met de
groep. --paths print kale paden, één per regel, om te scripten:
cd "$(gitcito repos --paths api | head -1)"
Gitcito als editor van git
gitcito editor install
zet core.editor en sequence.editor op gitcito --wait. Vanaf dan openen
git commit (zonder -m), git commit --amend, git tag -a en
git rebase -i hun bestand in Gitcito in plaats van vim, met een tellertje en
dezelfde hints over het commitbericht als de composer toont.

Het woord dat telt is wacht: git hangt aan dat dialoogvenster. Dus
- Opslaan en doorgaan schrijft het bestand terug en git gaat verder.
- Annuleren schrijft een leeg bestand, wat git leest als afbreken.
- Het venster op een andere manier sluiten — Escape, de achtergrond, Gitcito afsluiten — telt als Annuleren. Een terminal die eeuwig wacht zou veel erger zijn dan een bericht dat je opnieuw moet typen.
Voeg --local toe om het tot één repository te beperken, en draai het terug met
gitcito editor uninstall.
Wat het niet doet
- Geen enkel terminalwerkwoord wijzigt de repository.
doctor --fixis de enige uitzondering, en zijn reparaties zijn een vaste lijst die geen configuratiebestand kan uitbreiden. reposleest alleen. De draaiende app bezit haar instellingenbestand; de CLI leest het en schrijft het nooit.- Een werkwoord dat de geïnstalleerde app niet kent, wordt genegeerd, niet geweigerd — een nieuwere shim opent bij een oudere app alsnog de repository.
- Windows heeft nog geen shim. De werkwoorden zijn allemaal geïmplementeerd; alleen het installatiepad ontbreekt.
Zie ook: Werkruimtes, tabbladen en groepen · Repositoryconfiguratie · Committen