Langkit is a DSL and framework for creating language front-ends, from the lexer and parser to the description of scoping rules, and type and name resolution. From your language description, Langkit will generate a front-end that you can use as a library from many different languages, from Ada to C/Python/OCaml and more. In this talk, we will present the technology, what it allows us to do, and what is the formalism that was chosen to describe different aspects of your language. We will also present Libadalang, which is the main front-end generated by Langkit, and is used by many tools shipped and used industrially at AdaCore, such as IDEs, static analyzers, etc. Finally, we will present LKQL, which is a code query language based on the idea of paths and selectors, that allows efficient writing of checkers for any front-end based on Langkit.