V6 Corepre-alpha

Vain tuore näyttö käy.
Tuntematon? Pysähdy.

Claude Code -plugin, joka estää AI-agenttia lopettamasta vanhentuneen vihreän testin perusteella ja toistamasta tai kasaamasta sivuvaikutuksia, joiden tulosta se ei koskaan nähnyt. Sen, mitä agentti saa tehdä, määrää kirjoittamasi policy-tiedosto, ei koskaan prompti.

  • Ajantasainen näyttö
  • Enintään kerran
  • Policy, ei prompti
  • Epäselvässä estää

stale-green · vanhentunut vihreä, sitten uudelleenyritetty push

demo
  1. claude korjaa bugi tiedostossa sum.mjs, testejä ei tarvitse ajaa uudelleen
  2. testnode --test menee läpi tiedostoilla a1f3
  3. editagentti muokkaa tiedostoa sum.mjs, tiedostot ovat nyt 9c07
  4. stop”Valmis. Testit menevät läpi.”
  5. bwPalautettu: test meni viimeksi läpi tiedostoilla a1f3; tiedostot ovat muuttuneet sen jälkeen.
  6. testagentti ajaa node --test uudelleen: 1 virhe, korjaa sen, menee läpi tiedostoilla b2e8
  7. pushgit push aikakatkaistaan, vaikka push on jo mennyt perille
  8. pushagentti yrittää git push uudelleen
  9. bwEstetty: git-push onnistui jo tässä commitissa.

SENT BACKCore pysäytti agentin kahdesti: kerran lopettamasta vanhan läpimenon perusteella, kerran pushaamasta uudelleen. Molemmilla kerroilla se palautettiin syyn kera.

Mitä Core tarkisti

2 PYSÄYTYSTÄ · 0 VÄÄRÄÄ VALMIS-ILMOITUSTA
  1. Policytiedostosta .better-workflows/policy.jsonPASS
  2. Näyttötesti tiedostojen nykytilallaBLOCKED
  3. Uusi ajotesti menee läpi tilalla b2e8PASS
  4. Toimintogit-push, ensimmäinen kertaPASS
  5. Enintään kerransama push, sama commitBLOCKED

Lyhennetty repositorion stale-green-demosta; tree-tunnisteet ovat havainnollistavia. Aja koko demo itse muutamassa sekunnissa ilman Claudea.

01PeriaatteetPRINCIPLES

Kolme sääntöä, jotka hyödyttävät sitä enemmän, mitä vahvempia mallit ovat.

Vahvempi agentti kirjoittaa istunnossa enemmän koodia ja ajaa enemmän komentoja omin päin. Nämä säännöt eivät edellytä agentilta huolellisuutta; ne pätevät, sanoi se mitä tahansa.

WITHOUT vs WITHsama istunto

TilannePelkkä agenttiCorella
Testit menivät läpi, sitten tiedosto muuttui”Testit menevät läpi.”Palautetaan ajamaan uudelleen nykyisillä tiedostoilla.
npm test | tailLasketaan vihreäksi; paluukoodi on komennon tail.Ei kelpaa koskaan; Stop kertoo syyn.
Yksi spec-tiedosto koko testisarjan sijaanLasketaan, että ”testit menevät läpi”.Asetuksella exact vain koko komento kelpaa.
Push aikakatkaistaan perillemenon jälkeenPushaa uudelleen.Sama push samassa commitissa torjutaan.
Prompti sanoo ”saat julkaista”Julkaisee.Policy päättää: allow, ask tai deny.

AUTHORITYmistä valtuudet tulevat

  1. L1
    policy.json

    Ihmisen kirjoittama ja muuttama. Core torjuu agentin suorat muokkaukset siihen.

    LÄHDE
  2. L2
    Claude Coden oikeudet

    Ovat yhä voimassa. Policyn allow ei koskaan anna enempää kuin Claude Code antaisi.

  3. L3
    Coren hookit

    Valvovat policya jokaisessa komennossa, muokkauksessa ja lopetuksessa.

  4. L4
    Prompti

    Kuvaa tavoitteen. Ei anna valtuuksia.

    EI MITÄÄN

