memoryRuby gem · nad Claude Code

Autonomní vývojář, který běží na vašem stroji a dotahuje úkoly až do zmergovaného PR.

mcptask_runner promění Claude Code v samostatného člena týmu. Funguje s Claude, Kimi, DeepSeek, lokální ollamou nebo jakýmkoli modelem — bez vendor lock-inu. Vybere úkol, napíše kód i testy, otevře PR a po zeleném CI ho zmerguje. Zadáte večer dobře specifikovanou práci, ráno ji najdete hotovou.

terminal
mcptask_runner$ bundle exec rake mcptask_runner:manual:once
→ Triage: difficulty=13, model=opus, complexity=high
→ Picking next task#10959 (Nová veřejná stránka o mcptask_runner)
→ Snapshotstarting → triage → processing
→ Branchfeature/10959-runner-public-page
→ CI✓ green
→ PR auto-merged
→ Quota: 18% of daily budget used
1 commandto start
~2 minto first task
infoCo to je

Plný autonomní harness nad Claude Code

mcptask_runner je Ruby gem, který do hostitelské Rails aplikace přidá rake tasky pro automatizované vykonávání úkolů z mcptask.online přes Claude Code — od začátku do konce. Řídí celý životní cyklus agentní práce: najde úkol → posoudí složitost → zvolí model → spustí Claude Code → hlídá běh watchdogem → dodrží denní kvótu → (volitelně) po CI zmerguje PR.

auto_awesome

Není to jen „tupý spouštěč" Claude Code. Přidává orchestraci, dohled, zotavení a řízení kvality, které holý Claude Code nemá.

starsProč si to nainstalovat

Co z toho reálně máte

Rámováno přínosem pro freelancera nebo dev tým, ne technikou.

bug_report

Cizí bugy se promění ve sledované úkoly

Když runner uprostřed úkolu narazí na cizí bug, založí si na něj vlastní sledovaný úkol, opraví ho a vrátí se k původní práci. Chaos se změní v auditovatelnou položku.

autorenew

Samo se zotaví a dotáhne

Přeplněný kontext, zaseknutí nebo přerušení úkol nezabijí. Runner naváže na silnějším modelu a dotlačí práci do PR. Úkol se opravdu dokončí, ne jen začne.

swap_horiz

Žádný vendor lock-in na model

Úrovně genius / smart / primitive si namapujete v mcptask_runner.yml na Claude, Kimi, DeepSeek, lokální ollamu nebo cokoli chcete. Změna poskytovatele = jedna změna proměnné. Velcí agenti vás zamknou na svůj prémiový model; runner ne.

savings

Řízené náklady na AI

Levný model na čtení, silný jen na těžké kódování. QuotaGuard (fail-closed) hlídá denní rozpočet, aby nedošlo k přetažení. Předvídatelné výdaje.

storage

Běží na vašem stroji, proti realitě

Spouští se proti vaší reálné PostgreSQL, vašim reálným system testům a vašim reálným screenshotům. Ne osekaný cloud sandbox s mockovanými daty.

bedtime

Z backlogu hotová PR — i přes noc

Naskládáte úkoly do mcptask.online. Runner je odbavuje, zatímco děláte něco jiného nebo spíte. Ráno máte hotová a zmergovaná PR.

schedule

Běží bez dozoru, podle plánu

Každé pracovní ráno se sám rozjede a bere frontu. Žádné babysitting promptů.

verified

Vestavěná brána kvality

Nic se nesloučí bez zeleného CI. Sami si volíte: auto-merge, nebo PR k lidské revizi. Runner umí i zapracovat review feedback.

visibility

Žádná černá skříňka — plná sledovatelnost

Každý běh je sledovaný úkol s % postupu, živou kartou a JSON logy. Auditovatelné, přehledné pro celý tým.

groups

Násobí kapacitu týmu bez náboru

Autonomní vývojář, který drží konvence projektu (testy, CI, PR), řízený lidmi tam, kde to dává smysl.

