Šķîþ ţö ḿàîñ çöñţéñţ

kapi üþ

Çàţçĥ ţĥé þŕöĵéçţ üþ ţö îţš šĥîþ ĝàţéš: ţĥé ṽéŕƃ ţĥàţ ŕüñš ţĥé kapi ļööþ. kapi up ţŕéàţš ţĥé ŕéçîþé àš ţĥé đéšîŕéđ šţàţé àñđ ŕüñš ţĥé þŕöĵéçţ'š đéƒàüļţ ƒļöŵ öṽéŕ àļļ çöñţéñţ àçŕöšš éṽéŕý ţàŕĝéţ ļàñĝüàĝé, ļööþîñĝ üñţîļ éṽéŕý ĝàţéđ šçöþé îš šĥîþþàƃļé öŕ þàŕķš ƒöŕ à ĥüḿàñ.

Öñ à šéŕṽéŕ-çöññéçţéđ þŕöĵéçţ (ţĥé ŕéçîþé đéçļàŕéš à bowrain: ƃļöçķ), kapi up ŕüñš ţĥé ļööþ öñ ţĥé Bowrain šéŕṽéŕ ƃý đéƒàüļţ: îţ þüšĥéš đŕîƒţ, ţĥé šéŕṽéŕ ŕüñš ţĥé ļööþ öñ ţĥé öŕĝàñîžàţîöñ'š ķéýš àñđ šĥàŕéđ çöñţéñţ ḿéḿöŕý àñđ ţéŕḿš, þŕöĝŕéšš šţŕéàḿš ƃàçķ ļîṽé, ŕéšüļţš þüļļ đöŵñ, àñđ þàŕķéđ üñîţš éñţéŕ ţĥé ţéàḿ'š ŕéṽîéŵ šéššîöñ. kapi up --local ŕüñš ţĥé ļööþ öñ ţĥîš ḿàçĥîñé àñđ þüšĥéš ţĥé ŕéšüļţš îñšţéàđ.

Ţĥé þüšĥ þĥàšé ŕéþöŕţš ţĥé ṽéŕđîçţš ţĥé šéŕṽéŕ đîđ ñöţ àççéþţ, þéŕ ļàñĝüàĝé, îñ ţĥé ļîñéš kapi push þŕîñţš. Ŵîţĥ --json ţĥéý àŕŕîṽé àš öñé governance ŕéçöŕđ îñ ţĥé šţŕéàḿ.

kapi push àñđ kapi pull ŕéḿàîñ àš þüŕé ţŕàñšþöŕţ: ţĥéý ḿöṽé þŕöĵéçţ šţàţé àñđ ñéṽéŕ ţŕàñšļàţé. Ţĥéŕé îš ñö kapi sync; à çöññéçţéđ kapi up îš þüšĥ → çàţçĥ üþ → þüļļ.

Üšàĝé

kapi up [flags]

Éẋàḿþļéš

# Catch the project up on the server (connected project), streaming progress
kapi up

# Dry run: pending work, memory reuse, and a token estimate per locale; no writes
kapi up --plan

# Catch up on this machine (your AI keys), then push the results
kapi up --local

# NDJSON event stream for CI and agents (one record per line, including a result record)
kapi up --json

# A single pass over every locale that needs work
kapi up --passes 1

Öþţîöñš

ƑļàĝĐéšçŕîþţîöñĐéƒàüļţ
--planĐŕý ŕüñ: ŕéþöŕţ þéñđîñĝ ŵöŕķ, ḿéḿöŕý ŕéüšé, àñđ à ţöķéñ éšţîḿàţé; ñö ŵŕîţéšfalse
--localÇàţçĥ üþ öñ ţĥîš ḿàçĥîñé, ţĥéñ þüšĥ ţĥé ŕéšüļţš (öṽéŕŕîđé ţĥé šéŕṽéŕ ṽéñüé)false
--serverŔéǫüîŕé ţĥé šéŕṽéŕ ṽéñüé: ƒàîļ ŕàţĥéŕ ţĥàñ ƒàļļ ƃàçķ ţö à ļöçàļ ŕüñfalse
--timeoutŠéŕṽéŕ ṽéñüé: ḿàẋîḿüḿ ţîḿé ţö ŵàîţ ƒöŕ ţĥé šéŕṽéŕ ŕüñ ƃéƒöŕé þüļļîñĝ àṽàîļàƃļé ŕéšüļţš15m
--passesḾàẋîḿüḿ ŕéçöñçîļîàţîöñ þàššéš (0 = ļööþ üñţîļ çàüĝĥţ üþ öŕ þàŕķéđ; 1 = öñé)0
--jobsĤöŵ ḿàñý ļàñĝüàĝéš ţö çàţçĥ üþ çöñçüŕŕéñţļý þéŕ þàšš4
--materializeÀƒţéŕ ţĥé ļööþ, ŵŕîţé ţàŕĝéţ ƒîļéš ƒöŕ éṽéŕý šĥîþþàƃļé ļöçàļéfalse
--no-extractŠķîþ ţĥé þŕé-þàšš šöüŕçé-đŕîƒţ çĥéçķ àñđ ƃļöçķ-šţöŕé ŕé-éẋţŕàçţîöñfalse
--no-checksŠķîþ ţĥé ƃöüñđ çĥéçķš îñ ţĥé ļööþfalse
--jsonŠţŕéàḿ ţĥé çöñṽéŕĝéñçé éṽéñţš àš ÑĐĴŠÖÑ, ŵîţĥ öñé result ŕéçöŕđfalse
--fail-on-incomplete-watchŠéŕṽéŕ ṽéñüé: ƒàîļ ŵĥéñ ţĥé éṽéñţ šţŕéàḿ éñđš ƃéƒöŕé ţĥé ŕüñ đöéš, îñšţéàđ öƒ ŕéþöŕţîñĝ îţ àñđ þüļļîñĝ ŵĥàţ ļàñđéđfalse

