repo-publicationlisted
Install: claude install-skill dewil/claude-toolkit
# Подготовка репозитория к публикации
Задача: довести приватный репозиторий до состояния, в котором его можно открыть публично - без утечки секретов, персональных данных и следов заказчиков. Значения в угловых скобках - из таблицы подстановки в конце.
## Порядок и стоп-правило
Аудит идет по шагам 1-6, и только потом публикация. **Любая находка на шагах 1-3 - стоп:** сначала устранение и, если секрет реально утек, ротация, и лишь затем возврат к ��удиту. Публиковать "и потом почистим" нельзя: с момента публикации содержимое считается разошедшимся, а удаление из истории уже не помогает. Два действия необратимы и выполняются **только после явного подтверждения пользователя**: переписывание истории (шаг 4А) и сама публикация (шаг 6).
Аудировать надо ровно то, что публикуется. Перед шагом 1 забери с сервера **все** ветки - именно явным refspec: `git fetch --all` уважает refspec клона, и single-branch клон так и остался бы со своей единственной веткой, - потом сверь и раскрой shallow:
```bash
git fetch origin '+refs/heads/*:refs/remotes/origin/*' --tags --prune
git ls-remote --heads origin # сверь глазами: каждая серверная ветка видна локально
git rev-parse --is-shallow-repository # true -> git fetch --unshallow
```
Без этого локальный `git log --all` ничего не говорит о серверных ветках, которых в клоне нет, а смена видимости (шаг 6) открывает их все.
Отдельная дисциплина на весь аудит: **вывод сканов не тащить в чат целиком.** Сначала смотреть список файлов-кандид