02Miten se toimiiHOW IT WORKS

Kuusi hookia, yksi lokikirja .gitissä.

Core toimii Claude Coden omien hookien sisällä. Ei mitään käynnistettävää, ei palvelinta, ei tiliä; tila on kunkin repositorion hakemistossa .git/better-workflows/.

HOOKShookit

  1. SessionStart: kertoo agentille, minkä tarkistusten on mentävä läpi ja mitkä sivuvaikutukset ovat ratkaisematta, ja varoittaa, jos policy on virheellinen tai gh tarvitaan mutta se ei ole käytettävissä.
  2. PreToolUse: sallii, kysyy tai estää jokaisen sivuvaikutuksen ja torjuu policyn ja lokikirjan muokkaukset.
  3. PostToolUse: kirjaa jokaisen tarkistuksen sen Git-puun kanssa, jolla se ajettiin, ja jokaisen sivuvaikutuksen paluukoodeineen.
  4. Stop: jos tiedostot ovat muuttuneet ja vaadittu tarkistus puuttuu, on epäonnistunut tai vanhentunut, palauttaa agentin kerran syyn kera; seuraavalla kerralla se vain varoittaa.
  5. bw status (komento, ei hook): näyttää saman tilan sinulle.
STOP

Lopettaminen

näyttö sidottu tiedostoihin

Testi, lint, tyyppitarkistus tai build kelpaa vain, jos se meni läpi, sen oma paluukoodi ratkaisi komentorivin tuloksen, mikään tiedosto ei muuttunut ajon aikana ja tiedostot ovat yhä täsmälleen ne, joilla se ajettiin.

Valinnainen

  • exact: vain koko komento kelpaa, ja cwd määrää, missä se on ajettava.
  • scope (yhdessä exact-asetuksen kanssa): muutos nimettyjen hakemistojen ulkopuolella jättää tuloksen tuoreeksi.
  • ignore (koko policy): tarkistuksen kirjoittamaa tulostetta, kuten kattavuusraporttia, ei lasketa muutokseksi.
PRETOOLUSE

Sivuvaikutukset

enintään kerran, tuntematon pysäyttää

Pushit, PR:ien luonti ja mergeäminen, releaset, pakettien julkaisut ja omat mukautetut tyyppisi tarvitsevat kukin policyltä allow-luvan. Vain paluukoodi 0 on tunnettu tulos.

Vain luku -tarkistukset, joilla tuntematon tulos ratkaistaan

  • git ls-remote
  • gh pr list / view
  • gh release view
  • npm view

RULESsäännöt, jotka pätevät

  • R1

    Virheellinen policy estää kaikki sivuvaikutukset sen sijaan, että palaisi oletuksiin.

  • R2

    Vanhentunut oikeus palaa tilaan ask. Vain ihminen voi jatkaa sitä muokkaamalla policya.

  • R3

    Komennot, joita Core ei pysty lukemaan, kuten eval tai sh -c, käsitellään läpinäkymättöminä, ja niistä kysytään.

  • R4

    Lokikirjaan voi vain lisätä, ja se on ketjutettu tiivisteillä; bw verify havaitsee muokatut tai poistetut merkinnät ja puoliksi kirjoitetun viimeisen rivin, mutta ei lopusta kokonaan katkaistuja merkintöjä.

03IsännätHOSTS

Claude Code ensin.

Core on isännästä riippumaton; jokainen isäntä tarvitsee pienen adapterin. Claude Code on ensimmäinen ja tällä hetkellä ainoa tuettu.

Isäntien ja käyttöjärjestelmien tuki
IsäntämacOSLinuxWindows
Claude CodeEnsimmäinen isäntäTuettu, testattu CI:ssäTuettu, testattu CI:ssäEi testattu
CodexVain V5, jäädytettySuunnitteillaSuunnitteillaSuunnitteilla
Gemini CLIVain V5, jäädytettySuunnitteillaSuunnitteillaSuunnitteilla
Qwen CodeVain V5, jäädytettySuunnitteillaSuunnitteillaSuunnitteilla

