День 2721. #ЗаметкиНаПолях #AI
Превращаем Claude из Автодополнителя в Коллегу. Начало
Claude не «плохо разбирается в .NET». Он слеп. Вы просите его «добавить конечную точку», а он уверенно:
- изобретает структуру папок, которая не соответствует вашему репозиторию;
- добавляет шаблоны, которые вы не используете;
- пропускает ваш рабочий процесс сборки/тестирования;
- нарушает соглашения и заставляет вас убирать за ним.
Это не проблема ИИ. Это проблема адаптации.
Решение — один файл, который становится системой оперирования вашим проектом для Claude:
В Claude Code файлы памяти, такие как
Что на самом деле делает CLAUDE.md
Представьте
- последовательно следовать вашим инструкциям,
- запоминать их между сессиями,
- перестанет каждый раз заново изобретать вашу архитектуру.
В документации Claude Code файл
И что важно: вам не нужно начинать с нуля. Claude Code поддерживает команду
Правило: ваш CLAUDE.md должен предотвращать дорогостоящие ошибки
Если
- неправильные шаблоны (репозитории, AutoMapper, случайные абстракции, которые вы не используете);
- неправильный рабочий процесс (изменения без плана, отсутствие тестов, отсутствие валидации);
- неправильные значения по умолчанию (тайм-ауты, отмена, повторные попытки, фоновая работа, время жизни DI).
Поэтому не пишите его как документацию. Пишите его как: ограничители + карта + команды.
Структура памяти Claude Code
Claude Code поддерживает небольшую иерархию файлов памяти, включая:
-
-
-
-
Это означает, что вы можете:
- держать краткий корневой файл
- поместить подробные правила в
- хранить ваши личные данные в
Минимально необходимый CLAUDE.md для бэкенда на .NET 10
Создайте
Этого достаточно, чтобы избежать 80% гаданий Claude.
Далее сделаем его жутко эффективным.
Окончание следует…
Источник: https://medium.com/codetodeploy/claude-md-for-net-10-turn-claude-from-autocomplete-into-a-teammate-5ae9d5ad0b92
Превращаем Claude из Автодополнителя в Коллегу. Начало
Claude не «плохо разбирается в .NET». Он слеп. Вы просите его «добавить конечную точку», а он уверенно:
- изобретает структуру папок, которая не соответствует вашему репозиторию;
- добавляет шаблоны, которые вы не используете;
- пропускает ваш рабочий процесс сборки/тестирования;
- нарушает соглашения и заставляет вас убирать за ним.
Это не проблема ИИ. Это проблема адаптации.
Решение — один файл, который становится системой оперирования вашим проектом для Claude:
CLAUDE.md.В Claude Code файлы памяти, такие как
./CLAUDE.md (и модульные правила в ./.claude/rules/*.md), автоматически загружаются в качестве контекста при запуске инструмента, поэтому Claude начинает каждую сессию с картой вашего проекта и правилами, вместо того чтобы гадать.Что на самом деле делает CLAUDE.md
Представьте
CLAUDE.md как вводные инструкции для нового старшего разработчика. Однако этот «разработчик» будет:- последовательно следовать вашим инструкциям,
- запоминать их между сессиями,
- перестанет каждый раз заново изобретать вашу архитектуру.
В документации Claude Code файл
CLAUDE.md описывается как файл конфигурации проекта, который находится в вашем репозитории и автоматически загружается в контекст.И что важно: вам не нужно начинать с нуля. Claude Code поддерживает команду
/init для генерации стартового файла CLAUDE.md путём сканирования вашего репозитория — затем вы его дорабатываете.Правило: ваш CLAUDE.md должен предотвращать дорогостоящие ошибки
Если
CLAUDE.md не предотвращает одну из следующих ошибок, он не выполняет свою работу:- неправильные шаблоны (репозитории, AutoMapper, случайные абстракции, которые вы не используете);
- неправильный рабочий процесс (изменения без плана, отсутствие тестов, отсутствие валидации);
- неправильные значения по умолчанию (тайм-ауты, отмена, повторные попытки, фоновая работа, время жизни DI).
Поэтому не пишите его как документацию. Пишите его как: ограничители + карта + команды.
Структура памяти Claude Code
Claude Code поддерживает небольшую иерархию файлов памяти, включая:
-
./CLAUDE.md для общей памяти проекта,-
./.claude/rules/*.md для модульных правил,-
~/.claude/CLAUDE.md для ваших личных глобальных настроек,-
./CLAUDE.local.md для ваших личных заметок по проекту (и он НЕ предназначен для того, чтобы его коммитили).Это означает, что вы можете:
- держать краткий корневой файл
CLAUDE.md,- поместить подробные правила в
.claude/rules/,- хранить ваши личные данные в
CLAUDE.local.md, не засоряя репозиторий.Минимально необходимый CLAUDE.md для бэкенда на .NET 10
Создайте
CLAUDE.md в корневом каталоге вашего репозитория:## What this repo is
- .NET 10 backend API focused on scalability, p95/p99 latency, and production reliability.
- Prefer simple, copy/pasteable patterns over "clever architecture".
## Tech stack --> Зависит от ваших условий
- .NET 10 / C# (modern style)
- ASP.NET Core (Minimal APIs)
- Dapper (NOT EF Core)
- Redis (IDistributedCache / StackExchange.Redis depending on project)
- Azure hosting (App Service / Containers)
- Observability: Application Insights (logs + metrics)
## Repo map --> Измените, чтоб соответствовало вашим папкам
- src/Api/ → endpoints, DI, middleware, startup
- src/App/ → use-cases/services (business orchestration)
- src/Infra/ → DB, Redis, HTTP clients, external integrations
- tests/ → unit + integration tests
## Hard rules (do not violate)
- NEVER add new framework layers or "Clean Architecture cosplay".
- NEVER introduce patterns we don't use (AutoMapper, repositories, magic abstractions).
- Always pass CancellationToken through all async calls.
- No sync-over-async (no .Result/.Wait).
- No Task.Run inside request handlers.
- Outbound HTTP MUST have timeouts + cancellation.
- Caching MUST have: time budget, stampede protection strategy, and key versioning.
## Default workflow
1) Ask for missing requirements before changing code.
2) Propose a plan + list files to touch.
3) Implement smallest change that works.
4) Add/update tests when relevant.
5) Provide commands to verify (build/test/run).
## Commands --> Измените на нужные вам
- Build: `dotnet build`
- Test: `dotnet test`
- Run API: `dotnet run --project src/Api`
- Format: `dotnet format`
## Output format
- Prefer short sections, small code blocks, and explain trade-offs.
- When making changes: show diff-level guidance + why.
Этого достаточно, чтобы избежать 80% гаданий Claude.
Далее сделаем его жутко эффективным.
Окончание следует…
Источник: https://medium.com/codetodeploy/claude-md-for-net-10-turn-claude-from-autocomplete-into-a-teammate-5ae9d5ad0b92
👎6👍1
День 2722. #ЗаметкиНаПолях #AI
Превращаем Claude из Автодополнителя в Коллегу. Окончание
Начало
Модульные правила: прекратите повторяться и остановите импровизации Claude
Claude Code поддерживает модульные правила в папке
Создадим:
1.
2.
3.
Теперь корневой
Как быстро сделать Claude полезным?
Собственные рекомендации Claude сводятся к следующему: относитесь к
Пошагово:
- Запустите
- Удалите всё «сферическое в вакууме». Сохраняйте только специфичные для репозитория правила.
- Каждый раз, когда Claude делает что-то не то, добавляйте правило, которое это предотвращает.
- Переместите большие фрагменты правил в
- При переключении задач очищайте контекст с помощью
В блоге Claude также упоминается использование клавиши
Что добавлять (а что нет)
1. Добавить (полезно)
- точные версии технологий + фреймворки, которые вы действительно используете;
- карту папок + «где что находится»;
- ваши строгие правила (тайм-ауты, отмена, отсутствие Task.Run, отсутствие синхронного кода поверх асинхронного);
- команды сборки/тестирования/запуска;
- шаблоны, которые вы не хотите, чтобы предлагались.
2. Не добавлять (мало полезно или опасно)
- секреты, токены, строки подключения (никогда!);
- правила стиля, которые уже применяются вашим форматтером;
- «войну-и-мир» документации, которую Claude всё равно сможет просмотреть.
Цель не в том, чтобы научить Клода .NETу. Цель — научить Клода вашему репозиторию.
Простой «тестовый промпт» для проверки вашего CLAUDE.md:
Если Claude (например):
- использует минимальный API;
- использует CancellationToken по всей цепочке;
- устанавливает тайм-аут запроса;
- избегает Task.Run;
- добавляет безопасные шаблоны кэширования
…ваш
Если он импровизирует, в вашем
Итого
Если вы серьёзно относитесь к разработке с использованием ИИ в .NET, перестаньте настойчиво промптить и начните лучше проводить адаптацию.
Источник: https://medium.com/codetodeploy/claude-md-for-net-10-turn-claude-from-autocomplete-into-a-teammate-5ae9d5ad0b92
Превращаем Claude из Автодополнителя в Коллегу. Окончание
Начало
Модульные правила: прекратите повторяться и остановите импровизации Claude
Claude Code поддерживает модульные правила в папке
.claude/rules/*.md.Создадим:
1.
.claude/rules/api-conventions.md:# API conventions (Minimal APIs) ---> Зависит от ваших настроек
- Prefer Minimal APIs (`MapGet/MapPost`) over controllers.
- Endpoints must accept CancellationToken.
- Validate inputs early. Return ProblemDetails for errors.
- For outbound calls: use IHttpClientFactory + timeouts.
- For "slow work": queue it (don't run it in the request).
2.
.claude/rules/perf-reliability.md:# Perf + reliability rules
- All outbound HTTP:
- Timeout per request
- CancellationToken wired through
- Retry ONLY for safe idempotent calls (and never infinite)
- Redis:
- Cache calls get a small time budget (fail fast)
- Stampede protection for hot keys (singleflight or equivalent)
- TTL jitter for large fleets
- Logging:
- Avoid high-cardinality fields
- Avoid expensive structured logs in hot paths
3.
.claude/rules/security.md:# Security rules
- No secrets in code or CLAUDE.md.
- Avoid putting sensitive IDs/tokens in query strings.
- Auth must be explicit on endpoints (no accidental public routes).
- CORS must be restrictive (no AllowAnyOrigin in prod configs).
Теперь корневой
CLAUDE.md остаётся коротким и читаемым, а правила — таргетированными.Как быстро сделать Claude полезным?
Собственные рекомендации Claude сводятся к следующему: относитесь к
CLAUDE.md как к живому конфигурационному файлу, который вы совершенствуете со временем.Пошагово:
- Запустите
/init один раз, чтобы получить начальный файл.- Удалите всё «сферическое в вакууме». Сохраняйте только специфичные для репозитория правила.
- Каждый раз, когда Claude делает что-то не то, добавляйте правило, которое это предотвращает.
- Переместите большие фрагменты правил в
.claude/rules/, чтобы корневой файл оставался чистым.- При переключении задач очищайте контекст с помощью
/clear, чтобы Claude не переносил старые неактуальные детали в следующую имплементацию.В блоге Claude также упоминается использование клавиши
# для добавления инструкций, которые вы постоянно повторяете (так что они накапливаются в CLAUDE.md со временем).Что добавлять (а что нет)
1. Добавить (полезно)
- точные версии технологий + фреймворки, которые вы действительно используете;
- карту папок + «где что находится»;
- ваши строгие правила (тайм-ауты, отмена, отсутствие Task.Run, отсутствие синхронного кода поверх асинхронного);
- команды сборки/тестирования/запуска;
- шаблоны, которые вы не хотите, чтобы предлагались.
2. Не добавлять (мало полезно или опасно)
- секреты, токены, строки подключения (никогда!);
- правила стиля, которые уже применяются вашим форматтером;
- «войну-и-мир» документации, которую Claude всё равно сможет просмотреть.
Цель не в том, чтобы научить Клода .NETу. Цель — научить Клода вашему репозиторию.
Простой «тестовый промпт» для проверки вашего CLAUDE.md:
«Добавь новую конечную точку, которая вызывает нижестоящий HTTP-сервис и безопасно кэширует ответ. Сначала покажи план, затем реализуй».
Если Claude (например):
- использует минимальный API;
- использует CancellationToken по всей цепочке;
- устанавливает тайм-аут запроса;
- избегает Task.Run;
- добавляет безопасные шаблоны кэширования
…ваш
CLAUDE.md работает.Если он импровизирует, в вашем
CLAUDE.md отсутствуют правила.Итого
Если вы серьёзно относитесь к разработке с использованием ИИ в .NET, перестаньте настойчиво промптить и начните лучше проводить адаптацию.
CLAUDE.md поможет превратить Claude из «умного автозаполнения» в «надёжного члена команды».Источник: https://medium.com/codetodeploy/claude-md-for-net-10-turn-claude-from-autocomplete-into-a-teammate-5ae9d5ad0b92
👎5👍2