Ŵîţĥ --json, ŕéàđ ţĥé öüţçöḿé ƒŕöḿ ţĥé ŕéçöŕđ ŵĥöšé type îš result. Öñ ţĥé šéŕṽéŕ ṽéñüé, àñđ îñ à þŕöĵéçţ ŵîţĥ ñö šéŕṽéŕ, îţ îš ţĥé ļàšţ ŕéçöŕđ. Àƒţéŕ kapi up --local öñ à çöññéçţéđ þŕöĵéçţ, ţĥé þüšĥ ţĥàţ ƒöļļöŵš ţĥé ļöçàļ ŕüñ ŵŕîţéš îţš ŕéçöŕđš àƒţéŕ îţ: à changeset ŕéçöŕđ ŵĥéñ îţ þŕöþöšéđ ţéŕḿîñöļöĝý éđîţš, à voice_profile ŕéçöŕđ ŵĥéñ ţĥé ŕéçîþé ƃîñđš à ṽöîçé þŕöƒîļé, àñđ à governance ŕéçöŕđ ŵĥéñ ţĥé šéŕṽéŕ đîđ ñöţ àççéþţ à ṽéŕđîçţ.

Öñ ţĥé šéŕṽéŕ ṽéñüé ţĥé šţŕéàḿ öþéñš ŵîţĥ à run_started ŕéçöŕđ çàŕŕýîñĝ ţĥé ŕüñ'š id, àñđ ţĥé result ŕéçöŕđ çàŕŕîéš run (id, state, passes, àš kapi status --json ŕéþöŕţš ţĥéḿ) ƃéšîđé watch, ŵĥîçĥ šàýš ŵĥéţĥéŕ ţĥîš çļîéñţ šàŵ ţĥé ŵĥöļé ŕüñ àñđ ŵĥàţ éñđéđ îţ (done, timeout öŕ stream_error). À çöñšüḿéŕ ţĥàţ ļöšéš ţĥé šţŕéàḿ šţîļļ ĥöļđš ţĥé ŕüñ'š îđ, àñđ kapi status ŕéþöŕţš ŵĥéŕé ţĥàţ ŕüñ ĝöţ ţö.

Ţĥé ļööþ

Éàçĥ þàšš ŕé-đéŕîṽéš çöṽéŕàĝé ƒŕöḿ ţĥé ŵöŕķîñĝ ţŕéé, ŕüñš ţĥé ƒļöŵ öñļý ƒöŕ ţĥé ļöçàļéš šţîļļ šĥöŕţ öƒ ţĥéîŕ ĝàţé, ţĥéñ ŕüñš ţĥé þŕöĵéçţ'š ƃöüñđ çĥéçķš öṽéŕ ŵĥàţ ŵàš þŕöđüçéđ. Ţĥé ļööþ šţöþš ŵĥéñ éṽéŕý ĝàţéđ šçöþé îš šĥîþþàƃļé, à þàšš ḿàķéš ñö þŕöĝŕéšš, öŕ ţĥé þàšš çàþ îš ŕéàçĥéđ. Ŵĥàţéṽéŕ çàññöţ ƃé àđṽàñçéđ üñàîđéđ þàŕķš: ŕéþöŕţéđ àš àŵàîţîñĝ à ĥüḿàñ, éẋîţ 0. kapi up ñéṽéŕ ƒàîļš ţĥé ƃüîļđ öñ ţàŕĝéţ đŕîƒţ.

Ļöçàļéš àŕé çàüĝĥţ üþ çöñçüŕŕéñţļý ŵîţĥîñ à þàšš (--jobs, đéƒàüļţ 4). Ƃéƒöŕé éàçĥ þàšš, up ŕé-šýñçš ţĥé ƃļöçķ šţöŕé ŵîţĥ ţĥé ŵöŕķîñĝ ţŕéé (--no-extract öþţš öüţ).

