Monorepo taste — промпт для ChatGPT и Claude.ai: правила
Промпт задаёт агенту свод правил для монорепозитория: pnpm workspaces, Turborepo, границы пакетов и общие конфиги. Пригодится, когда нужно привести структуру репо к одному стилю.
Открыть на GitHubЧто делает Monorepo taste
Это набор утверждений о том, как платформенный инженер обустраивает монорепозиторий. Каждый пункт идёт с оценкой уверенности: от 0.95 у pnpm workspaces с одним lockfile в корне до 0.70 у TypeScript project references. Агенту такой список даёт готовую позицию по спорным местам — где держать lockfile, как называть пакеты, что класть в корневой package.json.
Внутри двадцать правил. Приложения живут в apps/, общие библиотеки — в packages/. Внутренние пакеты подключаются через протокол workspace:* и называются под одним npm-скоупом вроде @acme/. Задачи собирает Turborepo с удалённым кешем в CI, а CI запускается только для затронутых пакетов через turbo --filter с git-диапазоном. Версии внешних зависимостей держит syncpack, публичные пакеты версионирует Changesets.
Есть и ограничения: глубокие импорты между пакетами запрещены, разрешена только объявленная карта экспортов, а границы зависимостей проверяет lint-правило, чтобы приложения не импортировали друг друга. Циклические зависимости ловят в CI. Версии Node.js и pnpm фиксируют через .nvmrc и поле packageManager. Промпт ничего не устанавливает сам — это текст для чата, и работать он будет ровно настолько, насколько агент следует вашим инструкциям.
Какие задачи решает
- задать агенту единый стиль монорепозитория
- разложить приложения и библиотеки по apps/ и packages/
- настроить фильтрацию CI по затронутым пакетам
- удержать одну версию внешней зависимости на весь репо
- запретить глубокие импорты между пакетами
Примеры запросов агенту
- Сгенерируй структуру монорепозитория по правилам Monorepo taste: pnpm workspaces, apps/ и packages/
- Проверь наш turbo.json и CI: запускаются ли задачи только для затронутых пакетов?
- Настрой syncpack и CODEOWNERS так, как описано в правилах монорепозитория
Как установить Monorepo taste
Как использовать
Вставьте текст в начало диалога или в инструкции проекта
Вручную: положить файлы
.claude/commands/prompts.csv.mdИз того же набора73
Весь набор →Похожие
Рядом в теме «DevOps и инфраструктура»
Все промпты по теме «DevOps и инфраструктура» →Вопросы о Monorepo taste
Как установить Monorepo taste в Claude?
Отдельной команды установки нет: это промпт, его вставляют в чат первым сообщением или кладут в системную инструкцию. В Claude удобно завести отдельный чат под задачи монорепозитория.
Что делает Monorepo taste?
Задаёт агенту свод правил для монорепозитория: pnpm workspaces с одним lockfile, Turborepo, скоуп для внутренних пакетов, общий tsconfig и проверка границ зависимостей.
Чем полезны оценки уверенности в пунктах?
Они показывают, насколько автор уверен в правиле: 0.95 у pnpm workspaces и 0.70 у TypeScript project references. Агенту это подсказывает, где можно отступить от совета, а где нет.
Исходный текст
prompts.csv · CC0-1.0
# Monorepo taste of a platform engineer - Use pnpm workspaces with a single lockfile at the repository root. Confidence: 0.95 - Put deployable apps in apps/ and shared libraries in packages/. Confidence: 0.90 - Orchestrate tasks with Turborepo and enable remote caching in CI. Confidence: 0.85 - Reference internal packages with the workspace:* protocol. Confidence: 0.90 - Scope every internal package name under one npm scope such as @acme/. Confidence: 0.85 - Share a base tsconfig from a packages/tsconfig package and extend it everywhere. Confidence: 0.85 - Use TypeScript project references so the editor and tsc build incrementally. Confidence: 0.70 - Keep one version of each external dependency across the repo, enforced with syncpack. Confidence: 0.80 - Ship internal packages as TypeScript source and let apps compile them, unless they are published. Confidence: 0.75 - Version and publish public packages with Changesets. Confidence: 0.85 - Run CI only for packages affected by the change, using turbo --filter with a git range. Confidence: 0.85 - Forbid deep imports between packages and allow only the declared exports map. Confidence: 0.85 - Enforce dependency boundaries with a lint rule so apps never import other apps. Confidence: 0.90 - Keep the root package.json free of runtime dependencies. Confidence: 0.80 - Assign owners per directory with a CODEOWNERS file. Confidence: 0.80 - Pin the Node.js and pnpm versions with .nvmrc and the packageManager field. Confidence: 0.90 - Prefer one root lint and format config over a copy in every package. Confidence: 0.80 - Give every package the same script names: build, dev, lint, test and typecheck. Confidence: 0.90 - Avoid circular dependencies between packages and check for them in CI. Confidence: 0.85 - Split a package out only when a second consumer actually needs it. Confidence: 0.75
© f · CC0-1.0 · f/prompts.chat