{"repo":"0xf06/solto","free":true,"listed":false,"github":"https://github.com/0xf06/solto","clone":"git clone https://github.com/0xf06/solto.git","description":"Free, self-hosted and open source alternative to Linear Agents that turns tickets into PRs.","language":"TypeScript","stars":11,"topics":[],"license":null,"category":"self-hosted-apps","readme_excerpt":"solto Free, self-hosted and open source alternative to Linear Agents that turns tickets into PRs. Solto is ideal for solo developers looking to build momentum on their ideas. Demo quick demo of how to manage a GitHub repository via Linear with solto Install Run it as root, or prefix it with sudo if needed. The installer needs root because it installs host packages and creates the locked-down agent user. After that, solto itself runs as agent , not root. Upgrade That upgrades to the latest available release, refreshes dependencies and reloads pm2 . For the full setup and operations guide, including latest , main and pinned-tag examples, see ZERO TO SOLTO.md. If you want a preview first: That guide also covers the simplest Cloudflare setup path with ./scripts/setup-tunnel.sh . . After install or any auth/config change, run: It verifies the local env, project config, repo access, pm2 state, Linear token and local /health + /status . For a quick local sanity check: The lightweight test suite covers local state persistence plus a few pure status/log helpers. It also runs in GitHub Actions for every pull request and every push to main . How It Works 1. You assign a Linear issue to your dedicated bot user, such as solto-bot . 2. Linear hits a webhook served by solto (via Cloudflare Tunnel). 3. solto creates a git worktree off origin/main , runs the agent headlessly against it, commits the diff, pushes the branch, opens a PR via gh , and attaches that PR to the Linear issue. 4. If so","default_branch":null,"files":null,"tree":[],"storefront":"/r/0xf06","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/0xf06/solto/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}