ШІ-інструменти та скрипти
Перевірка гігієни репозиторію
Перевіряє репозиторій перед push або публікацією: маркери конфліктів злиття, файли понад ліміт GitHub у 100 МіБ, shell-скрипти з CRLF, назви, що ламають клонування у Windows і macOS, а також ключі, env-файли та дампи, які git досі відстежує.
Що ви отримаєте: 1 файл · 48.07 KB · ZIP
Переглянути варіанти купівліОпис товару
Push не проходить, бо в останній коміт прослизнув файл моделі на 120 МіБ. Колега на Windows клонує репозиторій, і git зупиняється з помилкою "invalid path 'lib/aux.js'". Контейнер завершується з "exec /entrypoint.sh: no such file or directory", бо скрипт закомітили із закінченнями рядків CRLF. Файл .env, указаний у .gitignore, закомітили ще до появи цього правила, і кожен форк досі його отримує. Цей навик знаходить такі помилки та інші порушення гігієни репозиторію, наведені нижче, і пояснює, як виправити кожну з них.
Ваш агент запускає сканер на папці репозиторію. Він обходить усі файли, крім вендорних і згенерованих папок (node_modules, vendor, dist, build, .venv тощо), вкладених репозиторіїв і файлів, які ігнорує .gitignore, і напряму читає .git/index, не запускаючи git, щоб дізнатися, які шляхи відстежує git і який у них розмір. Так він бачить дві назви, що відрізняються лише регістром, або зарезервовану у Windows назву навіть у робочій копії на Windows чи macOS, де такі файли не можуть існувати на диску, і так він відрізняє скрипт, який git зберігає з CRLF (справжня проблема), від скрипту, що має CRLF лише в цій робочій копії на Windows через core.autocrlf (локальна проблема). Він враховує .gitattributes (text, eol, filter=lfs, conflict-marker-size) і .git/info/exclude. Він ніколи не запускає git чи код проєкту і не використовує мережу. Результат: BLOCK, REVIEW або NOT FLAGGED із зазначенням файлу, рядка, причини та безпечнішого підходу. Вміст файлів і значення секретів ніколи не виводяться.
Що перевіряється
BLOCK (виправити до випуску)
- R01: конфлікти злиття, залишені у файлах (<<<<<<<, =======, >>>>>>>), але не підкреслення заголовків і не приклади в блоках коду Markdown
- R02: файли понад 100 МіБ, які не зберігаються в Git LFS
- R03: закінчення рядків CRLF у shell-скриптах, файлах запуску оболонки, файлах із #! для sh/bash/node і файлах із #! без розширення (bin/deploy, git-хуки), якщо git зберігає їх саме так, .gitattributes задає eol=crlf або немає .git/index для порівняння
- R04: шляхи, що відрізняються лише регістром чи Unicode-нормалізацією, або файл, названий як папка в іншому регістрі (у знахідці зазначено, що проєкт, який ніколи не витягується на Windows чи macOS, може їх зберегти)
- R05: назви, які Windows не може створити: CON, PRN, AUX, NUL, COM1-9, LPT1-9 (а також aux.js, nul.txt), < > : " | ? * \ і керівні символи, назви, що закінчуються пробілом або крапкою
- R06: файли з обліковими даними, які відстежує git: приватні SSH-ключі, .ppk, .p12, .pfx, .jks, .keystore, .kdbx, AuthKey_*.p8, приватні ключі PEM, JSON-ключі сервісних акаунтів, .git-credentials, .netrc, terraform.tfstate, а також env-файли із секретними значеннями, які названі .local або ігноруються .gitignore (у тестових папках див. R22)
REVIEW (перевірити перед релізом)
- R11: файли понад 50 МіБ, які не зберігаються в Git LFS
- R12: змішані закінчення рядків CRLF і LF без правила .gitattributes для файлу
- R13: мітка порядку байтів UTF-8 (BOM) у JSON, PHP, shell-скриптах і файлах із #!
- R14: шляхи понад 200 символів від кореня репозиторію або назви понад 255 байтів
- R15: символьні посилання, що вказують за межі репозиторію
- R16: файли .sh без рядка #! у першому рядку
- R17: залишки .orig, .rej і файли _BASE_/_LOCAL_/_REMOTE_/_BACKUP_ від інструментів злиття
- R18: дампи баз даних і локальні бази даних, які відстежує git (.sql.gz, .dump, dump.sql, dump.rdb, .bson, .sqlite3, .mdf)
- R19: файли, які git відстежує, хоча .gitignore або .git/info/exclude їх ігнорує (одна знахідка на кожну ігноровану папку)
- R20: файл LICENSE є, але SECURITY.md немає ні в корені, ні в docs/, ні в .github/
- R21: shell-скрипти з CRLF лише в цій робочій копії: git зберігає їх з LF (core.autocrlf=true у Windows), тому push і Linux CI в порядку, а от збирання WSL і Docker із цієї папки ні
- R22: тестові ключі та сховища ключів у папках test, spec і fixtures, а також сховища довірених сертифікатів (truststore.jks, cacerts): переконайтеся, що вони ніде не використовуються в реальній роботі
Що входить до комплекту
- Сканер (Python 3.9+, лише стандартна бібліотека) із модулем читання формату індексу git (версії 2, 3 і 4, репозиторії SHA-1 і SHA-256, розділені індекси, пов'язані робочі дерева)
- Посібник із правил із причиною, безпечнішим підходом і офіційним джерелом для кожного правила
- Ризикований і безпечний приклади проєкту, а також реальний звіт сканера щодо ризикованого прикладу (приклад демонструє шість правил; іншим потрібне те, що неможливо передати в ZIP, наприклад файл на 100 МіБ, символьне посилання чи папка .git)
Обмеження
Він читає файли в їхньому поточному стані та список відстежуваних шляхів у .git/index. Історія git, інші гілки та збережені об'єкти не читаються, тому файл, видалений у пізнішому коміті, але який лишився в історії, не буде знайдено. Без папки .git (завантажений архів вихідного коду) правила щодо відстежуваних файлів (R06, R18, R19, R22) не виконуються, а скрипт із CRLF позначається як R03, бо закомічену копію неможливо порівняти. Глобальний файл виключень, глобальні атрибути та режими файлів, як-от біт виконання, не перевіряються. Він не шукає секрети в тексті файлів. NOT FLAGGED не є гарантією.
Вміст
Один ZIP-файл із 28 файлами: SKILL.md, сканер у scripts/ (8 файлів Python), references/rules.md (кожне правило з причиною та безпечнішим підходом) і examples/ (19 файлів прикладів плюс report.md, реальний вивід сканера щодо ризикованого прикладу).
Як користуватися: Це навик для агента: папка з файлом SKILL.md і скриптами Python, які може запускати ШІ-агент для програмування, наприклад Claude Code, Cursor або Codex CLI. Розпакуйте його в папку навиків вашого агента (для Claude Code: ~/.claude/skills/), потім попросіть агента перевірити ваш проєкт. Скрипти також працюють самостійно з Python 3.9 або новішим, нічого встановлювати не потрібно. Вони лише читають ваші файли: без доступу до мережі, і нічого нікуди не надсилається.
Що ви отримаєте
1 файл · 48.07 KB
- repo-hygiene-check-1.0.0.zipZIP · 48.07 KB
ШІ-інструменти та скрипти
Перевірка гігієни репозиторію
Перевіряє репозиторій перед push або публікацією: маркери конфліктів злиття, файли понад ліміт GitHub у 100 МіБ, shell-скрипти з CRLF, назви, що ламають клонування у Windows і macOS, а також ключі, env-файли та дампи, які git досі відстежує.
Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.
Теги
Поширені запитання
Чи отримаю я доступ одразу?
Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.
Чи можна використовувати його в комерційних проєктах?
Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.
Яка у вас політика повернення коштів?
Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.
Які формати та розміри файлів я отримаю?
Ви завантажите 1 файл - ZIP - загалом 48.07 KB.
Чи отримую я безкоштовні оновлення?
Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.
Ціна
$5.00



