Overview
Translating one file with an LLM is a demo. Translating a repository is an engineering problem: dependency manifests have to map across ecosystems, files too large for a context window have to be split without cutting a function in half, rate limits have to be survived rather than crashed on, and a run that dies at file 200 should not start over. langshift handles each of those explicitly. Its most useful design decision is the offline provider — a rule-based transformer with no LLM at all — which lets the entire test suite and CI run deterministically with no API key and no network.