19 resultaten

desktop

op je machine

skills

Alpheus

Controleer nieuwe wijzigingen op debug-uitvoer, uitgeschakelde controles, uitgecommentarieerde code en tijdelijke bestanden.

Alpheus is genoemd naar de rivier die in de Griekse mythologie wordt verbonden met het reinigen van de stallen van Augias.
Op deze paginaNieuwe wijzigingen controleren

Nieuwe wijzigingen controleren ​

Alpheus controleert toevoegingen in je git-working tree op code en bestanden die mogelijk nog opgeruimd moeten worden: debug-uitvoer, onderdrukkingsregels zoals // @ts-ignore, uitgecommentarieerde code, hardcoded paden naar home-mappen en tijdelijke bestanden zoals temp.json.

Bij een bugfix in meerdere bestanden kan tijdelijke debug-uitvoer achterblijven nadat de tests slagen. git commit -am neemt die wijzigingen samen met de oplossing mee. Een diff laat zien welke regels erbij kwamen; je bepaalt zelf welke toevoegingen bij de uiteindelijke wijziging horen.

Uitvoer van alpheus check met vijf bevindingen, gegroepeerd per categorie, inclusief bestandspaden, regelnummers, broncode en de reden voor elke melding

De scan controleert toevoegingen in staged en unstaged diffs, plus untracked bestanden die aan patronen voor tijdelijke bestanden voldoen. Bestaande code valt buiten de scan: een console.log die in de huidige diff niet verandert, blijft staan.

De detectie gebruikt vaste patronen per taal, classificatie van commentaar en een koppeling tussen bestandsextensies en talen. Daarvoor zijn geen model, tokens of netwerkverzoeken nodig. Dezelfde working tree levert dezelfde bevindingen op.

Vijf categorieën van bevindingen ​

CategorieWat wordt gedetecteerd
LOGDebug-uitvoer die is toegevoegd om te zien wat er draait: console.log/debug/dir/time, Python print, breakpoint, pdb.set_trace, logging.debug, Rust dbg! en println!, Go fmt.Print* en log.Print*, PHP var_dump, print_r, dd, shell set -x en echo "DEBUG:..."
SUPPRESSOnderdrukte controles: @ts-ignore, @ts-expect-error, @ts-nocheck, eslint-disable, biome-ignore, prettier-ignore, # noqa, # type: ignore, #[allow(...)], //nolint, @phpstan-ignore, @psalm-suppress
TOMBSTONEDrie of meer opeenvolgende regels die als commentaar zijn weggezet en nog als code te lezen zijn
PATHEen hardcoded pad naar een home-map: /home/<user>/, /Users/<user>/, C:\Users\<user>\
SCRATCHEen untracked restant: *.tmp, *.scratch en *.bak overal, plus temp.*, scratch.*, dump.json, debug.log en wegwerpscripts als t.py in de root van de repository of onder scratch/ en tmp/

De extensiekoppeling omvat TypeScript, JavaScript, Python, Rust, Go, PHP en shell. Bestanden in andere talen worden nog steeds gecontroleerd op hardcoded workstation-paden en uitgecommentarieerde code. Voor die controles is geen taalspecifieke parser nodig.

Bevindingen controleren en verwijderen ​

Start alpheus zonder argumenten voor de terminalinterface. Links staan de bevindingen, rechts de omringende code en de voorgestelde verwijdering. Gebruik ↑/↓ of j/k om door de lijst te gaan, spatie om één bevinding aan of uit te vinken, a om alle selecties om te schakelen en enter om de selectie te verwijderen. Met q of escape sluit je af zonder bestanden te wijzigen.

Terminalinterface van Alpheus met links de selectie van bevindingen en rechts de broncode met de voorgestelde verwijdering

Voor CI, git-hooks en scripts geeft alpheus check exitcode 1 als er bevindingen zijn. --json geeft dezelfde bevindingen als gestructureerde data. alpheus clean verwijdert alle bevindingen; --dry-run toont de voorgestelde verwijderingen zonder bestanden te wijzigen.

Backups en herstel ​

Vóór het verwijderen kopieert Alpheus elk betrokken bestand naar .alpheus/backups/<timestamp>_<id>/. Het bijbehorende manifest.json bevat de sha256 van elk origineel bestand. alpheus restore herstelt bestanden byte voor byte, inclusief verwijderde tijdelijke bestanden. alpheus backups toont de beschikbare backups.

Uitvoer van alpheus clean met vier verwijderingen in drie bestanden, één verwijderd tijdelijk bestand en het backup-pad

.alpheus/ wordt toegevoegd aan .git/info/exclude. Daardoor blijven backups buiten git status en commits zonder de gedeelde .gitignore te wijzigen. Verwijderingen worden per bestand van onder naar boven toegepast, zodat de regelnummers van volgende bevindingen niet verschuiven.

Integratie met Claude Code ​

Het plugincommando /alpheus draait de scan en geeft de bevindingen aan Claude Code om weer te geven. Een PreToolUse-hook controleert Bash-calls op git commit. Als er bevindingen overblijven, toont de hook de eerste vijf voordat de commit draait.

De hook blokkeert de commit niet. De uitvoer komt in je transcript en niet in de modelcontext, als waarschuwing die je zelf kunt beoordelen.

Snel starten ​

Vereist Bun 1.1 of nieuwer en git 2.25 of nieuwer.

bash
claude plugin marketplace add https://github.com/AraneaDev/aranea-marketplace
claude plugin install alpheus@aranea

Hooks worden bij de sessiestart geregistreerd. Start na installatie een nieuwe sessie.

De CLI werkt ook zonder Claude Code:

bash
bun install -g github:AraneaDev/alpheus

Bereik en beperkingen ​

Bevindingen zijn kandidaten voor opruiming. Rusts println! en Pythons print kunnen zowel vereiste programma-uitvoer als tijdelijke debug-uitvoer produceren. Alpheus meldt beide vormen; controleer elke bevinding voordat je iets verwijdert.

Alpheus wijzigt bestanden in de working tree, maar zet niets klaar voor een commit en commit niets. De scan doet geen netwerkverzoeken, verstuurt geen telemetrie en roept geen model aan. Alle invoer komt uit lokale bestanden.

Alpheus is pre-release. Beschikbare versies staan op de release-pagina. De vorm van de bevindingen kan nog veranderen.