Ţŵö ṽéñüéš, öñé éṽéñţ šţŕéàḿ

Öñ à çöññéçţéđ þŕöĵéçţ ţĥé ŕüñ éẋéçüţéš öñ ţĥé šéŕṽéŕ àñđ šţŕéàḿš ţĥé šàḿé çöñṽéŕĝéñçé éṽéñţš ţĥé ÇĻÎ ŕéñđéŕš ļöçàļļý, šö ţĥé ţéŕḿîñàļ ṽîéŵ îš îđéñţîçàļ éîţĥéŕ ŵàý.

pushtransport (declared tree)catch upserver run · org keys · gatesstreamSSE → live per-locale progresspullresults into local files

Éẋîţ Çöđéš

Ţĥé éẋîţ çöđé àñšŵéŕš ŵĥéţĥéŕ ţĥé ŵöŕķ ĥàþþéñéđ, ñöţ ŵĥéţĥéŕ ţĥîš çöḿḿàñđ ŵàţçĥéđ îţ ĥàþþéñ. À šéŕṽéŕ ŕüñ öüţļîṽéš ţĥé çöññéçţîöñ ţĥàţ ŵàţçĥéš îţ: ŵĥéñ ţĥé šţŕéàḿ éñđš éàŕļý, up šàýš šö, þüļļš ŵĥàţ ļàñđéđ, àñđ ŕéþöŕţš ţĥé ŕüñ'š šţàţé àš ţĥé šéŕṽéŕ ĥöļđš îţ.

  • 0: çàüĝĥţ üþ, þàŕķéđ ŵöŕķ ŕéþöŕţéđ (ţàŕĝéţ đŕîƒţ îš ñéṽéŕ à ƒàîļüŕé), öŕ ţĥé ŕüñ ŵéñţ öñ àƒţéŕ ţĥé éṽéñţ šţŕéàḿ éñđéđ éàŕļý
  • 1: ţĥé ŵöŕķ đîđ ñöţ ĥàþþéñ öŕ îţš öüţçöḿé îš üñķñöŵñ: à ƒàîļéđ öŕ çàñçéļéđ ŕüñ, à þüšĥ öŕ þüļļ ţĥàţ ƒàîļéđ, à ŕüñ ţĥàţ ñéṽéŕ šţàŕţéđ, à ţŕüñçàţéđ --json đöçüḿéñţ, öŕ àñ îñţéŕŕüþţéđ çöḿḿàñđ
  • --fail-on-incomplete-watch ḿöṽéš à ŵàţçĥ ţĥàţ éñđéđ éàŕļý îñţö 1, ƒöŕ à þîþéļîñé ţĥàţ ŵöüļđ ŕàţĥéŕ šţöþ ţĥàñ þŕöçééđ öñ à þàŕţîàļ ṽîéŵ

Ŕéļàţéđ Çöḿḿàñđš

  • kapi push: ţŕàñšþöŕţ: šéñđ šöüŕçé çĥàñĝéš ţö ţĥé šéŕṽéŕ
  • kapi pull: ţŕàñšþöŕţ: ƒéţçĥ ŕéšüļţš ƒŕöḿ ţĥé šéŕṽéŕ
  • kapi status: šţàñđîñĝ: çöṽéŕàĝé, ĝàţéš, àñđ ŵĥàţ'š þéñđîñĝ

Ŵĥéñ ţö Üšé

Üšé kapi up ƒöŕ ţĥé đàîļý ŕéçöñçîļé, ƃŕîñĝîñĝ éṽéŕý ļöçàļé üþ ţö đàţé àĝàîñšţ ţĥé þŕöĵéçţ'š ĝàţéš, ļöçàļļý öŕ öñ ţĥé šéŕṽéŕ:

  • ÇÎ/ÇĐ þîþéļîñéš: kapi up --json ƒŕöḿ à ŵöŕķƒļöŵ ţö çàţçĥ üþ öñ þüšĥ àñđ ƒàîļ öñļý öñ àñ éẋþļîçîţ kapi check --ship ĝàţé; šéé Ţĥé ļööþ îñ ÇÎ ƒöŕ ţĥé ŕéàđý-ḿàđé šüŕƒàçéš.
  • Đéṽéļöþéŕ ŵöŕķƒļöŵš: üþđàţé šöüŕçé çöñţéñţ, ţĥéñ kapi up ţö ĝéţ ŕéšüļţš ƃàçķ àñđ šéé ŵĥàţ šţîļļ ñééđš à ĥüḿàñ.

Ƒöŕ à çüšţöḿ öñé-öƒƒ þîþéļîñé (öñé ñàḿéđ ƒļöŵ, öñé þàšš, ñö ĝàţé ļööþ), üšé kapi run <flow> îñšţéàđ.