telplin 0.13.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global telplin --version 0.13.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local telplin --version 0.13.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=telplin&version=0.13.0
                    
nuke :add-package telplin --version 0.13.0
                    

Telplin

Logo

Telplin helps F# users to generate matching signature files for implementation files.

Usage

dotnet tool install -g telplin
telplin src/App/App.fsproj --files App/Api.fs --only-used

This writes Api.fsi next to Api.fs, lists it in the project, and keeps only what other files of the project use: a let binding nothing else calls is left out, which makes it private. The project is type checked before and after, so a signature that does not match is never written.

Leave out --only-used to get everything the file exposes, and --files to do the whole project. Run telplin --help for the other flags.

Checkout our documentation for more information.

Local development

Run online tool

dotnet fsi build.fsx -- -p Watch

Format code

dotnet fantomas src tests docs tool
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.17.0 89 8/30/2026
0.16.0 81 8/30/2026
0.15.0 85 8/30/2026
0.14.0 81 8/30/2026
0.13.0 80 8/30/2026
0.12.0 82 8/30/2026
0.11.0 207 4/10/2026
0.10.0 2,544 2/10/2025
0.9.6 26,496 2/22/2024
0.9.5 335 1/31/2024
0.9.4 366 1/29/2024
0.9.3 394 12/12/2023
0.9.2 324 12/1/2023
0.9.1 279 11/22/2023
0.9.0 326 11/22/2023
0.8.3 357 6/28/2023
0.8.2 326 6/14/2023
0.8.1 354 6/13/2023
0.8.0 316 6/12/2023
Loading failed

### Added

- `--only-used` leaves out let bindings that no other file of the project uses. Types, members and bindings with an attribute are kept. Only the project is looked at, so this is for files internal to a project. [#371](https://github.com/nojaf/telplin/pull/371)
- The project is type checked before a run, and again with the new signatures in place before anything is written. `--no-verify` skips the second check, `--force` writes despite it.
- Signature files are listed in the project file, directly before their implementation file. `--no-project` opts out.
- The `private` keyword is removed from let bindings the signature leaves out. `--keep-private` opts out.
- `--files` accepts a path relative to the project, such as `Api.fs` or `App/Api.fs`, from any working directory.
- The input can be a folder that holds exactly one project file.

### Changed

- A project that does not compile is refused with its diagnostics.
- The generated `AssemblyInfo.fs` and `AssemblyAttributes.fs` no longer get a signature file.