---
icon: recipe
title: AI Playbooks
description: Step-by-step guides to running your own apps and AI with Edgible, written for you and your AI assistant.
---

# AI Playbooks

Each playbook takes you from nothing to something working, one short chapter at a time. Your AI assistant does the technical parts: you mostly tell it what you want.

The playbooks use Edgible cards: ready-made, tested apps that your assistant sets up for you. An app you built yourself can still be published with Edgible, but the steps here were written and tested for cards.

Pick a path. Most start with [Get Edgible running](get-edgible-running/).

<div class="paths">
<a class="path" href="edgible-for-ai/"><svg viewBox="0 0 200 74" aria-hidden="true"><rect x="2" y="2" width="196" height="32" rx="9" class="mf"/><rect x="2" y="40" width="196" height="32" rx="9" class="mf"/><g transform="translate(22 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(53 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(84 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(115 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(146 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(177 18)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(22 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(53 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(84 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(115 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(146 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g><g transform="translate(177 56)"><rect x="-8" y="-6" width="16" height="13" rx="3.5" class="md"/><path d="M0-6V-10" class="rb"/><circle cy="-11" r="1.8" class="md"/><rect x="-10.5" y="-2" width="2.5" height="5" rx="1" class="md"/><rect x="8" y="-2" width="2.5" height="5" rx="1" class="md"/><circle cx="-3.2" cy="-1" r="1.7" class="eye"/><circle cx="3.2" cy="-1" r="1.7" class="eye"/><path d="M-3 3.5H3" class="rb"/></g></svg><h2>Edgible for AI</h2><p>Your own agent and a private model, used from your phone, on a budget.</p><span class="go">Twelve chapters in two playbooks →</span></a>
<a class="path" href="edgible-for-operations/"><svg viewBox="0 0 200 74" aria-hidden="true"><rect x="2" y="2" width="196" height="70" rx="9" class="mf"/><circle cx="22" cy="37" r="14" class="md"/><g transform="translate(22 37)" class="og"><path d="M6-3A7 7 0 1 0 7 2M7-8V-3H2"/></g><circle cx="53" cy="37" r="14" class="md"/><g transform="translate(53 37)" class="og"><path d="M-9 0H-4L-2-6L2 6L4 0H9"/></g><g transform="translate(84 37)" class="og soon"><path d="M0-9L7-6V1Q7 7 0 9Q-7 7-7 1V-6Z"/><path d="M-3 0L-1 3L4-3"/></g><g transform="translate(115 37)" class="og soon"><path d="M-6 4Q-6-7 0-7Q6-7 6 4ZM-8 4H8M-2 7H2"/></g><g transform="translate(146 37)" class="og soon"><circle r="5"/><circle r="2"/><path d="M0-9V-6M0 6V9M-9 0H-6M6 0H9M-6.4-6.4L-4.2-4.2M6.4-6.4L4.2-4.2M-6.4 6.4L-4.2 4.2M6.4 6.4L4.2 4.2"/></g><g transform="translate(177 37)" class="og soon"><path d="M-7 7L1-1"/><circle cx="4" cy="-4" r="4.5"/></g></svg><h2>Edgible for Operations</h2><p>Back it up, move it, upgrade it, and know when something's wrong, so it keeps running.</p><span class="go">Three chapters so far, more coming →</span></a>
<a class="path" href="edgible-for-contributors/"><svg viewBox="0 0 200 74" aria-hidden="true"><rect x="2" y="2" width="196" height="70" rx="9" class="mf"/><circle cx="22" cy="37" r="14" class="md"/><g transform="translate(22 37)" class="og"><circle cy="-4" r="3.5"/><path d="M-7 8Q-7 2 0 2Q7 2 7 8"/></g><circle cx="53" cy="37" r="14" class="md"/><g transform="translate(53 37)" class="og"><rect x="-6" y="-8" width="12" height="16" rx="2"/><path d="M-3-3H3M-3 1H1"/></g><circle cx="84" cy="37" r="14" class="md"/><g transform="translate(84 37)" class="og"><circle cx="-5" cy="-6" r="2"/><circle cx="-5" cy="6" r="2"/><circle cx="5" cy="-2" r="2"/><path d="M-5-4V4M5 0Q5 3-5 3"/></g><circle cx="115" cy="37" r="14" class="md"/><g transform="translate(115 37)" class="og"><path d="M-6 0L-2 4L6-5"/></g><circle cx="146" cy="37" r="14" class="md"/><g transform="translate(146 37)" class="og"><circle cx="-4" cy="-4" r="3"/><circle cx="4.5" cy="-3" r="2.5"/><path d="M-10 8Q-10 2-4 2Q2 2 2 8M3 3Q10 2 10 8"/></g><circle cx="177" cy="37" r="14" class="md"/><g transform="translate(177 37)" class="og"><path d="M0 7L-7 0A4 4 0 0 1 0-5A4 4 0 0 1 7 0Z"/></g></svg><h2>Edgible for Contributors</h2><p>Built an app? Turn it into a card, test it on your own Edgible, and share it so anyone can run it.</p><span class="go">Two chapters →</span></a>
<a class="path" href="a-coding-agent-in-a-box/"><svg viewBox="0 0 200 74" aria-hidden="true"><rect x="2" y="2" width="196" height="32" rx="9" class="mf"/><rect x="2" y="40" width="196" height="32" rx="9" class="mf"/><g transform="translate(14 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(45 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(76 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(107 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(138 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(169 8) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(14 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(45 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(76 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(107 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(138 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g><g transform="translate(169 46) scale(0.0667)"><path d="M240 300H0V0H240ZM180 60H60V240H180Z" class="md" fill-rule="evenodd"/><path d="M180 240H60V120H180Z" class="eye"/></g></svg><h2>Edgible for OpenCode</h2><p>An open-source coding agent in a box you can reset in seconds, on a budget you set, with or without Edgible.</p><span class="go">One playbook, seven steps →</span></a>
</div>

Prefer to do it by hand? Install Edgible from [edgible.com](https://edgible.com/), then pick a [card](../) and follow its README.

Start here:

- **<span class="ico sm" aria-hidden="true"><svg><use href="icons.svg#machine"/></svg></span>[Get Edgible running](get-edgible-running/):** the first chapter of most playbooks.
- **<span class="ico sm" aria-hidden="true"><svg><use href="icons.svg#cloud"/></svg></span>[Getting a machine](getting-a-machine/):** no spare computer? A virtual machine on yours, or a small cloud server.
- **<span class="ico sm" aria-hidden="true"><svg><use href="icons.svg#globe"/></svg></span>[Use your own domain](use-your-own-domain/):** give any app an address on a domain you own.
- **<span class="ico sm" aria-hidden="true"><svg><use href="icons.svg#clean"/></svg></span>[Take it all down](take-it-all-down/):** remove what these playbooks set up, cleanly, keeping your data or not.

For the experts and the curious:

- **<span class="ico sm" aria-hidden="true"><svg><use href="icons.svg#eye"/></svg></span>[Under the hood](under-the-hood/):** what the agent playbook does for you that's easy to miss, where Edgible comes in, and the known limits.
