|
This version is still in development and is not considered stable yet. For the latest stable version, please use fluent-tooling 0.0.1! |
fluent-tooling
Tree-sitter grammar, linter, and editor tooling for the Fluent localization system from Mozilla.
This repository contains:
-
ftl-lint, a command-line linter with compiler-style diagnostics; -
tree-sitter-fluent, an error-tolerant Tree-sitter grammar with Rust bindings; and -
fluent-ts-mode, a native Tree-sitter major mode for Emacs.
Project status: Experimental.
Quick start
Run the linter from this checkout:
nix run . -- path/to/messages.ftl
See the ftl-lint guide for installation, command-line options, diagnostic codes, and editor integration.
Nix packages
The flake exports two named packages and selects ftl-lint by default:
| Command | Package |
|---|---|
|
The |
|
The compiled Tree-sitter grammar |
See the tree-sitter-fluent guide for the grammar package’s layout and integration options.
Development
Enter the reproducible development shell and run the complete quality gate:
nix develop
bb ci
The development guide covers repository structure, parser generation, individual checks, and fixture provenance.
Licensing
Copyright © 2017-present David Rios for the original Tree-sitter grammar.
Copyright © 2026 Casey Link.
Distributed under the MIT license.
Copied grammar provenance and third-party fixture licenses are documented in NOTICE.md and test/fixtures/UPSTREAM.md.