Priya Nair
priya@acme.com
Для Cursor
Вы сделали внутренний инструмент в Cursor. TeamOnly публикует его по закрытой ссылке, которую могут открыть только коллеги: через рабочий аккаунт Google или Microsoft или по коду, который приходит на рабочую почту. Без серверов, без кода для входа, без публичного адреса.
01Без серверов
Большинство инструкций по публикации начинаются с «заведите аккаунт на хостинге, подключите базу данных, настройте переменные окружения». Для внутреннего инструмента всё это можно пропустить.
TeamOnly это сервер, база данных, хранилище файлов и вход в одном месте. Вы запускаете одну команду в терминале Cursor и получаете ссылку.
npx teamonly initAdded .cursor/rules/teamonly.mdcAdded the TeamOnly SDKCursor’s agent will follow these rules in this project.02Правила
init добавляет инструкции, которые читает агент Cursor. В них описан единственный вид приложения, который запускает TeamOnly (фронтенд на React с небольшим API), и как узнать, кто вошёл, и работать с базой данных и файлами.
Поэтому, когда вы просите новую функцию, агент пишет код, который публикуется, а не тянется к сервису баз данных или библиотеке входа, которых у нас нет.
03Цикл
Попросите агента сделать инструмент. «Учёт остатков, где любой на складе вносит пересчёт с телефона».
Выполните npx teamonly deploy или попросите агента.
Отправьте команде stock.acme.teamonly.app. Поменяли что-то, опубликуйте снова: ссылка останется прежней.
04Вход
Не просите агента писать вход. TeamOnly проверяет его до того, как запустится ваше приложение.
Коллеги входят через Google Workspace, Microsoft 365 или по коду, который приходит на любую рабочую почту. Ваше приложение просто получает их имя и адрес. Посторонние до вашего кода вообще не добираются. Как работает вход через аккаунт компании.
Priya Nair
priya@acme.com
Перед приложением для расходов стоит дверь с табличкой «Только для персонала». Sam входит как sam@acme.com, проходит проверку у двери и заходит. Затем randomperson@gmail.com и бот проходят ту же проверку, и им отказывают. До приложения они не доходят, потому что проверка происходит у двери, раньше приложения.
При первой публикации вокруг приложения встают на место четыре части, как детали набора: база данных, хранилище файлов, секретные ключи и вход через аккаунт компании. Настраивать ничего не нужно.
05Данные
Каждое приложение получает свою базу данных и хранилище файлов при первой публикации. Код агента сохраняет в них данные через SDK TeamOnly, и никакую строку подключения никуда вставлять не нужно.
API-ключи других сервисов задаются через npx teamonly secrets set, а не в коде.
Один раз выполните в проекте npx teamonly init, а затем npx teamonly deploy в терминале Cursor каждый раз, когда нужно выложить свежую версию. Вы получите закрытую ссылку, которую могут открыть только ваши коллеги.
Да. init добавляет файл правил, который читает агент, поэтому он делает приложения в том виде, в каком их запускает TeamOnly. Агент также может сам запустить команду публикации.
Нет. Публикация отправляет приложение из папки на вашем компьютере. Git всё равно полезен, чтобы откатывать изменения, но TeamOnly его не требует.
Ранний доступ
TeamOnly в раннем доступе, и все тарифы уже открыты. Попробуйте бесплатно 14 дней без карты или оформите подписку. В любом случае компания готова сразу, а три команды запускают первое приложение.
Для пробного периода карта не нужна. Дальше от $19 в месяц, отменить можно в любой момент.
Вопросы пишите на hello@teamonly.dev, отвечает живой человек.