storageVaše reálné prostředí

Na vašem stroji, proti realitě

Cloud agenti běží v očištěných sandboxech. Runner běží ve vašem reálném Rails projektu.

database

Reálná databáze

Připojí se k vaší PostgreSQL, spouští migrace a testuje proti reálným tvarům dat — ne hračkářskému schématu.

fact_check

Reálné system testy

Capybara/Selenium běží proti vaší reálné aplikaci. Screenshoty a prohlížečové kontroly znamenají, že PR je opravdu ověřené.

code

Reálné commity a PR

Větve, commity a pull requesty žijí ve vašem repu, s vaším CI, pod vaší Git historií.

sync_altCelý cyklus

Úkol → zmergované PR → výkaz → faktura

Runner není samostatný kodér. Jeho práce rovnou teče zpět do mcptask.online.

task_alt
Vybraný úkol
merge
Zmergované PR
schedule
Zapsaný výkaz
receipt_long
Odeslaná faktura
loopSmyčka + cíl

Smyčka bere úkoly, cíl je dotahuje

mcptask_runner spojuje pracovní smyčku (bere úkol za úkolem z fronty) s cílem (dotahuje každý úkol až do zeleného PR, nejen k „nějakým úpravám"). Umí běžet ve čtyřech režimech:

play_arrow

Jeden úkol

Posouzení a zpracování jednoho úkolu. Ideální pro první běhy a ladění.

today

Dnešní práce

Smyčka úkolů do dosažení denní kvóty. PR zůstávají otevřená k lidské revizi.

stream

Nepřetržitá fronta

Průběžné zpracování fronty, dokud přicházejí nové úkoly.

folder_open

Všechny úkoly jednoho příběhu

Zpracuje všechny dostupné úkoly v rámci jednoho příběhu, podle priority.

download_for_offlineJedním příkazem

Jeden příkaz udělá celý bootstrap

rake mcptask_runner:install provede celý setup: nakopíruje 11 bundled Claude Code skillů do .claude/skills/, zkontroluje helper binárky, sloučí baseline oprávnění do .claude/settings.local.json, obstará JWT token pro mcptask.online, zapíše SSE server do .mcp.json, zeptá se, do kterého Epiku ukládat auto-nalezené bugy, a na macOS vygeneruje LaunchAgent pro spouštění ve všední dny v 08:00. Jedna řádka, zhruba dvě minuty k prvnímu úkolu.

terminalmcptask_runner installer
$ bundle exec rake mcptask_runner:install
→ Installing 11 skills into ./.claude/skills/
→ Checking required helpers ✓ ok
→ Merging permissions into
.claude/settings.local.json
→ Provisioning MCPTASK_TOKEN
→ Writing .mcp.json ✓
→ macOS LaunchAgent scheduled
(weekdays 08:00) ✓

Ready. Have a nice day.
autorenewÚdržba

Aktualizace skillů bez ztráty vašich úprav

Po bumpu gemu stačí jeden rake mcptask_runner:update. Updater si drží manifest s content-hashem každého skillu a každý klasifikuje jako chybějící (zkopíruje), identický (přeskočí), zastaralý (aktualizuje) nebo lokálně upravený (nechá být / s FORCE=1 zazálohuje do .bak a přepíše). Nové schopnosti runneru dostanete automaticky, vaše vlastní úpravy skillů zůstanou zachované. Git hooky navíc skilly re-syncují po pullu a checkoutu. Verze gemu se inkrementuje automaticky post-merge hookem.

tips_and_updates

mcptask_runner:prepare:permissions sloučí baseline oprávnění — součást bezúdržbového provozu.

buildKlíčové vlastnosti

Co dělá autonomii skutečně autonomií

Níže je technický detail za tvrzením, že runner je „více než spouštěč". Každá vlastnost existuje proto, že by se bez ní reálný běh rozsypal.

bug_report

Když narazí na cizí bug, založí na něj úkol a pozastaví se

Pokud runner během práce narazí na URGENTNÍ bug, který nesouvisí s aktuálním úkolem, commitne a pushne rozdělanou práci na feature větev, přepne na main (čistý strom), založí nový urgentní bug úkol a vrátí jeho id a název. Runner si bug připne na disk (UrgentBugPin), takže i po restartu jde nejdřív opravit bug a teprve pak se vrací k původnímu úkolu. Chaos z „narazil jsem na něco cizího" se změní ve sledovatelný, vlastněný úkol.

restore

Zotavení po zaplnění kontextu nebo přerušení

Když běh skončí kvůli přeplnění kontextu, kvótě nebo zásahu urgent bugu, úkol zůstane in_progress a nedokončená práce zůstává na feature větvi. Další běh ho naváže: přečte git log + stav větve, fetchne a mergne origin/main, přeskočí hotové kroky a povýší model na „genius" (Opus), aby úkol dotáhl silnější model. Runner navíc omezuje spálení kontextu: paralelní nezávislé nástroje, žádné opakované čtení souboru, žádné pollování ve smyčkách, screenshoty konvertované a zmenšené. Dlouhá úloha přežije napříč běhy.

visibility

Watchdog a detekce zaseknutí

HeartbeatMonitoring killne běh po 20 minutách nečinnosti, soft-warn na frozen po 3 minutách, stropy na zaseknuté nástroje, absolutní backstop 30 minut a při každém tepu přepočítá denní kvótu. StallDetector čte stream Claude Code řádek po řádku a pozná „točení se dokola" — opakované chyby Edit nebo Bash, stejný podpis nástroje beze změny souborů. Při zaseknutí proces zabije; úkol zůstane in_progress a příště se resumuje na Opusu. QuotaGuard je jediný zdroj pravdy o denním rozpočtu — fail-closed. Při každém tepu se obnoví log/runs/run_*.json, takže máte audit toho, co se opravdu stalo.

psychology

Triage a volba modelu (tři úrovně)

Před prací proběhne Triage: posoudí složitost úkolu a doporučí model. Tři úrovně: genius (Opus — těžké kódování), smart (Sonnet — triage, review), primitive (Haiku — jen čtení). ID modelů jsou verzovaná, takže řetězce retry přežijí přeplnění kontextu.

verified

Kvalita: testy, CI, auto-merge

Honest executor jede plný workflow: větev → kód → unit testy → screenshoty → system testy → push → PR → lokální CI. Úkol není hotový, dokud neprojde CI. V režimech auto-squash runner po zeleném CI PR sám squash-merguje; v manuálních režimech zůstane PR otevřené k lidské revizi. Runner umí i zpracovat review feedback na existujícím PR.

swap_horizPro vývojáře

Model-agnostický přes konfiguraci

Tři úrovně si namapujete na libovolného poskytovatele. Vyměňte Claude za ollamu, Kimi, DeepSeek nebo Alibaba DashScope jednou změnou proměnné.

terminalmcptask_runner.yml
models:
  genius:    minimax-m3:cloud
  smart:     kimi-k2.7-code:cloud
  primitive: deepseek-v4-flash:cloud

launcher:
  # Lokální ollama
  command: [env, "ANTHROPIC_BASE_URL=http://localhost:11434", "ANTHROPIC_AUTH_TOKEN=ollama", "claude"]
memoryPro vývojáře

Proč to není kouzlo

Šest vláken, jeden orchestrátor a stavový automat, který drží agenta pod kontrolou.

settings

Pracovní smyčka

Hlavní orchestrační vlákno. Řídí smyčku, spouští Claude Code přes Open3.popen3 jako child proces ve vlastní process group (kvůli čistému SIGTERM/SIGKILL celého stromu).

stream

Čtečka stdout

Čte výstup Claude Code (stream-json) řádek po řádku, jak vzniká. Parsuje eventy, počítá je, hledá TASKRUNNER_RESULT marker (signál dokončení) a krmí StallDetector. Žádné čekání na konec procesu — reaguje průběžně.

report

Čtečka stderr

Odděleně zachytává chyby, aby neblokovala hlavní stream a šlo rozlišit reálný pád od očekávaného ukončení.

timer

Watchdog

Nezávislé hlídací vlákno, které tepe podle plánu: kill po 20 minutách nečinnosti, soft-warn na frozen po 3 minutách, stropy zaseknutých nástrojů, absolutní backstop 30 minut a při každém tepu přepočítá denní kvótu z REST. Je to jediný externí dozorce nad child procesem.

wifi

WebSocket do mcptask.online

EventStream drží perzistentní WebSocket (ActionCable, RunnerSessionChannel) spojení na mcptask.online. Po otevření pošle subscribe handshake, snapshoty posílá throttlovaně (zhruba 0,5 s), ale změnu stavu FSM protlačí okamžitě; při výpadku se asynchronně znovu připojuje s throttlem 30 s. Finální „closed" snímek dostane grace okno 0,5 s, aby živá karta nezamrzla na starém stavu. Proměnná MCPTASK_RUNNER_DISABLE celý stream vypne (používá se v testech, aby ruby test/... nezakládal karty na produkci).

lock

Thread-safe snapshot builder

Stavový automat (starting → triage → processing → waiting → finished / stalled / frozen / pending / error / closed) je chráněný Mutexem a vrací immutable snapshot hash. Producent/konzument kontrakt má verzované schéma (docs/runner_snapshot_schema.md) — ani jedna strana ho nezmění bez bumpu verze.

list_altKatalog rake tasků

Co všechno umí a jak se to volá

Každá položka níže se spouští jako bundle exec rake <task> z kořene projektu. Volitelné přepínače: verbose=true, ignore_quota=true. Varianty story a task vyžadují argument — bez něj spadnou.

manage_searchManuální režimy — PR zůstává otevřené k revizi

mcptask_runner:manual:once

Jeden úkol. Triage a provedení.

mcptask_runner:manual:once_dry

Jen zobrazí příští úkol, nic neprovede.

mcptask_runner:manual:today

Smyčka úkolů do dosažení denní kvóty.

mcptask_runner:manual:daily

Nepřetržitá denní smyčka.

mcptask_runner:manual:queue

Nepřetržité zpracování fronty.

mcptask_runner:manual:review

Opraví review feedback na PR aktuální větve.

mcptask_runner:manual:reviews

Smyčka přes všechna PR s nevyřízeným review.

mcptask_runner:manual:workflow

Nejdřív review, pak dnešní úkoly.

mcptask_runner:manual:story[STORY_ID]

Všechny úkoly v příběhu.

mcptask_runner:manual:task[TASK_ID]

Jeden konkrétní úkol.

auto_modeAuto-squash režimy — PR se po CI sám zmerguje

mcptask_runner:auto:once

Jeden úkol, auto-merge, konec.

mcptask_runner:auto:squash:today

Dnešní úkoly, každý auto-merge.

mcptask_runner:auto:squash:story[STORY_ID]

Celý příběh, auto-merge.

mcptask_runner:auto:squash:task[TASK_ID]

Jeden konkrétní úkol, auto-merge.

mcptask_runner:auto:squash:queue

Nepřetržitá fronta, auto-merge.

build_circleÚdržba

mcptask_runner:install

Plný bootstrap: skilly, oprávnění, token, .mcp.json, plánovač.

mcptask_runner:update

Obnoví bundled skilly bez ztráty lokálních úprav.

mcptask_runner:prepare:permissions

Sloučí baseline oprávnění.

mcptask_runner:bug_report

Založí high-priority bug s posledním run logem a (redigovanými) env configy.

rocket_launch

Ráno zapněte stroj

mcptask_runner nenahrazuje váš tým — násobí ho. Jeden Ruby gem, jedna řádka na instalaci, a váš backlog se hýbe sám.

verified_user30 dní zdarma. Bez kreditní karty. Open source. Kdykoli zrušíte.