ast-manipulation

Solid

Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns

AI & Automation 814 stars 53 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
97
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
85
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# AST Manipulation Skill ## Overview Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns. ## Capabilities - Design typed AST node hierarchies - Implement visitor and transformer patterns - Build AST rewriting systems - Implement AST diffing and patching - Generate AST pretty-printers and formatters - Support AST serialization (JSON, binary) - Implement pattern matching on AST structures - Design span/location tracking systems ## Target Processes - ast-design.js - semantic-analysis.js - ir-design.js - code-generation-llvm.js - lsp-server-implementation.js - macro-system-implementation.js ## Dependencies None (core skill) ## Usage Guidelines 1. **Node Design**: Design immutable AST nodes with clear ownership semantics 2. **Location Tracking**: Include source spans on all nodes from the beginning 3. **Visitor Pattern**: Implement visitor pattern for extensible traversal 4. **Transformation**: Use transformer pattern for AST-to-AST transformations 5. **Serialization**: Support both human-readable (JSON) and efficient (binary) serialization ## Output Schema ```json { "type": "object", "properties": { "nodeTypes": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "fields": { "type": "array" }, "parent": { "type": "string" } } } }, "visitors": { "type": "array", "items": { "type": "s...

Details

Author
a5c-ai
Repository
a5c-ai/babysitter
Created
4 months ago
Last Updated
today
Language
JavaScript
License
MIT

Related Skills