Flisk: всё приложение на вашем компьютере — одной командой
Что такое Flisk? · Ключевые возможности · Быстрый старт · Команды · Конфигурация · Работа с AI-агентом · FAQ · Документация
👋 Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать · Добро пожаловать
Что такое Flisk?
Flisk — инструмент командной строки для локальной разработки. Он запускает все компоненты приложения (API, сайт, фоновые задачи, AI-агенты, базу данных) на вашем компьютере одной командой. Docker необязателен: небольшое приложение запускается как обычные локальные процессы, а для более крупного Flisk использует контейнеры, единый адрес для всех компонентов и автоматическое обновление при изменении файлов с помощью Docker и Tilt. Уже есть docker-compose.yml? Команда flisk import прочитает его. В противном случае опишите каждый компонент в небольшом файле service.json: при работе с Docker Flisk создаст на его основе Dockerfile, файл Compose и Tiltfile и будет поддерживать их в актуальном состоянии. AI-агент тоже может запускать Flisk через MCP-сервер. Flisk не выполняет развёртывание: для production используйте свои инструменты.
Попробуйте Flisk: для этого нужна всего одна команда, Node.js версии 22.12 или новее — и никакой установки Docker:
npx @flisk-sh/flisk demo
Если Docker запущен, а Tilt установлен, команда запустит полнофункциональный демонстрационный проект ресторана: шесть сервисов, Postgres, единый шлюз и автоматическое обновление при изменении файлов. Если Docker или Tilt нет (а также в Windows без WSL), запустится небольшое приложение с меню — два локальных процесса, которые стартуют примерно за секунду. Приложение откроется в браузере: меню будет доступно по адресу http://localhost:3000, а API — по адресу http://localhost:4000/api/menu. Команда flisk down, запущенная из папки демо-проекта, остановит приложение в любом из этих режимов.
Установите Flisk командой npm install -g @flisk-sh/flisk, а затем создайте проект в новой папке:
mkdir my-shop && cd my-shop
flisk project --yes
flisk resource orders-api --type backend --stack shop --yes
flisk resource shop-web --type frontend --stack shop --yes
flisk up shop
Команда запустит API заказов и интернет-магазин за единым шлюзом, а также Postgres и автоматическое обновление при изменении файлов, после чего выведет URL сервисов. Для работы понадобятся Docker, Tilt, Node.js версии 22.12 или новее и Bun версии 1.2 или новее. Команда flisk doctor покажет, чего не хватает. Небольшое приложение можно запускать без Docker — как локальные процессы.
Начать можно двумя способами: команда flisk project создаёт новое приложение с нуля, а flisk import — на основе уже существующего. Уже есть файл Compose? Выполните npx @flisk-sh/flisk import . && npx @flisk-sh/flisk up (добавьте --dry-run к команде import, чтобы сначала посмотреть результат).
Отдельный небольшой файл для каждого сервиса
Команда flisk resource создала файл service.json для каждого компонента. Ниже приведён файл API заказов — единственная конфигурация, которую нужно редактировать для этого сервиса:
{
"$schema": "https://flisk.sh/schema.service.json",
"schemaVersion": 1,
"appName": "orders-api",
"appType": "backend",
"stack": "shop",
"port": 4000,
"healthCheckPath": "/health"
}
На основе этого файла Flisk создаёт Dockerfile, запись в Compose, маршрут шлюза, проверку доступности и DATABASE_URL. Если любой из этих файлов изменить вручную, Flisk откажется запускаться. Описание всех полей · Все файлы, создаваемые Flisk
Уже есть docker-compose.yml?
Команда flisk import . создаст файл service.json для каждого сервиса Compose и сохранит его порты, имена и значения переменных окружения:
flisk import .
flisk up
Обычное приложение Compose (Node API и Postgres) начало отвечать через маршрутизатор Flisk через 49 с после выполнения flisk import на чистом CI-исполнителе Ubuntu. Образы были загружены и собраны с нуля, время установки не учитывалось (запуск, описание результатов). CI повторяет этот тест при каждом pull request.
Предпочитаете поручить это AI-помощнику? Он выполнит команды за вас: скопируйте запрос. Никогда не писали код? Начните здесь — пошаговая инструкция · Термины, которые встретятся
Ключевые возможности
-
Один
service.jsonна каждый сервис. На его основе Flisk создаёт Dockerfile, запись в Compose, маршруты Traefik, проверку доступности и Tiltfile. Не нужно вручную писатьdocker-compose.ymlилиnginx.conf. -
Одна команда — один адрес. Команда
flisk upзапускает Postgres, ваши сервисы и локальный шлюз, запускает сервисы в порядке, заданномdependsOnс проверкой их доступности, и выводит URL вида*.localhostдля каждого сервиса. -
Автоматическое обновление во время разработки. Tilt обновляет контейнер при сохранении файлов — пересобирать его не нужно.
-
Всё настроено за вас. Flisk создаёт и передаёт сервисам
DATABASE_URL, URL API, к которому обращается фронтенд, а также отсутствующие секреты, напримерJWT_SECRET. Ничего не нужно копировать вручную. -
Создаваемые файлы можно проверить. Flisk сохраняет сведения о созданных файлах и отказывается запускаться, если такой файл был изменён вручную. Команда
flisk config verifyпоказывает обнаруженные расхождения (создаваемые файлы и проверка расхождений). -
Подходит для AI-помощников. Команда
flisk mcpпредоставляет Claude Code, Codex, Cursor и другим агентам 23 инструмента, аflisk projectдобавляет Flisk skills и файлAGENTS.md. -
Запускает и AI-агентов. Сервисы с агентами получают сохраняемые контрольные точки, маршрутизацию с привязкой к
x-session-id, а также проверки/healthи/ready(см. ниже). -
Без Kubernetes; для небольших приложений не нужен Docker. Docker и Tilt запускают стек без локального кластера, например kind или minikube. Сервисы, в которых задан
command, запускаются как обычные локальные процессы. -
Быстрый запуск. При наличии прогретых слоёв образов стек с одним backend-сервисом становится доступен за 12,8–13,8 секунды (заметки о замерах времени). Стек из восьми сервисов запускается за 32–42 секунды при прогретом кэше и примерно за 4,5 минуты при первой сборке без кэша (результаты тестирования).
-
Бесплатная основная версия. CLI распространяется по лицензии MIT и не требует ключа для запуска
flisk up; дополнительные возможности Premium необязательны (таблица лицензий).
Подойдёт ли Flisk вашей команде?
Ответьте на три коротких вопроса, выбрав наиболее подходящий вариант. Если вы не уверены, выберите «не знаю». В результате вы получите оценку и понятное объяснение.
| 1. На каком языке написано приложение? |
|---|
| 2. Как разработчики сейчас запускают приложение на своих компьютерах? |
| 3. Из скольких компонентов состоит приложение? (сайт, API, фоновые задачи и т. д.) |
Отлично подходит. Flisk создан для таких команд, как ваша. Почему получилась такая оценка → · Полный калькулятор на flisk.sh
Нам доверяют
Здесь перечислены команды, которые используют flisk up со своим кодом и дали согласие на публикацию. Посмотреть всех пользователей или добавить свою команду.
Используйте Flisk с ИИ-агентом
ИИ-помощники хорошо справляются с написанием приложения, но хуже — с настройкой окружения: каждый раз, когда помощник вручную переписывает Dockerfile, Tiltfile или nginx.conf, что-нибудь ломается, и вы тратите время и токены на исправление. Flisk каждый раз настраивает окружение одинаково, чтобы вы и ваш помощник могли сосредоточиться на приложении.
Пример сеанса Claude Code в терминале Warp. Команды Flisk, их вывод и напечатанные Flisk URL взяты из реального запуска.
Установите Flisk, затем вставьте запрос в Claude Code, Codex, Cursor или любой другой ИИ-помощник, который умеет выполнять команды:
npm install -g @flisk-sh/flisk
Build me a small online shop with a storefront and an orders API, and run it on my laptop with Flisk.
Помощник создаст проект, добавит в него компоненты и запустит их, а затем предоставит ссылки для открытия. Если чего-то не хватает, flisk doctor простыми словами объяснит, чего именно.
Другие запросы для копирования
Добавить сервис в существующий проект
Use Flisk to add a backend service called payments-api to my shop stack, then start the stack and give me the URLs.
Создать ИИ-агента с инструментами и базой данных
Use Flisk to scaffold an AI agent, an MCP tools server, and a database in one stack called shop, then start it and tell me how to talk to the agent.
Что-то не работает
Run flisk doctor, explain every problem in plain words, and fix what you can. Then start my stack with flisk up.
Проверить, что запущено
Use flisk status to tell me which services are running, which are unhealthy, and what URL each one has.
Остановить всё
Stop my Flisk stack with flisk down and confirm nothing is left running.
Выберите своего агента
Установка у каждого помощника немного отличается — выберите подходящий вариант, чтобы получить точные инструкции. Если у вас уже есть проект, команда flisk connect claude (или cursor, codex) добавит сервер flisk mcp (23 инструмента) и навыки Flisk туда, где этот агент их ищет. Добавьте --dry-run, чтобы сначала посмотреть, какие файлы будут созданы. Возможности агента после этого описаны в разделе Flisk для ИИ-агентов.
curl -fsSL https://claude.ai/install.sh | bash
npm install -g @flisk-sh/flisk
Затем запустите Claude Code: перейдите в папку проекта и введите claude, после чего вставьте запрос выше. Для разработчиков: команда flisk project записывает навыки Flisk в .claude/skills/, откуда их загружает Claude Code. Чтобы Claude Code мог управлять Flisk с помощью инструментов MCP, выполните claude mcp add --scope project flisk -- flisk mcp. Инструкции по установке в Windows, файлу .mcp.json и рекомендации по AGENTS.md приведены в полном руководстве по настройке Claude Code. |
| |
Подойдёт и любой другой агент, умеющий выполнять команды в терминале: укажите ему файл AGENTS.md или подключите его к flisk mcp, который запускает MCP-сервер через stdio. Команда flisk project добавляет в проект навыки Flisk (создание стека, рецепты для интернет-магазина, SaaS, ИИ-агента и блога, а также команды doctor, up, resource, status и troubleshoot; исходный код находится в .agents/skills) и файл AGENTS.md. Благодаря этому агент проверяет настройки и объясняет ошибки, а не пытается наугад подобрать конфигурацию Docker или Tilt. Другие запросы, сгруппированные по категориям, собраны в коллекции запросов.
Нет доступа к терминалу? Откройте стартовый шаблон Flisk в GitHub Codespaces или Gitpod, либо выберите другой вариант запуска в один клик.
Запускайте ИИ-агентов рядом с сервисами
Flisk — локальная среда выполнения для систем агентов: сам агент, его инструменты MCP, база данных и очередь работают за одним шлюзом и запускаются одной командой.
# Scaffold an agent, an MCP tools server, and a database in one stack
flisk resource bot --type agent --stack shop --yes
flisk resource tools-mcp --type mcp --stack shop --yes
flisk up shop
Для агентов предусмотрены постоянные тома контрольных точек, сохраняющиеся после flisk down, привязка сеансов к маршруту через x-session-id, корректное завершение процессов по SIGTERM во время горячей перезагрузки, проверка работоспособности Docker по адресу /health и проверка готовности на уровне приложения по адресу /ready. См. руководство по ИИ-агентам и объективное сравнение с фреймворками для агентов.
Предварительные требования (установите один раз)
| Инструмент | Версия | Установка | Для чего нужен |
|---|---|---|---|
| Среда выполнения приложения | Любая, которую использует ваше приложение | Node.js, Python, Go, Bun, ... | Для любого варианта: запускает ваш код |
| Node.js | 22.12+ | nodejs.org | Установка через npm (npm install -g @flisk-sh/flisk) |
| Docker | Engine 25+, Compose 2.20.2+ | docker.com | Только для варианта с Docker и Tilt |
| Tilt | 0.25+ | curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash | Только для варианта с Docker и Tilt |
| Bun | 1.2+ | curl -fsSL https://bun.sh/install | bash | Установка Flisk через Bun (bun add -g @flisk-sh/flisk) или запуск сгенерированных сервисов на JavaScript |
Два способа запуска. Если для каждого сервиса в проекте указана команда
command, сервисы запускаются как локальные процессы: вам понадобятся только Flisk и среда выполнения приложения (самый простой вариант). Для базы данных, единого URL-шлюза для всех сервисов или такого же контейнера, в котором вы будете развёртывать приложение, понадобятся Docker и Tilt. Командаflisk doctorпроверяет только те компоненты, которые использует ваш проект.
Подготовьте компьютер. Выберите свою систему:
Подготовьте Mac. Вставьте каждую команду из серого блока в терминал (нажмите Cmd+Space, введите Terminal и нажмите Enter), затем нажмите Enter. 1. Установите Node.js версии 22.12+ с сайта nodejs.org, а также язык программирования, который использует ваше приложение, если это не JavaScript. Для небольшого приложения этого достаточно: см. самый простой вариант. 2. Дополнительная настройка нужна только для крупных приложений (с базой данных, единым адресом для всех компонентов или тем же контейнером, в котором вы будете выполнять развёртывание): запустите Docker Desktop, OrbStack или Colima и установите Tilt: |
curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh \
| bash
- Установите Flisk и проверьте Mac:
npm install -g @flisk-sh/flisk
flisk doctor
flisk doctor проверяет только то, что использует ваш проект, и подсказывает, как исправить отсутствие необходимых компонентов. Полные инструкции: настройка macOS. |
| |
Установка
Установите CLI с помощью npm или Bun, скачайте готовый бинарный файл, которому не нужны Node.js и Bun, либо запустите Flisk из образа контейнера:
npm install -g @flisk-sh/flisk
Эта команда устанавливает Flisk через npm, который входит в состав Node.js версии 22.12+. Выполните flisk --version, чтобы проверить установку: команда выведет номер версии. Позже обновить Flisk можно с помощью flisk upgrade. Инструкции по фиксации версии и удалению программы: установка через npm. Для разработчиков: рекомендуется использовать общедоступный npm. Чтобы установить Flisk через GitHub Packages, настройте аутентификацию в реестре, как описано в разделе установка через GitHub Packages. |
В дальнейшем обновляйте Flisk с помощью flisk upgrade (или её псевдонима flisk update) либо команды npm install -g @flisk-sh/flisk@latest. Инструкции по фиксации версии и описание изменений см. в разделе обновление и фиксация версии.
Важно
Скачивайте Flisk из репозитория flisk-sh/flisk, пакета npm
@flisk-sh/flisk или с
официального сайта. Переходите по ссылкам для установки только из этих официальных источников.
Похожее название репозитория или скопированный README не подтверждают, что загрузка ведёт к официальной версии.
Быстрый старт
После установки предварительных требований команды из раздела «Что такое Flisk?» — это и есть весь быстрый старт. Здесь приведена более подробная версия: другие способы запуска, описание ожидаемого результата и сведения о том, какие файлы создаёт Flisk. Впервые работаете с терминалом? Вместо этого начните отсюда.
Выберите способ запуска
Есть четыре способа запустить приложение: самый простой, демонстрационный запуск одной командой, проект, который вы настроите вручную, и пошаговая настройка с вопросами. Самый простой способ описан ниже; каждая вкладка открывает отдельную страницу.
| Запустите приложение на своём компьютере одной командой, без Docker. Этот способ подходит для приложения из нескольких компонентов, каждый из которых запускается одной командой. Например, это может быть серверная часть (API), сайт и фоновый обработчик. Вам понадобятся только Flisk и среда выполнения вашего кода, например Node.js. Для разработчиков: каждый сервис запускается как локальный процесс. Вам понадобятся только Flisk и среда выполнения вашего приложения. 1. Установите Flisk. Вставьте эту команду в терминал и нажмите Enter: |
npm install -g @flisk-sh/flisk
- Опишите каждый компонент. Поместите небольшой файл настроек
service.jsonв папку каждого компонента, рядом с соответствующим сервисом. В нём указываются имя компонента, команда для его запуска и порт, который он прослушивает. Пример для серверной части:
{
"schemaVersion": 1,
"appName": "api",
"appType": "backend",
"command": "node server.js",
"port": 4000,
"healthCheckPath": "/health"
}
Пример для сайта. "dependsOn": ["api"] означает, что сначала нужно запустить серверную часть:
{
"schemaVersion": 1,
"appName": "web",
"appType": "frontend",
"command": "node server.js",
"port": 3000,
"dependsOn": ["api"]
}
- Запустите всё приложение. Перейдите в папку проекта в терминале и выполните:
flisk up
Что произойдёт: Flisk запустит API, дождётся ответа от него, а затем запустит сайт. Flisk выведет оба URL — веб-адреса, которые нужно открыть в браузере. Это ссылки localhost, доступные только вам. Каждая строка в выводе начинается с имени компонента, который её выдал. Если компонент аварийно завершится, Flisk запустит его снова. Чтобы остановить приложение, нажмите Ctrl+C (удерживая Control, нажмите C) или выполните flisk down. Без Docker, Tilt и сгенерированных файлов. Описание всех полей и рекомендации о том, когда стоит перейти к полноценному стеку с базой данных и единым URL шлюза (веб-адресом для всех компонентов), см. в разделе Запуск приложения без Docker. |
Проверьте, что всё работает
Для магазина, показанного вверху страницы, команда flisk up shop сначала выводит список запускаемых сервисов и их адреса:
Starting 2 services from stack "shop"...
- orders-api
- shop-web
🌍 Frontend URLs:
- shop-web: http://app.my-shop.localhost/shop-web/health
🔧 Backend API URLs:
- orders-api: http://api.my-shop.localhost/api/orders/health
Host ports: HTTP 80, HTTPS 443, Postgres 15432
Затем Tilt собирает и запускает контейнеры. В конце работы flisk up выводит сообщение Flisk is up. и адрес панели Tilt: http://localhost:10350. В ней каждый сервис становится зелёным, когда его состояние исправно. Порты на вашем компьютере могут отличаться: если порты 80 или 5432 заняты, Flisk выберет свободные, и они будут указаны в URL. Команда flisk down остановит всё приложение. Описание всех следующих команд находится в разделе Commands.
Устранение неполадок
| Проблема | Решение |
|---|---|
Команда flisk doctor завершается с ошибкой | Выполните указанные в её выводе команды для исправления, затем повторите попытку |
| Порт 80/5432 занят | Команда flisk doctor покажет, какой процесс его использует; остановите этот процесс или задайте значение для FLISK_HTTP_PORT |
| Docker не запущен | Запустите Docker Desktop или выполните systemctl start docker |
| Windows без WSL | Локальные процессы и flisk demo работают; для стека Docker используйте WSL2 Ubuntu. Инструкции см. в руководстве для Windows |
Команда flisk up отказывается запускаться | Сначала выполните flisk doctor: команда объяснит, чего не хватает |
Полные инструкции по устранению неполадок: docs/troubleshooting.md
Перед запуском flisk up --verbose задайте FLISK_DEBUG=1, чтобы включить журналы отладки Starlark в вывод Tilt.
Что Flisk создаёт за вас
Для каждого сервиса вы пишете один файл service.json. Для описанного выше магазина с двумя сервисами Flisk создаёт остальные файлы на трёх уровнях: проекта, стека и каждого сервиса.
my-shop/
├── .env # generated DB_PASSWORD and JWT_SECRET
├── .flisk/
│ ├── project.json # project settings (yours to edit)
│ └── .flisk-out/ # PROJECT LEVEL
│ ├── Tiltfile # what Tilt runs
│ ├── docker-compose.traefik.yml # local gateway, bound to 127.0.0.1
│ ├── golden-layers.Dockerfile # shared base image layers
│ ├── TILT_TECH_STACK.star # tech stack settings
│ ├── TILT_RESOURCE_DEFAULTS.star # service defaults
│ ├── spec.master # project spec by stack
│ └── flisk-cli-ext/ # pinned copy of the Flisk engine
├── shared-platform-engineering/
│ └── docker-templates/ # container entrypoint scripts
└── services/
├── platform/database-management/
│ └── docker-compose.yml # Postgres 16
└── shop/
├── .autogenerated/ # STACK LEVEL
│ └── docker-compose.app.autogenerated.yml # every service in the stack
├── orders-api/
│ ├── service.json # you write this
│ └── .autogenerated/ # SERVICE LEVEL: 14 files
└── shop-web/
├── service.json # you write this
└── .autogenerated/ # SERVICE LEVEL: 18 files
Файл Compose стека — это та часть, которую в противном случае пришлось бы писать вручную. Для этих двух сервисов в нём заданы сборки образов, переменные окружения, 33 метки маршрутизации Traefik, четыре сети, проверки работоспособности, а также ограничения на использование CPU и памяти. Фрагмент файла:
orders-api:
environment:
- DATABASE_URL=postgresql://my_shop:${DB_PASSWORD}@my_shop_postgres:5432/my_shop_shop?schema=public
- JWT_SECRET=${JWT_SECRET:?JWT_SECRET is not set. Run `flisk up` ...}
labels:
- "traefik.http.routers.orders-api-project.rule=Host(`api.my-shop.localhost`) && PathPrefix(`/api/orders`)"
- "traefik.http.middlewares.orders-api-strip-prefix-project.stripprefix.prefixes=/api/orders"
- "traefik.http.services.orders-api.loadbalancer.healthcheck.path=/health"
healthcheck:
test: ["CMD", "curl", "-f", "--max-time", "5", "http://localhost:4000/health"]
По умолчанию секреты берутся из файла .env проекта: команда flisk project создаёт случайные пароль базы данных и секрет JWT, а файл .env добавляется в .gitignore. Чтобы вместо этого получать секреты из Infisical, задайте FLISK_SECRET_PROVIDER=infisical (переменные окружения).
Все файлы в папке .autogenerated каждого сервиса
shop-web/.autogenerated/
├── Dockerfile.app.autogenerated # app image
├── Dockerfile.app.autogenerated.dockerignore # build context
├── nginx.autogenerated.conf # serves the build, routes API requests
├── vite.config.frontend.autogenerated.ts # dev server
├── vite.config.build.autogenerated.ts # production build
├── tsconfig.autogenerated.json # TypeScript, host
├── tsconfig.docker.autogenerated.json # TypeScript, container
├── .npmrc.autogenerated # package registry, host
├── .npmrc.docker.autogenerated # package registry, container
├── bunfig.autogenerated.toml # Bun settings, host
├── bunfig.docker.autogenerated.toml # Bun settings, container
├── .env.frontend.autogenerated # frontend environment
├── env.ts # API URL for your imports
├── api-client.ts # client for the frontend's API route
├── api-index.ts # re-exports the client and URL
├── service.yaml # Tilt's projection of service.json
├── validation-report.autogenerated.json # preflight validation result
├── AGENTS.md # tells coding agents not to edit here
└── .flisk-contract/ # snapshots for drift checks
orders-api/.autogenerated/
├── Dockerfile.app.autogenerated # app image
├── Dockerfile.app.autogenerated.dockerignore # build context
├── vite.config.backend.autogenerated.ts # server build
├── prisma.config.autogenerated.ts # database client
├── tsconfig.autogenerated.json # TypeScript, host
├── tsconfig.docker.autogenerated.json # TypeScript, container
├── .npmrc.autogenerated # package registry, host
├── .npmrc.docker.autogenerated # package registry, container
├── bunfig.autogenerated.toml # Bun settings, host
├── bunfig.docker.autogenerated.toml # Bun settings, container
├── .env.backend.autogenerated # backend environment
├── service.yaml # Tilt's projection of service.json
├── validation-report.autogenerated.json # preflight validation result
├── AGENTS.md # tells coding agents not to edit here
└── .flisk-contract/ # snapshots for drift checks
Если в стеке есть инструмент миграции базы данных, в папке стека также создаётся файл docker-compose.migrator.autogenerated.yml, а для инструмента миграции — отдельный файл Dockerfile.migrator.autogenerated.
Для этого стека вам не придётся писать конфигурацию nginx, Dockerfile, файл Compose или метки Traefik. При изменении service.json команда flisk up заново генерирует эти файлы и отказывается запускаться, если кто-то изменил их вручную. Для сервисов на Python, Go и Rust, а также для дополнительных возможностей, таких как Playwright, создаются собственные наборы файлов. В руководстве по сгенерированным файлам перечислены эти файлы и описаны проверки расхождений.
См. сравнение Flisk с альтернативными инструментами разработки, описание совместного использования Flisk CLI и Helm, схему сервиса и схему конфигурации проекта.
Команды
Команды, которые понадобятся вам в повседневной работе:
| Что нужно сделать | Что делает Flisk | Команда |
|---|---|---|
| Создать проект | Создаёт проект и первые сервисы | flisk project --yes |
| Добавить сервис | Создаёт его service.json и сгенерированные файлы | flisk resource --type backend --stack --yes |
| Запустить весь стек | Запускает Postgres, ваши сервисы и маршрутизацию, а затем выводит URL | flisk up |
| Предварительно проверить запуск | Показывает, какие сервисы и URL будут запущены, не создавая контейнеры | flisk up --dry-run |
| Просмотреть запущенные сервисы | Открывает интерактивную панель в терминале | flisk ui |
| Проверить компьютер | Проверяет готовность Docker, Tilt и портов | flisk doctor |
| Найти расхождения в конфигурации | Сравнивает сгенерированные файлы с последней версией, созданной Flisk | flisk config verify |
| Просмотреть журналы одного сервиса | Выводит последние строки журнала | flisk logs --service |
| Перезапустить один сервис | Перезапускает его в запущенном стеке | flisk restart |
| Остановить всё | Останавливает все сервисы в стеке | flisk down |
| Обновить Flisk | Обновляет CLI на месте | flisk upgrade |
Для команд можно использовать --help, а флаг --json выводит один объект JSON для скриптов и агентов (вывод в машиночитаемом формате). Те же действия доступны как инструменты MCP через flisk mcp. Полный список команд и флагов: краткая справка.
Flisk поддерживает:
-
Среды выполнения и фреймворки: Bun, Node, Python, Go, Rust, React, Vue, Svelte, Elysia, Fastify, NestJS
-
Базы данных и инструменты: Prisma, Drizzle, Atlas, Dbmate
-
Обмен сообщениями и шлюз: NATS, Traefik
Настройка
Вы редактируете три типа файлов. Остальные файлы Flisk создаёт самостоятельно и проверяет на наличие ручных изменений.
| Файл | Содержимое | Справка |
|---|---|---|
service.json, по одному для каждого сервиса | Имя, тип, стек, порт, проверка готовности, dependsOn, команда command для запуска сервиса как локального процесса и дополнительные возможности | Все поля |
.flisk/project.json | Имя проекта и стеки, включаемые на каждом этапе; файл создаёт команда flisk project | Настройки проекта |
.env | Секреты, например DB_PASSWORD и JWT_SECRET; команда flisk project создаёт этот файл и добавляет его в .gitignore | Переменные окружения |
Flisk выбирает порты хоста из ограниченных диапазонов резервных значений для HTTP, HTTPS и Postgres. Порты для разработки по умолчанию прослушивают только 127.0.0.1, поэтому другие устройства в вашей сети не смогут подключиться к ним. Эти переменные окружения позволяют изменить это и другие параметры:
| Переменная | Назначение |
|---|---|
FLISK_HTTP_PORT, FLISK_HTTPS_PORT, FLISK_POSTGRES_PORT | Фиксируют порт хоста для шлюза (HTTP, HTTPS) или Postgres |
FLISK_BIND_ADDRESS | Адрес, на котором прослушиваются порты для разработки. По умолчанию — 127.0.0.1. Значение 0.0.0.0 позволяет тестировать приложение с телефона; если указан адрес-шаблон, flisk doctor выдаёт предупреждение |
FLISK_SECRET_PROVIDER | Значение infisical указывает считывать секреты из Infisical, а не из .env |
TILT_PORT | Порт интерфейса Tilt; по умолчанию — 10350 |
FLISK_DEBUG | Значение 1 вместе с flisk up --verbose добавляет журналы отладки Starlark в вывод Tilt |
Для обоих JSON-файлов доступны автодополнение и проверка в редакторе: конфигурация и схемы редактора.
Как работает Flisk
-
Опишите каждый сервис в файле
service.jsonрядом с его кодом. -
Запустите
flisk up. Flisk создаст файлы для локального запуска на основе манифестов: Dockerfiles, настройки маршрутизации Traefik и Tiltfile. -
Docker запускает контейнеры, а Tilt отслеживает их. При изменении кода контейнеры обновляются без перезапуска. Используйте
flisk ui, чтобы просмотреть работающие сервисы, аflisk doctorилиflisk config verify— чтобы проверить окружение и созданные файлы.
Все компоненты связаны и синхронизированы
Вам не нужно настраивать связи между сервисами вручную. Flisk определяет их по одним и тем же файлам service.json и пересоздаёт настройки при их изменении.
| Если вы... | Flisk обновит |
|---|---|
Добавите сервис с помощью flisk resource | Сервис будет обнаружен автоматически, а его стек включится при следующем запуске flisk up. Для него будут созданы сборка образа, запись Compose, маршруты шлюза, проверка готовности и собственные файлы в .autogenerated/. |
Измените service.json (порт, dependsOn, дополнительные возможности) | При следующем запуске flisk up будут пересозданы Dockerfile, запись Compose, метки Traefik и конфигурация nginx. Если созданный файл изменён вручную, Flisk обнаружит расхождение до запуска сервисов. |
| Измените код | Tilt обновит работающий контейнер без пересборки. |
| Добавите маршрут backend | Frontend уже будет обращаться к API через сгенерированные VITE_API_URL, env.ts и api-client.ts. Они создаются с использованием тех же имён хостов, что и маршруты шлюза. |
| Добавите базу данных или второй backend | Настройки подключения, включая DATABASE_URL, будут добавлены в окружение каждого сервиса. Не нужно копировать пароли или имена хостов. |
Запустите проект со старым или отсутствующим .env | Отсутствующие секреты, например JWT_SECRET, будут созданы, а существующие значения останутся без изменений. |
Укажете dependsOn | Сервисы будут запускаться в порядке, определённом проверками готовности. |
Полное описание последовательности запуска см. в разделе как работает flisk up.
Почему Flisk CLI?
Сравнение Flisk с двумя другими инструментами по 10 категориям. Выберите вкладку:
Docker Compose и Tilt помогают разработчикам запускать части приложения на своём компьютере. Compose запускает контейнеры на основе написанного вами YAML-файла настроек. Tilt отслеживает файлы и обновляет работающее приложение при каждом сохранении; для этого вы пишете Tiltfile. Flisk создаёт оба файла на основе одного небольшого service.json для каждого сервиса — части приложения, — а затем запускает Tilt.
| Docker Compose | Tilt | Flisk | |
|---|---|---|---|
| Создание нового сервиса одной командой | Частично (docker init создаёт Dockerfile и файл Compose) | Нет | Да (flisk resource) |
| Горячая перезагрузка при изменении файла | Частично (compose watch) | Да (live_update) | Да (сгенерированный Tilt live_update) |
| Порядок запуска с проверкой готовности | Да (depends_on: condition: service_healthy) | Да (resource_deps, настраивается вручную) | Да (на основе dependsOn) |
| URL шлюза для каждого сервиса и Postgres | Нет (нужно добавлять самостоятельно) | Нет (нужно добавлять самостоятельно) | Да (Traefik *.localhost и Postgres) |
| Запуск одного стека большой системы | Частично (профили) | Да (tilt up ) | Да (flisk up ) |
| Конфигурация, которую нужно писать вручную | compose.yaml | Tiltfile (Starlark) | Только service.json; остальное создаётся автоматически и проверяется на расхождения |
В чём они лучше
-
Compose — более простой вариант для двух-трёх сервисов, которые уже упакованы в контейнеры. Tilt для этого не требуется.
-
Tilt подойдёт, если вам нужен полный контроль и вы готовы самостоятельно писать и поддерживать Tiltfile. Он также поддерживает Kubernetes.
Используйте их вместе. Flisk создаёт файлы Compose и Tiltfile, а затем запускает их с помощью Docker и Tilt. Просмотреть созданные файлы в удобном виде можно с помощью flisk config explain.
Подробное сравнение архитектурных компромиссов, сценариев, в которых каждый инструмент будет предпочтительнее, и процессов миграции см. в разделе подробное сравнение инструментов.
Примеры
В примерах Flisk можно запустить на реальных стеках. Начните с самого простого:
| Пример | Что демонстрирует |
|---|---|
| one-backend | Один backend на Bun/TypeScript с Postgres |
| one-backend-python | Backend на Python в том же локальном стеке |
| one-backend-helm | Совместную работу с Helm |
| byo | Использование собственных существующих ресурсов |
| byo-jobs | Использование собственных фоновых задач |
| flisk-example | Полноценный стек из нескольких сервисов |
Когда не стоит использовать Flisk
-
Ваша текущая схема работы с Compose или Tilt уже обеспечивает работоспособное локальное окружение.
-
Весь процесс разработки построен на Helm, и вы не хотите запускать локальные сервисы в Docker.
-
Вы не хотите использовать манифесты
service.jsonи создаваемую автоматически локальную конфигурацию.
Требования и поддержка
Для работы с Docker и Tilt установите Docker (Desktop, OrbStack или Colima; Engine 25+, Compose 2.20.2+) и Tilt. Для сервисов, создаваемых по умолчанию, используется Bun 1.2+. Порты и другие параметры описаны в разделе «Настройка».
Flisk поддерживает macOS, Linux и Windows. В Windows без WSL2 команды flisk demo и проекты, в которых для каждого сервиса указана команда command, запускают сервисы как локальные процессы. Стек Docker работает через WSL2 Ubuntu, а команда flisk up для проекта с Docker завершается с кодом 1 и сообщением “Landscape startup needs Ubuntu on WSL2.” Рекомендуемые настройки, требования, шаги проверки и инструкции по устранению неполадок см. в руководстве по Windows и WSL2.
Дорожная карта
В течение следующих 12 месяцев Flisk планирует поддерживать стабильность версии 1.x (команды flisk up, создание каркаса проекта, создаваемые файлы и flisk config verify останутся обратно совместимыми), сохранять бесплатность основного функционала, продолжать поддержку Windows и WSL2, укреплять безопасность цепочки поставок, обновлять документацию и привлекать новых мейнтейнеров. Развёртывание в production и поддержку Kubernetes в планах нет. Полный план и инструкции по предложению изменений см. в ROADMAP.md.
Матрица лицензирования
| Возможность | Бесплатно | Premium |
|---|---|---|
flisk up, создание каркаса проекта, Traefik, Postgres, обновление Tilt в реальном времени, золотые слои | да | да |
| Verdaccio, каркас DDD, остановка простоявших сервисов с помощью Sablier | нет | ключ |
| Playwright, C4, AGENTS.md | бесплатно, если создано в репозитории | только если реализация загружена с ключом |
Основной функционал остаётся бесплатным. Для дополнительных возможностей выше нужен отдельный ключ Premium; для запуска flisk up ключ не требуется.
Стабильность: 1.x.
Часто задаваемые вопросы
Я никогда не писал код. Подойдёт ли мне Flisk?
Да, если вы разрабатываете приложения с помощью AI-помощника, например Claude Code, Codex или Cursor. Вы описываете приложение, помощник пишет его и использует Flisk для запуска на вашем компьютере. В руководстве Начало работы процесс описан пошагово, а в разделе Термины, которые вам встретятся объясняются основные понятия. Вам нужно будет вставить несколько команд в терминал, но писать код не потребуется.
Это платно?
Инструмент командной строки Flisk бесплатный и распространяется с открытым исходным кодом по лицензии MIT. Дополнительные возможности Premium требуют ключа (см. таблицу лицензий). У вашего AI-помощника могут быть собственные тарифы и цены. Для более крупных приложений также используется Docker Desktop — он бесплатен для личного использования и небольших компаний.
Нужен ли мне Kubernetes?
Нет. Flisk запускает сервисы на вашем компьютере с помощью Docker и Tilt. Локальный кластер, например kind или minikube, не требуется. Flisk также не заменяет Helm, Compose или инструменты для развёртывания в production.
Нужен ли мне лицензионный ключ?
Нет. Core CLI распространяется по лицензии MIT, и для запуска flisk up ключ не нужен. Дополнительные возможности Premium необязательны и требуют отдельного ключа (см. таблицу лицензий).
Какие платформы поддерживаются?
macOS и Linux поддерживаются напрямую. В Windows команды flisk demo и проекты с локальными процессами работают нативно; Docker-стек запускается через WSL2 Ubuntu, а проверить его можно и из самой Windows (flisk doctor, flisk up --dry-run). Рекомендуемую конфигурацию, предварительные требования, шаги проверки и способы устранения неполадок см. в разделе «Требования и поддержка» и в руководстве Windows и WSL2.
Отправляет ли Flisk мой код куда-либо?
Flisk запускает локальный стек на вашем компьютере. Сведения о сетевых запросах, секретах и цепочке поставок см. в разделе Безопасность: сетевые запросы, секреты и цепочка поставок.
Можно ли продолжать пользоваться Compose, Helm или собственной конфигурацией Tilt?
Да. Если ваша текущая конфигурация уже обеспечивает рабочее локальное окружение, продолжайте её использовать. О том, как добавить Flisk в существующий репозиторий, см. разделы Совместное использование с Helm и Постепенное внедрение.
Что делать, если я обнаружил ошибку?
Сначала обновите Flisk: возможно, ошибка уже исправлена в недавнем выпуске. Выполните flisk upgrade (также доступна команда flisk update) или запустите:
npm install -g @flisk-sh/flisk@latest
Затем выполните flisk doctor и повторите те же действия. Если проблема не исчезнет, создайте issue, указав версию Flisk, операционную систему, шаги для воспроизведения и текст ошибки. Дополнительные сведения см. в разделах Обновление и фиксация версии и Устранение неполадок.
Документация
-
Часто задаваемые вопросы для агентств и команд, работающих с несколькими клиентами
-
Область применения: локальная разработка и отличия от production
-
Постепенное внедрение: добавление Flisk в существующий репозиторий
-
Устранение неполадок: сообщения об ошибках Flisk и Tilt и способы их исправления
-
Структура и ответственность за сервисы в нескольких репозиториях
-
Сравнение инструментов: docker-compose, Tilt, Skaffold, DevSpace, kind
-
Запуск в один клик: готовые шаблоны и подсказки для развёртывания
-
Отчёт о тестировании производительности: графики холодного и тёплого запуска, история (обновляется при каждом изменении
main, влияющем на время запуска)
Сообщество
Карта экосистемы: примеры, статьи, связанные инструменты и заметки собраны в awesome-flisk-framework. Поставьте звезду этому репозиторию (flisk), если пользуетесь CLI; остальные материалы можно найти в подборке. Если Flisk экономит ваше время, звезда ⭐ этому репозиторию поможет другим разработчикам узнать о нём.
Поделитесь: X · Bluesky · Threads · Mastodon · Reddit · Hacker News · Facebook · LinkedIn · Telegram · WhatsApp · Электронная почта
Участие в проекте и лицензия
Мы приветствуем вклад в проект. Для начала напишите нам в Discord, расскажите, чем хотите заняться, и мы подберём подходящую первую задачу. Затем ознакомьтесь с CONTRIBUTING.md и руководством для участников. Структура проекта описана в обзоре архитектуры и репозитория. Рекомендации по проверке pull request приведены в разделе Проверка pull request. О проблемах безопасности сообщайте согласно инструкциям в SECURITY.md.
Результаты тестирования, масштабирования и проверки безопасности
Масштабный запуск с фикстурами ERP выполнен на чистом runner, размещённом на GitHub (4 vCPU, 15 GB RAM). Снимок результатов доступен в запуске 39160719471. Текущий статус отображается выше, в бейдже E2E-тестирования масштабирования фикстур ERP.
Участники
Спасибо всем, кто с июля 2026 года вносил в Flisk код, документацию и исправления. Каждое принятое изменение улучшает локальный стек для следующих разработчиков.
Flisk распространяется по лицензии MIT; подробности см. в файле LICENSE. В документе границы действия лицензии указано, на какой код распространяется MIT и какой код загружается с помощью ключа.
Документы по управлению проектом: GOVERNANCE.md, MAINTAINERS.md, ADOPTERS.md.
Используете Flisk в Slack или Discord? Загрузите зелёный эмодзи Flisk с молнией в форматах SVG и PNG по лицензии MIT.