Запускайте CI локально. Исправляйте сбои с помощью ИИ. Stitch читает вашу существующую конфигурацию CI, выполняет задачи на вашем компьютере за секунды и передаёт сбои ИИ-агенту, который их устраняет. Никаких API-ключей и файлов конфигурации.
Stitch runs your CI config — but on your machine, before you push. When it finds a failure, it hands the context to Claude and applies the patch. No broken PR opened.
От конфига до зелёного CI Stitch запускает весь цикл на вашей машине, не покидая терминал.
Запустите stitch run claude. Stitch парсит ваш .gitlab-ci.yml или workflow GitHub Actions, классифицирует задачи и автоматически пропускает инфраструктурные.
Задачи выполняются локально с таймаутами и изоляцией. Результаты появляются в живом TUI с отслеживанием прогресса. Секунды, а не минуты.
Упавшие задачи передаются вашему AI-агенту (Claude Code или Codex). Агент расследует, редактирует файлы, а Stitch перезапускает для проверки. До 3 попыток перед эскалацией к вам.
No intermediate server. Stitch runs in your shell, reads your file tree, and writes patches on top. Shut it down and nothing lingers.
Uses the Claude Code credentials you already have. We do not ask for tokens, we do not store anything.
Every patch lands in an isolated commit. git reset takes you back exactly where you were.
Whatever you would see in your cloud CI, you see in your terminal. Same jobs, same containers, same result — without the wait cycle.
Stitch улавливает то, что ускользает при код-ревью — ошибки линтера, несоответствия типов, сломанные тесты — и исправляет их ещё до того, как вы заметите.
Использует ваш существующий .gitlab-ci.yml или GitHub Actions. Без установки, без переписывания, без лишнего YAML.
Запускает задачи на вашем компьютере за секунды. Без ожидания удалённых раннеров и очередей пайплайнов.
Подключайте Claude Code или OpenAI Codex. Используется ваша подписка. Никаких API-ключей в управлении.
Красивый терминальный интерфейс с живым прогрессом, статусом задач и активностью драйверов, пока Stitch работает.
Непрерывная валидация во время кодинга. Задачи автоматически перезапускаются при изменении файлов.
Автоматически классифицирует и пропускает задачи deploy, publish и infra. Локально запускает только важное.
Когда исправления проходят, Stitch сам делает commit и push. Вы остаётесь в потоке.
GitLab CI и GitHub Actions, включая self-hosted. Читает вашу существующую конфигурацию как есть.
Всё остальное на этой странице описывает, что Stitch делает. Записи ниже показывают, как Stitch выглядит в процессе. Сняты с реального терминала, без монтажа.
Одна команда. Stitch парсит вашу конфигурацию CI, запускает verify-задачи локально, передаёт сбои Claude Code или Codex и перепроверяет исправление. Всё идёт в одном окне терминала.
Stitch записывает каждый запуск по репозиторию. Вы сразу видите, какие задачи проходят сами, какие требовали агента, а какие эскалированы. Ни дашбордов, ни аккаунтов. Просто файл на вашей машине.
Stitch поставляется со скиллом для Claude Code. Установите один раз, и Claude запускает Stitch автоматически в четырёх моментах, когда сломанный код обычно проскальзывает. Без флагов, команд и промптов.
Пишете "commit and push" в Claude Code.
Запускает Stitch локально за секунды, TUI идёт прямо в окне.
Зелёный, push уходит. Красный, Claude сначала чинит, потом пушит.
Попросите Claude сделать push, commit или открыть PR. Stitch идёт первым. Если что-то падает, коммит остаётся на вашей машине.
Фича готова, баг исправлен, рефакторинг завершён. Claude запускает Stitch последним шагом перед тем, как объявить работу законченной.
Если пункт TodoWrite трогает код, который проверил бы pipeline, Claude запускает Stitch перед тем, как поставить галочку.
Переключаетесь на другое изменение, Claude проверяет предыдущее, чтобы не осталось ничего сломанного позади.
Один symlink. Claude Code подхватит его сам и сработает на фразы вроде "проверь это" или "почини pipeline". Вы по-прежнему можете вызвать его явно через /stitch.
$ ln -s "$(pwd)/skills/stitch" ~/.claude/skills/stitch
$ ln -s "$(npm root -g)/stitch-agent/skills/stitch" ~/.claude/skills/stitch
Большинство ассистентов для CI хотят, чтобы вы приняли их облако, их монорепо или их SDK. Stitch читает то, что у вас уже есть, и работает на машине, которая у вас уже есть.
| Возможность | Stitch | Gitar | Nx Cloud | Dagger + AI |
|---|---|---|---|---|
| Использует существующую конфигурацию CI | ✓ | ✕ | ✕ | ✕ |
| Запускает задачи локально | ✓ | Только облако | Только облако | Контейнеры |
| Сменный AI-агент | Любой CLI-агент | Только встроенный | Только встроенный | Только встроенный |
| Требует новой инфраструктуры | Никакой | Аккаунт SaaS | Монорепо Nx | Dagger SDK |
| Нативная интеграция с Claude Code | Поставляется со скиллом | ✕ | ✕ | ✕ |
| Цена | Бесплатно | От $20/пользователь/мес | План Nx Cloud | Бесплатно (OSS) |
Stitch читает уже существующую конфигурацию CI и запускает те же задания локально. Без изменений в пайплайне, без дополнительных сервисов и без нового YAML для поддержки.
# Run every CI job locally $ stitch run claude # Only the jobs you care about $ stitch run claude --jobs lint,test # See what would run, without running it $ stitch run claude --dry-run # Re-run automatically on every file change $ stitch run claude --watch --jobs lint,test
# Your existing CI config. Stitch reads it, # no jobs to add, no changes to make. lint: image: node:20 script: - bun install - bun run lint test: image: node:20 script: - bun install - bun test typecheck: image: node:20 script: - bun install - bun run typecheck
Stitch работает внутри вашего репозитория с жёсткими ограничениями по времени, области и тому, что может покинуть вашу машину. Ничего не происходит за вашей спиной.
Каждая задача выполняется с настраиваемым таймаутом. Вышедшие из-под контроля команды завершаются SIGKILL, никогда не висят.
Задачи deploy, publish и release классифицируются как infra и пропускаются автоматически. Локально запускаются только проверочные задачи.
Авто-коммит и push срабатывают только если ветка была чистой до старта Stitch. Ваша незакоммиченная работа неприкосновенна.
Упавшие задачи повторяются до max_attempts (по умолчанию 3). После этого Stitch эскалирует к вам, а не жжёт токены.
Задачи, логи и исправления работают на вашей машине. Ни облака, ни телеметрии, ни webhooks, пока вы их не настроите.
languages: [typescript, python] linter: eslint test_runner: vitest package_manager: pnpm max_attempts: 3 conventions: - "Always use explicit return types on public functions." - "Never downgrade dependency versions." auto_fix: [lint, format, simple_types, config_ci] escalate: [logic_errors, breaking_changes, dependency_conflicts] notify: channels: - type: slack webhook_url: https://hooks.slack.com/...
Stitch reads your existing CI config (GitHub Actions or GitLab CI), runs the verify jobs locally on your machine, and hands any failure to your AI agent (Claude Code or Codex) to fix. When the fix passes locally, Stitch commits and pushes. No remote runner needed for the verify loop.
Nx Cloud, Gitar, and Dagger ask you to adopt their cloud, monorepo, or SDK. Stitch reads the CI config you already have and runs on the machine you already own. There is no SaaS account, no DSL, and the AI agent is whatever CLI you already use.
No. Stitch uses the Claude Code or Codex credentials you already have on your machine. There is nothing extra to manage and nothing extra to bill.
GitHub Actions and GitLab CI today, including self-hosted GitLab. Stitch parses the existing config and only runs verify-class jobs locally; deploy and publish jobs are skipped automatically.
Yes. Stitch is open source under the MIT license, distributed on npm as stitch-agent. The only cost is whatever you already pay for your AI agent (Claude Code or Codex).
No. Stitch runs locally. Your code stays on your machine. Your AI agent talks to its own API directly using your existing credentials, exactly the way it does when you run it manually. Stitch has no telemetry and no webhooks unless you configure them.
Yes. The agent layer is pluggable. Codex CLI works today; any CLI agent that takes a task description and returns code patches can be wired in. Claude Code is the default because we built the integration first, not because it is locked in.