Developer tool to help developers writing Solidity smart contracts
Slap is the implementation of a Solidity LSP (Language server protocol). It's the binary that is hidden in your IDE and is your best friend to write code, they usually provide auto-completion, linting suggestions, formatting, and so on. Slap uses a unique model where people can write custom detectors in order to do all of this with their own logic. Two very basic detectors are included by default, the AI detector and the struct detector. The AI detector does external requests to the Redpill API in order to get suggestions regarding the smart contract security. The struct detector is a dummy detector that is a POC of using Slang to parse tokens and write some static analysis tool.
RUST The project uses the tower-lsp (https://github.com/ebkalderon/tower-lsp) library which is a library based on tower (https://github.com/tower-rs/tower) and greatly helped me writing the LSP by removing all the redundant work. It uses slang (https://github.com/nomicFoundation/slang) which is a project from NomicFoundation that was built exactly for that (developer tooling!). It is used here to parse the Solidity source code into tokens that can be used for static analysis. It also uses Redpill AI which is an API that runs many AI models (OpenAI, lama, ...) to be able to run queries without having the need of access to a beefy machine.