triggery create
Стабильный · с 0.1.0
Скачивает стартовый шаблон Triggery в новую директорию. Шаблоны живут в templates/<name> репозитория Triggery, поэтому версии остаются в шаге с @triggery/core. Сама загрузка идёт через giget — degit-подобный tar-фетчер поверх endpoint’а GitHub archive, с офлайновым кэшем после первого прогона. Никаких git clone, никакого shell-out из Node.
Доступно как CLI-команда triggery create и как программный API createProject.
Импорт (программный API)
Заголовок раздела «Импорт (программный API)»import { createProject, isKnownTemplate, type TemplateName } from '@triggery/cli';
Сигнатура
Заголовок раздела «Сигнатура»function createProject(options: CreateProjectOptions): Promise<CreateProjectResult>;
type TemplateName = 'vite-react' | 'next-app' | 'react-native';
interface CreateProjectOptions {
readonly directory: string;
readonly template: TemplateName;
readonly cwd?: string;
readonly force?: boolean;
}
interface CreateProjectResult {
readonly directory: string; // absolute path
readonly source: string; // giget source spec
}Использование в CLI
Заголовок раздела «Использование в CLI»triggery create <directory> [--template <name>] [--force]| Флаг | По умолчанию | Описание |
|---|---|---|
--template <name> | vite-react | Один из vite-react, next-app, react-native. |
--force | false | Перезаписать существующую директорию вместо ошибки. |
Шаблоны
Заголовок раздела «Шаблоны»| Шаблон | Стек |
|---|---|
vite-react | Vite 5 + React 18 + TypeScript + @triggery/react + @triggery/vite. По умолчанию — самый быстрый путь к рабочему dev-серверу. |
next-app | Next.js 15 (App Router) + @triggery/react. Triggery подвязан в <TriggerRuntimeProvider> внутри app/providers.tsx. |
react-native | Expo + React Native + @triggery/react. Реестр триггеров импортируется из App.tsx. |
Примеры
Заголовок раздела «Примеры»CLI — шаблон по умолчанию
Заголовок раздела «CLI — шаблон по умолчанию»triggery create my-chatВывод:
Scaffolded github:triggeryjs/triggery/templates/vite-react#main → /Users/you/my-chatCLI — Next.js стартер
Заголовок раздела «CLI — Next.js стартер»triggery create my-shop --template next-appCLI — перезаписать существующую директорию
Заголовок раздела «CLI — перезаписать существующую директорию»triggery create my-chat --forceПрограммно
Заголовок раздела «Программно»import { createProject } from '@triggery/cli';
const { directory, source } = await createProject({
directory: './apps/playground',
template: 'vite-react',
});
console.log('scaffolded', source, '→', directory);Программно — guard шаблонов
Заголовок раздела «Программно — guard шаблонов»isKnownTemplate — это type-предикат, который CLI использует, чтобы отбраковать неизвестные значения:
import { createProject, isKnownTemplate, type TemplateName } from '@triggery/cli';
function safeTemplate(input: string): TemplateName {
if (!isKnownTemplate(input)) {
throw new Error(`Unknown template: ${input}`);
}
return input;
}
await createProject({
directory: 'experiment',
template: safeTemplate(process.env.TRIGGERY_TEMPLATE ?? 'vite-react'),
});Что внутри шаблонов
Заголовок раздела «Что внутри шаблонов»Каждый шаблон поставляет:
- Рабочую команду dev-сервера / сборки (
npm run dev/npm run build). - Папку
src/triggers/с одним примером триггера и парным к нему компонентом. - Релевантные пакеты
@triggery/*, уже зафиксированные вpackage.json. @triggery/vite, настроенный вvite.config.ts(шаблоны Vite / Next), чтобы автообнаружение*.trigger.tsработало из коробки.tsconfig.jsonсо strict-режимом и разрешёнными путями@triggery/*.
Замечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» Плагин Vite Автообнаружение — в комплекте шаблона vite-react.
createTrigger Точка старта для каждого файла триггера в шаблонах.
Руководство по getting started Ручная настройка проекта, если хочешь пропустить scaffold.
ESLint-пресет recommended Добавь для trigger-aware линтинга.