Skip to content

Commit 4293bd6

Browse files
authored
Merge PR #786 from knocte/wip/improveReadme
Improve README: docs, rules' categories, contributing...
2 parents 57a1193 + c6f15fb commit 4293bd6

22 files changed

+31
-35
lines changed

.github/workflows/build+test+deploy.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ jobs:
2727

2828
steps:
2929
- uses: actions/checkout@v4
30-
- name: Restore tools
31-
run: dotnet tool restore
3230
- name: Restore dependencies
3331
run: dotnet restore
3432
- name: Build

CONTRIBUTING.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ Use the issues tracker for:
1111
* [feature requests](#feature-requests)
1212
* [submitting pull requests](#pull-requests)
1313

14-
Please **do not** use the issue tracker for personal or commercial support requests.
15-
1614
## Bug reports
1715

1816
A bug is either a _demonstrable problem_ that is caused by the code in the repository,
@@ -143,3 +141,8 @@ in order to craft an excellent pull request:
143141
git checkout <your-topic-branch>
144142
git rebase master
145143
```
144+
145+
## Maintaining the project
146+
147+
If you have become a maintainer, please don't forget to follow [the Releasing Guidelines](./RELEASE.md).
148+

README.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
FSharpLint is a static analysis tool for F#. Like many other software linters, it analyzes your source code (using both typed and untyped syntax trees) and highlights any violations of defined F# coding rules. There are various kinds of rules:
44

5-
* **Conventions:** ensures that your API members follow project- or solution-wide naming conventions.
6-
* **Smells:** warns about logic that may pose maintainability problems or potential downsides.
7-
* **Formatting:** checks that code is indented and structured according to specified cosmetic standards.
5+
* **Conventions:** ensures that your API members follow project- or solution-wide naming standards, or that your source code is structured in parts that don't surpass excessive (and configurable) certain lengths.
6+
* **Smells:** warns about logic that may indicate defects, or pose maintainability problems or downsides.
7+
* **Formatting:** checks that code is indented and structured according to specified cosmetic standards (beware, this kind of rules are deprecated in favour of more mature tools such as `fantomas`).
88

99
The tool is configurable via JSON and can be run as a console app or as an MSBuild task. It also provides an interface for easy integration into other software.
1010

@@ -38,24 +38,19 @@ Package | Version
3838
## How to build
3939

4040
1. Make sure you've installed the .NET version defined in [global.json](global.json)
41-
2. Run `dotnet tool restore` to install all developer tools required to build the project
42-
3. Run `make` to build (which executes the `Build` target from the FAKE-based [build script](build.fsx))
43-
4. To run tests use `make check`
44-
5. To build documentation use `make docs`
41+
2. Run `make` to build (which executes the `Build` target from the FAKE-based [build script](build.fsx))
42+
3. To run tests use `make check`
43+
4. To build documentation use `make docs`
4544

4645
## How to work with documentation
4746

4847
1. Make sure you've installed the .NET version defined in [global.json](global.json)
4948
2. Run `dotnet tool restore` to install all developer tools required to build the project
50-
3. Run `dotnet fsi build.fsx` to build default target of [build script](build.fsx)
51-
4. Build documentation to make sure everything is fine with `dotnet fsi build.fsx -t Docs`
49+
3. Run `make` to build the default target of the [build script](build.fsx)
50+
4. Build documentation to make sure everything is fine with `make docs`
5251
5. Go to docs folder `cd docs` and start Fornax in watch mode `dotnet fornax watch`
5352
6. Your documentation should be now accessible on `localhost:8080` and will be regenerated on every file save
5453

55-
## How to release
56-
57-
Please [read the Releasing Guidelines](./RELEASE.md) if you're a maintainer.
58-
5954
## How to contribute
6055

6156
Bug reports, feature requests, and pull requests are very welcome! Please [read the Contribution Guidelines](./CONTRIBUTING.md)

src/FSharpLint.Core/FSharpLint.Core.fsproj

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@
4444
<Compile Include="Rules\Formatting\Spacing\ModuleDeclSpacing.fs" />
4545
<Compile Include="Rules\Formatting\Spacing\ClassMemberSpacing.fs" />
4646
<Compile Include="Rules\Formatting\TypedItemSpacing.fs" />
47-
<Compile Include="Rules\Formatting\TypePrefixing.fs" />
47+
<Compile Include="Rules\Conventions\TypePrefixing.fs" />
4848
<Compile Include="Rules\Formatting\UnionDefinitionIndentation.fs" />
4949
<Compile Include="Rules\Conventions\UnneededRecKeyword.fs" />
50-
<Compile Include="Rules\Conventions\AsyncExceptionWithoutReturn.fs" />
50+
<Compile Include="Rules\Smells\AsyncExceptionWithoutReturn.fs" />
5151
<Compile Include="Rules\Conventions\FavourStaticEmptyFields.fs" />
5252
<Compile Include="Rules\Conventions\RecursiveAsyncFunction.fs" />
5353
<Compile Include="Rules\Conventions\RedundantNewKeyword.fs" />
@@ -58,17 +58,17 @@
5858
<Compile Include="Rules\Conventions\FavourConsistentThis.fs" />
5959
<Compile Include="Rules\Conventions\AvoidSinglePipeOperator.fs" />
6060
<Compile Include="Rules\Conventions\SuggestUseAutoProperty.fs" />
61-
<Compile Include="Rules\Conventions\UsedUnderscorePrefixedElements.fs" />
61+
<Compile Include="Rules\Smells\UsedUnderscorePrefixedElements.fs" />
6262
<Compile Include="Rules\Conventions\FavourNonMutablePropertyInitialization.fs" />
6363
<Compile Include="Rules\Conventions\EnsureTailCallDiagnosticsInRecursiveFunctions.fs" />
64-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\RaiseWithTooManyArgumentsHelper.fs" />
65-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\FailwithWithSingleArgument.fs" />
66-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\RaiseWithSingleArgument.fs" />
67-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\NullArgWithSingleArgument.fs" />
68-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\InvalidOpWithSingleArgument.fs" />
69-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\InvalidArgWithTwoArguments.fs" />
70-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\FailwithfWithArgumentsMatchingFormatString.fs" />
71-
<Compile Include="Rules\Conventions\RaiseWithTooManyArguments\FailwithBadUsage.fs" />
64+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\RaiseWithTooManyArgumentsHelper.fs" />
65+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\FailwithWithSingleArgument.fs" />
66+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\RaiseWithSingleArgument.fs" />
67+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\NullArgWithSingleArgument.fs" />
68+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\InvalidOpWithSingleArgument.fs" />
69+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\InvalidArgWithTwoArguments.fs" />
70+
<Compile Include="Rules\Smells\RaiseWithTooManyArguments\FailwithfWithArgumentsMatchingFormatString.fs" />
71+
<Compile Include="Rules\Conventions\FailwithBadUsage.fs" />
7272
<Compile Include="Rules\Conventions\SourceLength\SourceLengthHelper.fs" />
7373
<Compile Include="Rules\Conventions\SourceLength\MaxLinesInLambdaFunction.fs" />
7474
<Compile Include="Rules\Conventions\SourceLength\MaxLinesInMatchLambdaFunction.fs" />
@@ -117,13 +117,13 @@
117117
<Compile Include="Rules\Conventions\Binding\UselessBinding.fs" />
118118
<Compile Include="Rules\Conventions\Binding\TupleOfWildcards.fs" />
119119
<Compile Include="Rules\Conventions\Binding\FavourAsKeyword.fs" />
120-
<Compile Include="Rules\Conventions\AvoidTooShortNames.fs" />
121-
<Compile Include="Rules\Typography\Indentation.fs" />
122-
<Compile Include="Rules\Typography\MaxCharactersOnLine.fs" />
123-
<Compile Include="Rules\Typography\TrailingWhitespaceOnLine.fs" />
124-
<Compile Include="Rules\Typography\MaxLinesInFile.fs" />
125-
<Compile Include="Rules\Typography\TrailingNewLineInFile.fs" />
126-
<Compile Include="Rules\Typography\NoTabCharacters.fs" />
120+
<Compile Include="Rules\Conventions\Naming\AvoidTooShortNames.fs" />
121+
<Compile Include="Rules\Formatting\Typography\Indentation.fs" />
122+
<Compile Include="Rules\Formatting\Typography\MaxCharactersOnLine.fs" />
123+
<Compile Include="Rules\Formatting\Typography\TrailingWhitespaceOnLine.fs" />
124+
<Compile Include="Rules\Conventions\SourceLength\MaxLinesInFile.fs" />
125+
<Compile Include="Rules\Formatting\Typography\TrailingNewLineInFile.fs" />
126+
<Compile Include="Rules\Formatting\Typography\NoTabCharacters.fs" />
127127
<Compile Include="Rules\Hints\HintsHelper.fs" />
128128
<Compile Include="Rules\Hints\HintMatcher.fs" />
129129
<!-- Application -->

0 commit comments

Comments
 (0)