CI ajaa Coren jokaisessa pull requestissa.macOS 15 ja Ubuntu 24.04, Node 22.23.3 ja 24.21.0.

04AloitusGET STARTED

Kolme komentoa, sitten pyydä muutosta.

Vaatii Node.js 22.14:n tai uudemman, Gitin ja Claude Coden, jossa on plugin-tuki.

  1. 1

    Kloonaa Core

    Kerran konetta kohden. Jos olet käyttänyt tällä koneella V5:tä, siirrä ensin ~/.better-workflows nimelle ~/.better-workflows-V5 ja osoita SBW_STATE_ROOT siihen.

  2. 2

    Lisää plugin

    Asenna se repositoriokohtaisesti valinnalla --scope local, jotta mitään ei kirjoiteta tiedostoihin, jotka committaat.

  3. 3

    Kirjoita policy

    bw init kirjoittaa tiedoston .better-workflows/policy.json. Committaa se, jotta kaikilla on samat säännöt.

  4. Täysi opas kattaa omat tarkistuksesi, sivuvaikutukset ja tuntemattomat tulokset. Aloitusopas

Claude Code

git clone https://github.com/stephen-taipei/better-workflows ~/.better-workflows
claude plugin marketplace add ~/.better-workflows/packages/bw-core
claude plugin install better-workflows-core@better-workflows --scope local
node ~/.better-workflows/packages/bw-core/bin/bw.mjs init

Valinnainen: aja molemmat skenaariot ilman Claudea muutamassa sekunnissa.

node ~/.better-workflows/packages/bw-core/examples/stale-green/demo.mjs

Kokeile sitten

Muuta yksi rivi tässä repositoriossa, äläkä aja testejä.

Kun Claude Code yrittää lopettaa, se palautetaan ja sille kerrotaan, mikä tarkistus puuttuu.

05RajatLIMITS

Mitä se pysäyttää ja mitä se ei näe.

Portista on hyötyä vain, jos tunnet sen rajat.

Pysäyttää

Havaittavat virheet

  • Lopettamisen vanhentuneen tai epäonnistuneen testiajon perusteella, tai osittaisen, kun tarkistukselle on asetettu exact
  • Putken tai || true -rakenteen, joka peittää virheen
  • Toistetun pushin, mergen, releasen tai julkaisun
  • Sivuvaikutukset, kun aiemman tulos on vielä tuntematon
  • Agentin oman policyn tai lokikirjan suoran muokkaamisen

Ei tee

Näkyvyyden ulkopuolella

  • Näe skriptin sisäisiä sivuvaikutuksia, ellei policy nimeä kyseistä skriptiä
  • Arvioi, ovatko testisi riittävän hyviä
  • Rakenna riippuvuusgraafia: scope-asetuksen on nimettävä kaikki, mistä tarkistus riippuu
  • Laske Gitin ohittamia tiedostoja osaksi näyttöä

Jättää sinulle

Ihmisen tekemät päätökset

  • Sivuvaikutuksen ratkaiseminen, kun sen tulosta ei voi lukea takaisin
  • Oikeuden jatkaminen yli sen expiresAt-ajan
  • Sen valitseminen, mitä scope kattaa
  • Sen päättäminen, milloin istunto kiertää kehää
Core estää yllä mainitut virheet. Sitä ei ole mitattu, vähentääkö se uudelleentyötä tai vääriä päätöksiä pitkissä tehtävissä; sitä varten on nykyinen omakäyttöjakso.
  1. B1Shell-jäsennin ei kasva: komennosta, jota se ei pysty lukemaan, kysytään ennen kuin se ajetaan, eikä eval- tai sh -c -komennon sisään piilotettu testi koskaan kelpaa näytöksi.
  2. B2Core vain laskee, miten istunto etenee. Onko se lähestymässä ratkaisua, sen arvioi agentti tai sinä.
  3. B3Pull requestit ja releaset täsmäytetään gh-työkalulla; ilman sitä ne jäävät tuntemattomiksi, kunnes ratkaiset ne.

