apologies, the names is a little tongue in cheek.
the goals of this is:
1. create an abstract syntax tree over the tree sitter trees for queries that work across language (function) @f matches functions in any supported language
2. create a smaller (in text) query language based on the semantics of css selectors e.g. in the 'c' language id#Validate ->
[((function_definition declarator: (function_declarator declarator: (identifier) @_n0)) @_root2 (#eq? @_n0 "Validate"))
((call_expression function: (identifier) @_n1) @_root3 (#eq? @_n1 "Validate"))]
3. provide some useful commands on top of this to allow humans (and llms) to be able to quickly learn about codebases from the cli
i made this for myself, just sharing it because i probably should
Nah, theres not a technical or business solution to this. Music is cultural and we'll develop new cultural technology to solve it. Vision + regulation would help things move a little faster but the pendulums swing is inevitable.
css applies attributes to objects via graph queries
the queries are tightly coupled to the tree. you must work hard to avoid scatter gun edits now. it doesn't make much sense to have attributes stores in a separate location to their use
it would be like assigning all of your instances attributes using decorators
1. create an abstract syntax tree over the tree sitter trees for queries that work across language (function) @f matches functions in any supported language
2. create a smaller (in text) query language based on the semantics of css selectors e.g. in the 'c' language id#Validate -> [((function_definition declarator: (function_declarator declarator: (identifier) @_n0)) @_root2 (#eq? @_n0 "Validate")) ((call_expression function: (identifier) @_n1) @_root3 (#eq? @_n1 "Validate"))]
3. provide some useful commands on top of this to allow humans (and llms) to be able to quickly learn about codebases from the cli
i made this for myself, just sharing it because i probably should
yes i used claude code for most of this
reply