Add dev practices doc to explain current state of linting

This commit is contained in:
Gabriel Horner
2022-01-12 17:00:11 -05:00
parent b7b3375f62
commit 38d9cb7fbd
2 changed files with 13 additions and 1 deletions

View File

@@ -76,7 +76,7 @@ Logseq is also made possible by the following projects:
The following is for developers and designers who want to build and run Logseq locally and contribute to this project.
We also have [a dedicated page](https://github.com/logseq/logseq/blob/master/CODEBASE_OVERVIEW.md) for LogSeq's codebase overview.
We have [a dedicated overview page](https://github.com/logseq/logseq/blob/master/CODEBASE_OVERVIEW.md) for LogSeq's codebase overview and [a development practices page](docs/dev-practices.md).
## Set up development environment

12
docs/dev-practices.md Normal file
View File

@@ -0,0 +1,12 @@
## Description
This page describes development practices for this codebase.
## Linting
We lint our Clojure(Script) code with https://github.com/clj-kondo/clj-kondo/. If you need to configure specific linters, see [this documentation](https://github.com/clj-kondo/clj-kondo/blob/master/doc/linters.md). Where possible, a global linting configuration is used and namespace specific configuration is avoided.
Linting is a work in progress as this is a large Clojure codebase with some areas to refactor. There are outstanding linting items that are currently ignored in order to allow full linting of the codebase to run in CI. These outstanding linting items should be addressed at some point:
* Comments starting with `TODO:lint`
* Code marked with `#_:clj-kondo/ignore` require a good understanding of the context to address as they usually involve something with a side effect or require changing multiple fns up the call stack.