# Malini > Malini is a free, open source Mac app that runs many Claude Code agents side by side, each in its own git worktree, and takes every one to a merged pull request. Every page below is plain markdown. [llms-full.txt](https://bestboy.dev/malini/llms-full.txt) holds all of them in one file. ## Docs - [What Malini is](https://bestboy.dev/malini/docs.md): Malini is a free, open source Mac app that runs many Claude Code agents side by side, each in its own git worktree, and takes each one to a merged pull request. - [Install](https://bestboy.dev/malini/docs/install.md): Download Malini for macOS, connect Claude Code and GitHub in setup, and add your first repository. - [Updates and compatibility](https://bestboy.dev/malini/docs/updates.md): How Malini updates itself, and how the built-in Check compatibility job keeps your jobs and routines working when Malini's events change. - [Workstreams](https://bestboy.dev/malini/docs/workstreams.md): A workstream is one task in Malini - its own git worktree, branch, and chats - and the merge queue that takes it from Draft to a merged pull request. - [Chat](https://bestboy.dev/malini/docs/chat.md): How a Malini chat runs Claude Code - queue or steer prompts, plan mode, agent access, model and effort per prompt, undo, edit, and fork. - [Jobs](https://bestboy.dev/malini/docs/jobs.md): A Malini job is agent work you reuse by name - instructions, a model, an effort, and a skill preset - run in a workstream or a new one, with a draft or a merge at the end if you like. - [Routines](https://bestboy.dev/malini/docs/routines.md): A Malini routine runs jobs, extension commands, and workflows in order when a trigger fires - when you run it, when a workstream is created, when a frontend resource becomes ready, or on any Malini event. - [Agent tools](https://bestboy.dev/malini/docs/agent-tools.md): The tools the agent gets in a Malini chat - a browser it shares with you, and your jobs, routines, and events - and how writes ask for your approval. - [Extensions](https://bestboy.dev/malini/docs/extensions.md): Malini's inspector is built from extensions - panels, commands, settings, and workflows declared in a manifest, on an MIT licensed extension API. - [Events](https://bestboy.dev/malini/docs/reference/events.md): Every event Malini emits, when it fires, and the TypeScript shape of its payload.