Lints and suggestions for the Nix programming language
at main 38 lines 821 B view raw
1architecture 2============ 3 4statix has the following components: 5 * bin: the CLI/entrypoint 6 * lib: library of lints and utilities to define these lints 7 * vfs: virtual filesystem 8 * macros: procedural macros to help define a lint 9 10 11bin 12--- 13 14This is the main point of interaction between `statix` and 15the end user. It's output is human-readable and should also 16support JSON/errorfmt outputs for external tools to use. 17 18 19lib 20--- 21 22A library of AST-based lints and utilities to help write 23those lints. It should be easy for newcomers to write lints 24without being familiar with the rest of the codebase. 25 26 27vfs 28--- 29 30VFS is an in-memory filesystem. It provides cheap-to-copy 31handles (`FileId`s) to access paths and file contents. 32 33 34macros 35------ 36 37This crate intends to be a helper layer to declare lints and 38their metadata.