Fähigkeiten ast-grep-rule-crafter
🔍

ast-grep-rule-crafter

Sicher ⚙️ Externe Befehle📁 Dateisystemzugriff🌐 Netzwerkzugriff

Создание правил поиска кода на основе AST с ast-grep

Написание пользовательских правил линтинга и преобразований кода является сложным и подверженным ошибкам. Этот навык предоставляет готовые к использованию YAML-паттерны ast-grep для создания точных правил поиска и перезаписи кода на основе AST.

Unterstützt: Claude Codex Code(CC)
📊 70 Angemessen
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "ast-grep-rule-crafter". Create a rule to replace old fetchData() API calls with new api.get()

Erwartetes Ergebnis:

  • Сгенерированное правило для миграции API:
  • Паттерн соответствует: fetchData($$$ARGS)
  • Автоисправление преобразует в: api.get($$$ARGS)
  • Сообщение: 'Мигрировать на новый метод API'
  • Работает для всех файлов JavaScript и TypeScript

Verwendung von "ast-grep-rule-crafter". Find React useEffect hooks missing dependency arrays

Erwartetes Ergebnis:

  • Паттерн идентифицирует вызовы useEffect с пустыми массивами зависимостей
  • Проверяет переменные, используемые внутри эффекта, но отсутствующие в массиве зависимостей
  • Уровень серьёзности: предупреждение
  • Применяется к компонентам React на TypeScript

Sicherheitsaudit

Sicher
v4 • 1/17/2026

This is a documentation skill containing YAML code examples for ast-grep rules. The static analyzer flagged 170 issues but all are false positives. The 'external_commands' findings are YAML patterns in code blocks (e.g., `pattern: console.log($GREETING)`), not Ruby shell execution. 'Weak cryptographic algorithm' and 'C2 keywords' are YAML syntax misinterpreted by the pattern scanner. No executable code exists - only documentation and example rules.

4
Gescannte Dateien
1,555
Analysierte Zeilen
3
befunde
4
Gesamtzahl Audits
Auditiert von: claude Audit-Verlauf anzeigen →

Qualitätsbewertung

41
Architektur
100
Wartbarkeit
85
Inhalt
22
Community
100
Sicherheit
91
Spezifikationskonformität

Was du bauen kannst

Применение командных стандартов кода

Создавайте пользовательские правила линтинга для обнаружения и исправления нарушений стиля кода, специфичных для соглашений вашей команды.

Автоматизация миграции API

Создавайте правила трансформации для автоматического обновления кодовой базы при миграции между версиями библиотек.

Автоматическое обнаружение антипаттернов

Пишите паттерны для обнаружения распространённых ошибок, проблем безопасности или проблем производительности во время проверки.

Probiere diese Prompts

Базовый паттерн
Создайте правило ast-grep для поиска всех вызовов console.log в JavaScript с предупреждающим сообщением.
Правило автоисправления
Напишите правило ast-grep, которое находит устаревшие вызовы array.length() и заменяет их на array.length.
Сложный паттерн
Создайте правило для обнаружения объявленных, но никогда не используемых переменных, обрабатывая var, let и const.
Многоязычный
Сгенерируйте правила ast-grep для Python и JavaScript, обеспечивающие последовательные паттерны обработки ошибок.

Bewährte Verfahren

  • Тестируйте правила на примерах кода перед применением ко всей кодовой базе
  • Используйте специфичные паттерны с ограничениями для уменьшения ложных срабатываний
  • Включайте описательные сообщения, объясняющие, почему существует каждое правило

Vermeiden

  • Написание слишком широких паттернов, которые захватывают легитимный код
  • Создание правил исправления без предварительного тестирования трансформаций
  • Игнорирование специфичных для языка синтаксических различий в многоязычных правилах

Häufig gestellte Fragen

Что такое ast-grep?
ast-grep — это инструмент, который использует tree-sitter для разбора кода в AST для точного сопоставления паттернов и трансформации.
Нужно ли устанавливать ast-grep?
Да, вам нужно установить CLI ast-grep для выполнения сгенерированных правил в вашей кодовой базе.
Какие языки поддерживаются?
ast-grep поддерживает более 30 языков, включая JavaScript, Python, Go, Rust, Java и другие.
Могут ли правила автоматически исправлять код?
Да, добавьте свойства 'fix' к правилам для автоматической трансформации и модернизации кода.
Как тестировать мои правила?
Используйте 'ast-grep scan -r rule.yml src/' для тестирования правил перед применением исправлений к вашему коду.
В чём разница между pattern и kind?
Паттерн сопоставляет синтаксис кода, например console.log($ARG), тогда как kind сопоставляет типы узлов AST, например function_declaration.