06TilaSTATUS

Missä projekti on.

V6 korvaa V5:n työnkulkumoottorin pienellä ytimellä. Päivämäärät kerrotaan, kun ne on saavutettu.

  1. DONE Jäädytetty

    V5.0 RC1

    tag V5.0.rc1

    Usean isännän työnkulkumoottori. Jäädytetty haaraan frozen/v5; ei uutta työtä.

  2. NOW Työn alla

    V6 Core pre-alpha

    packages/bw-core

    Claude Code -hookit, näytön scope, omakäyttö kahdessa repositoriossa.

  3. NEXT Omakäytön jälkeen

    V6 Core alpha

    ensimmäinen tagattu release

    Julkaistaan, kun omakäyttöjakso osoittaa todellisia osumia ja vähän vääriä estoja. Lisää isäntiä tulee pieninä adaptereina.

STATEMENTtiedote

PRE-ALPHA

Core on käyttökelpoinen jo nyt ja toimii ylläpitäjän omissa repositorioissa. Policy-muoto voi vielä muuttua ennen alphaa.

Kaikki täällä on ilmaista ja avointa lähdekoodia. Maksullista tasoa, tiliä tai telemetriaa ei ole.

LICENSINGlisensointi

lisensointi
OsaLisenssiTila
V6 Core (packages/bw-core)Apache-2.0aktiivinen
Sivusto ja muu repositorioAGPL-3.0-onlyaktiivinen
V5-pluginAGPL-3.0-onlyhaarassa frozen/v5jäädytetty

07DokumentaatioDOCS

Kaikki on repositoriossa.

Oppaat on kirjoitettu englanniksi ja perinteisellä kiinalla. Jokaisella tämän sivuston kielellä on lyhyt README GitHubissa.

08UKKFAQ

Yleisiä kysymyksiä, suoria vastauksia.

Jotain muuta? Avaa issue GitHubissa. GitHub Issues

Hidastaako se Claude Codea?

Tarkistuksia tai sivuvaikutuksia käsittelevät hookit laskevat työpuun tiivisteen Gitillä, mikä vie tavallisessa repositoriossa millisekunteja. Hyvin suurissa repositorioissa jokainen tällainen kutsu maksaa enemmän.

Jääkö se jumiin palauttamaan agenttia loputtomasti?

Se palauttaa agentin syyn kera ja kertoo, miten istunto on tähän mennessä edennyt: ajot, peräkkäiset epäonnistumiset, aiemmat palautukset. Agentti voi silloin lopettaa ja kertoa sinulle suoraan, mikä tarkistus epäonnistuu yhä uudelleen.

Voiko agentti kytkeä sen pois?

Ei suoraan. Core torjuu agentin muokkaukset policyyn ja lokikirjaan sekä torjuu komennon bw init ja toiminnon ratkaisemisen käsin. Pluginin poistamista tai noiden tiedostojen muuttamista kiertoteitse säätelevät Claude Coden omat käyttöoikeussäännöt, joten pidä niiden vahvistuskyselyt päällä.

Lähettääkö se mitään minnekään?

Palvelinta tai telemetriaa ei ole. Sen ainoat verkkokutsut ovat vain lukevia kyselyitä omilla git-, gh- ja npm-työkaluillasi, joilla varmistetaan, tapahtuiko sivuvaikutus. Lokikirja pysyy hakemistossa .git/better-workflows/.

Entä Codex, Gemini CLI tai Qwen Code?

Ne käyttivät V5:tä, joka on jäädytetty. Core on isännästä riippumaton, ja niille on suunniteltu adapterit alphan jälkeen.

Kokeile muutamassa sekunnissa

Komennon ajaminen ei todista mitään. Tiedostot todistavat.

Aja demo ilman Claudea, asenna se sitten yhteen repositorioon ja pyydä muutosta.