К основному содержанию
промпт GP ChatGPT

Rust CLI taste — промпт для ChatGPT и Claude.ai: правила для Rust CLI

Промпт задаёт набор правил, по которым ИИ пишет консольные утилиты на Rust: разбор аргументов, ошибки, вывод, тесты.

Открыть на GitHub

Что делает Rust CLI taste

Это промпт-набор из девятнадцати пунктов про то, как выглядит аккуратная CLI-утилита на Rust. Модель разбирает аргументы через clap с derive API, а текст справки берёт из doc-комментариев. Из main возвращается anyhow::Result, и каждый шаг, который может упасть, получает .context(). Для библиотечных типов ошибок предлагается thiserror, а anyhow остаётся только в бинарнике.

Структура крейта — тонкий main.rs и lib.rs с настоящей логикой, чтобы её можно было тестировать. Обычный вывод идёт в stdout, логи, прогресс и ошибки — в stderr. Есть --json для машиночитаемого вывода через serde, tracing с фильтром по флагам -v и переменной RUST_LOG, уважение к NO_COLOR и отключение цвета, когда stdout не терминал. Прогресс-бары на indicatif — только для операций длиннее примерно секунды. Коды выхода разные и документированные, а не всегда 1.

Конфигурация читается по порядку: флаги, переменные окружения, TOML-файл; пути ищутся через directories. Тесты — end-to-end через assert_cmd и снапшоты через insta. Асинхронность и tokio промпт советует не тянуть, если утилита не делает параллельную сетевую работу. В сборке — clap_complete и clap_mangen для автодополнения и man-страницы, cargo-dist для готовых бинарников из GitHub Actions, clippy с запретом предупреждений и cargo fmt --check в CI. Отдельный пункт — корректная обработка Ctrl+C через ctrlc, чтобы не оставалось недописанных файлов.

Какие задачи решает

  • разобрать аргументы CLI и получить справку из doc-комментариев
  • добавить контекст к каждой ошибке вместо голого ?
  • разделить крейт на тонкий main.rs и тестируемый lib.rs
  • отдавать машиночитаемый вывод по флагу --json
  • настроить разные коды выхода вместо постоянной единицы

Примеры запросов агенту

  • Напиши CLI-утилиту на Rust по правилам Rust CLI taste: clap с derive, anyhow в main, thiserror в библиотеке.
  • Сделай разбор аргументов через clap и добавь .context() к каждому шагу, который может упасть.
  • Добавь флаг --json с serde и убери цвет, когда stdout не терминал.

Как установить Rust CLI taste

Как использовать

Вставьте текст в начало диалога или в инструкции проекта

Из того же набора73

Весь набор →
Error Handling taste Промпт задаёт ИИ-ассистенту вкус бэкенд-инженера на TypeScript: как валидировать вход, разделять ожидаемые ошибки и баги, логировать и отдавать клиенту. GP ChatGPT ★ 174 597звёзд репо Kubernetes taste Промпт задаёт ИИ-ассистенту набор правил платформенной команды: GitOps, пробы, ресурсы, безопасность подов. Пригодится, когда просите модель писать или проверять манифесты. GP ChatGPT ★ 174 597звёзд репо Git Workflow taste Промпт задаёт ИИ-ассистенту привычки trunk-based команды: короткие ветки, Conventional Commits, squash-merge и защита main. GP ChatGPT ★ 174 597звёзд репо Monorepo taste Промпт задаёт агенту свод правил для монорепозитория: pnpm workspaces, Turborepo, границы пакетов и общие конфиги. Пригодится, когда нужно привести структуру репо к одному стилю. GP ChatGPT ★ 174 597звёзд репо React State Management taste Сводка правил по управлению состоянием в React: когда использовать useState, Zustand, Context и TanStack Query. Помогает избежать типичных ошибок вроде лишних глобальных сторов. GP ChatGPT ★ 174 597звёзд репо Observability taste Набор правил для ИИ-ассистента: как расставлять трейсы, метрики и логи в сервисе, чтобы потом не гадать по дашбордам. Пригодится, когда просите модель написать код с телеметрией. GP ChatGPT ★ 174 597звёзд репо Python Packaging taste Промпт задаёт агенту набор правил для упаковки Python-проектов: pyproject.toml, src/, uv, Ruff. Пригодится, когда нужно привести новый пакет к одному стилю. GP ChatGPT ★ 174 597звёзд репо Dockerfile and CI taste Набор правил для Dockerfile и CI: многоэтапные сборки, непривилегированный пользователь, проверка образов. Пригодится, когда просишь ИИ написать или разобрать конфиг сборки. GP ChatGPT ★ 174 597звёзд репо

