flint reads flint.toml from the root of whatever it is run on (--path, defaulting to the current directory). the layout loosely follows biome. every section and key is optional.

see example.flint.toml for a full example with the defaults.

sectionpurpose
[linter]passed to selene. std and exclude aren’t supported
[formatter]passed to stylua. syntax isn’t supported, LuaJIT is always used
[vcs]enabled, client_kind (only git), and use_ignore_file. unlike biome, ignore files are respected by default
[files]includes: globs of files to operate on, defaulting to ["**/*.lua"]. a leading ! excludes, and the last matching glob wins

hidden files and directories are always skipped. selene.toml, stylua.toml, and .styluaignore aren’t read.