API ВЕГА
English

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.js22.12+nodejs.orgУстановка через npm (npm install -g @flisk-sh/flisk)
DockerEngine 25+, Compose 2.20.2+docker.comТолько для варианта с Docker и Tilt
Tilt0.25+curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bashТолько для варианта с Docker и Tilt
Bun1.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
  1. Установите 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
  1. Опишите каждый компонент. Поместите небольшой файл настроек 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"]
}
  1. Запустите всё приложение. Перейдите в папку проекта в терминале и выполните:
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, ваши сервисы и маршрутизацию, а затем выводит URLflisk up
Предварительно проверить запускПоказывает, какие сервисы и URL будут запущены, не создавая контейнерыflisk up --dry-run
Просмотреть запущенные сервисыОткрывает интерактивную панель в терминалеflisk ui
Проверить компьютерПроверяет готовность Docker, Tilt и портовflisk doctor
Найти расхождения в конфигурацииСравнивает сгенерированные файлы с последней версией, созданной Fliskflisk 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 обновит работающий контейнер без пересборки.
Добавите маршрут backendFrontend уже будет обращаться к 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 ComposeTiltFlisk
Создание нового сервиса одной командойЧастично (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.yamlTiltfile (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-pythonBackend на 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, операционную систему, шаги для воспроизведения и текст ошибки. Дополнительные сведения см. в разделах Обновление и фиксация версии и Устранение неполадок.

Документация

Сообщество

Карта экосистемы: примеры, статьи, связанные инструменты и заметки собраны в 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 код, документацию и исправления. Каждое принятое изменение улучшает локальный стек для следующих разработчиков.

kburymodykyisb123sb123AK-Lmnyoreva-01minutechreview
Delfi2007GhifariezraHuang-404-QdbdefaultRohith-Saranaazminu
xiehuanyiNimoCaorahul05ranjankrishna2707arxh80tnalbant
sunny-kavixosohammkksinhaananya812-starjay23606floatyserveeddyflores100-lang
denisvmediaamritkang165airdropiaadity982YuuGR1337WilsonSoetomo
Vignesh2662006SamueldavidddscMurphyvonKeuqSGolden007-progGeoCeff
Enard52

Flisk распространяется по лицензии MIT; подробности см. в файле LICENSE. В документе границы действия лицензии указано, на какой код распространяется MIT и какой код загружается с помощью ключа.

Документы по управлению проектом: GOVERNANCE.md, MAINTAINERS.md, ADOPTERS.md.

Используете Flisk в Slack или Discord? Загрузите зелёный эмодзи Flisk с молнией в форматах SVG и PNG по лицензии MIT.