Похожие

domain-cli actionbook Задаёт правила архитектуры консольных утилит на Rust: парсинг аргументов через clap и разделение потоков данных и ошибок. CX Codex +1 3 100установок rust-testing affaan-m Скилл для написания тестов на Rust: юнит-тесты, интеграционные, async, property-based, моки и покрытие. Пригодится, когда ведёшь проект по TDD. CX Codex +1 5 600установок tdd-rust rtk-ai Скилл для разработки RTK-фильтров по методу TDD. Пишешь тест на реальных данных, реализуешь минимум кода, проверяешь экономию токенов — и фиксируешь формат вывода снимком через insta. CX Codex +1 1 400установок rust-best-practices apollographql Скилл для написания и ревью Rust-кода по хендбуку Apollo GraphQL: заимствование против клонирования, обработка ошибок, тесты. CX Codex +1 21 100установок rust Mindrally Задаёт агенту правила разработки на Rust: владение, async на tokio, обработка ошибок через Result и Option. CX Codex +1 778установок rust-engineer https://github.com/Jeffallan Направляет агента писать и проверять идиоматичный код на Rust 2021. Помогает настроить времена жизни, связать трейты и развернуть асинхронный сервис на tokio. CX Codex +1 6 300установок

Рядом в теме «Языки программирования»

Все промпты по теме «Языки программирования» →

Вопросы о Rust CLI taste

Как установить Rust CLI taste в Claude?

Отдельной команды установки нет: промпт вставляют в чат как обычное сообщение или сохраняют в свои инструкции.

Что делает Rust CLI taste?

Задаёт правила, по которым модель пишет консольные утилиты на Rust: clap, anyhow и thiserror, разделение вывода по потокам, тесты через assert_cmd и insta.

Нужен ли tokio для утилиты по этому промпту?

Промпт советует обходиться без async и tokio, если инструмент не выполняет параллельную сетевую работу.

Исходный текст

prompts.csv · CC0-1.0
# Rust CLI taste
- Parse arguments with clap using the derive API and doc comments as help text. Confidence: 0.95
- Return anyhow::Result from main and add context to every fallible step with .context(). Confidence: 0.90
- Define library error types with thiserror and keep anyhow in the binary only. Confidence: 0.85
- Split the crate into a thin main.rs and a lib.rs that holds the real logic for testing. Confidence: 0.85
- Write normal output to stdout and logs, progress and errors to stderr. Confidence: 0.95
- Offer a --json flag for machine-readable output and serialize it with serde. Confidence: 0.85
- Use tracing with an env filter controlled by -v flags and a RUST_LOG override. Confidence: 0.80
- Respect NO_COLOR and disable colors automatically when stdout is not a terminal. Confidence: 0.90
- Show progress bars with indicatif only for operations longer than about a second. Confidence: 0.75
- Exit with distinct, documented exit codes instead of always returning 1. Confidence: 0.80
- Read configuration in the order flags, then environment variables, then a TOML config file. Confidence: 0.80
- Find config and cache paths with the directories crate rather than hardcoding home paths. Confidence: 0.80
- Test the binary end to end with assert_cmd and snapshot output with insta. Confidence: 0.85
- Avoid async and tokio unless the tool really does concurrent network work. Confidence: 0.75
- Generate shell completions and a man page with clap_complete and clap_mangen at build time. Confidence: 0.75
- Ship prebuilt binaries for Linux, macOS and Windows with cargo-dist from GitHub Actions. Confidence: 0.80
- Run cargo clippy with warnings denied and cargo fmt --check in CI. Confidence: 0.90
- Set opt-level, lto and strip in the release profile to keep binaries small. Confidence: 0.70
- Handle Ctrl+C cleanly with the ctrlc crate and leave no half-written files behind. Confidence: 0.80

© f · CC0-1.0 · f/prompts.chat

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой