# Arkor > The TypeScript framework for fine-tuning open-weight LLMs. ## Docs - [arkor login / logout / whoami](https://arkor-92aeef0e-eng-736.mintlify.app/cli/auth.md): Sign in to Arkor's managed backend, sign out, and inspect the current identity. - [arkor build / start](https://arkor-92aeef0e-eng-736.mintlify.app/cli/build-and-start.md): Bundle the trainer and run it without Studio. - [arkor dev](https://arkor-92aeef0e-eng-736.mintlify.app/cli/dev.md): Launch Arkor Studio locally. - [arkor init](https://arkor-92aeef0e-eng-736.mintlify.app/cli/init.md): Scaffold an Arkor project in the current directory. - [Command reference](https://arkor-92aeef0e-eng-736.mintlify.app/cli/overview.md): The arkor CLI: full command reference. - [Lifecycle callbacks](https://arkor-92aeef0e-eng-736.mintlify.app/concepts/lifecycle.md): The five callbacks Arkor fires during a training run, and what each one is good for. - [Mental model](https://arkor-92aeef0e-eng-736.mintlify.app/concepts/overview.md): The mental model behind Arkor: project layout, trainer, lifecycle callbacks, and Studio. - [Project structure](https://arkor-92aeef0e-eng-736.mintlify.app/concepts/project-structure.md): Where Arkor expects your code, and what lives in .arkor/ and ~/.arkor/. - [Studio](https://arkor-92aeef0e-eng-736.mintlify.app/concepts/studio.md): The local web UI for starting training runs, watching them stream, chatting with finished models, and publishing them at *.arkor.app URLs. - [Trainer](https://arkor-92aeef0e-eng-736.mintlify.app/concepts/trainer.md): createTrainer: required fields, dataset sources, LoRA settings, and the start / wait / cancel lifecycle. - [Customizing the starter templates](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/customizing-templates.md): Treat the scaffolded templates as starting points. Change the dataset, hyperparameters, callbacks, and base model. - [Early stopping on diverging loss](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/early-stopping.md): Abort a run automatically when the loss curve goes the wrong way, and stop the GPU on the backend too. - [Mid-run evaluation](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/mid-run-eval.md): Sanity-check the half-trained model against a fixed prompt at every checkpoint, before the run finishes. - [Slack / Discord notifications](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/notifications.md): Post to a webhook when a training run finishes or fails, from inside trainer.ts. - [Recipes](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/overview.md): Recipes that show what TypeScript unlocks for an Arkor training run today. - [Programmatic runs (no CLI)](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/programmatic-runs.md): Drive training from a Next.js API route, a cron worker, or CI without going through arkor dev / arkor start. - [Structured outputs and function calling](https://arkor-92aeef0e-eng-736.mintlify.app/cookbook/structured-outputs.md): Constrain a checkpoint's output to a JSON schema, parse it as a typed object, and call functions from the model. - [Sign in](https://arkor-92aeef0e-eng-736.mintlify.app/guides/cli/auth.md): arkor login, logout, whoami. - [arkor build / start](https://arkor-92aeef0e-eng-736.mintlify.app/guides/cli/build-and-start.md): Run a trainer without booting Studio. - [arkor dev](https://arkor-92aeef0e-eng-736.mintlify.app/guides/cli/dev.md): Launch Studio in the browser. - [arkor init](https://arkor-92aeef0e-eng-736.mintlify.app/guides/cli/init.md): Add Arkor to an existing project. - [CLI overview](https://arkor-92aeef0e-eng-736.mintlify.app/guides/cli/overview.md): The day-to-day shape of the Arkor CLI. - [Callbacks](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/callbacks.md): Watch a training run from your code. - [createArkor](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/create-arkor.md): Wrap a trainer so the CLI and Studio can find it. - [createTrainer](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/create-trainer.md): Define a fine-tuning run. - [Dataset](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/dataset.md): Tell the trainer where data comes from. - [Deployments](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/deployments.md): Publish a trained adapter or base model at a *.arkor.app URL from your own code. - [infer](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/infer.md): Call the in-flight model from inside a checkpoint callback. - [SDK overview](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/overview.md): The TypeScript primitives the CLI and Studio sit on top of. - [Trainer control](https://arkor-92aeef0e-eng-736.mintlify.app/guides/sdk/trainer-control.md): Drive a run from your own code: start, wait, cancel. - [Introduction](https://arkor-92aeef0e-eng-736.mintlify.app/introduction.md): Arkor is the TypeScript framework for fine-tuning open-weight LLMs. - [Supported models](https://arkor-92aeef0e-eng-736.mintlify.app/models.md): Which base models the Arkor backend accepts today, why the list is short, and where it's headed. - [Quickstart](https://arkor-92aeef0e-eng-736.mintlify.app/quickstart.md): Scaffold an Arkor project, fine-tune a small open-weight LLM, and chat with it from a local Studio. - [Roadmap](https://arkor-92aeef0e-eng-736.mintlify.app/roadmap.md): What we're building next in Arkor. - [Lifecycle callbacks](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/callbacks.md): The five callbacks Arkor fires while a training run streams from the backend. - [createArkor](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/create-arkor.md): Wrap a Trainer into an Arkor project manifest the CLI and Studio can discover. - [createTrainer](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/create-trainer.md): Define a fine-tuning run: model, dataset, LoRA, hyperparameters, callbacks. - [DatasetSource](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/dataset.md): Where the trainer pulls data from: HuggingFace name or blob URL. - [Deployments](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/deployments.md): Programmatically manage *.arkor.app inference URLs from your own code via CloudApiClient. - [infer](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/infer.md): Run inference against a checkpoint adapter from inside onCheckpoint. - [API reference](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/overview.md): The Arkor SDK: createArkor, createTrainer, lifecycle callbacks, infer, and the helpers around them. - [Trainer control](https://arkor-92aeef0e-eng-736.mintlify.app/sdk/trainer-control.md): start, wait, cancel, abortSignal, and how reconnects work. - [Endpoints](https://arkor-92aeef0e-eng-736.mintlify.app/studio/endpoints.md): Manage *.arkor.app inference URLs from inside Studio: create deployments, toggle settings, issue API keys. - [Run training and watch jobs](https://arkor-92aeef0e-eng-736.mintlify.app/studio/jobs.md): Studio's Overview, Jobs, and Job detail pages: trigger a run, browse the list, inspect a single job. - [What Studio is](https://arkor-92aeef0e-eng-736.mintlify.app/studio/overview.md): The local web UI you get from arkor dev: start runs, watch them stream, chat with finished adapters, and publish them at *.arkor.app URLs. - [Playground](https://arkor-92aeef0e-eng-736.mintlify.app/studio/playground.md): Chat with the base model or the final adapter from a completed job.