Add first party linting support i.e. `tofu lint`
### OpenTofu Version ```shell N/A ``` ### The problem in your OpenTofu project No linting tools for OpenTofu. ### Attempted Solutions - Explored many different tools online - Checked `tflint` which has [indirectly stated they will not support opentofu](https://github.com/terraform-linters/tflint/issues/2037#issuecomment-2094738720) - Checked for style and quality enforcement from SAST tools, if it exists it's minimal ### Proposal I have two proposals: The first of which is full first party linting support using the OpenTofu binary package and running something like `tofu lint`, this will likely be very complicated as the knowledge around specific language specifications is as one in Slack put it *underspecified*. The benefits of this would be a massively increased user experience and ease of adoption for those seeking quality and style enforcement either in editor, or optionally during their plans and applies. There are many opinions about style, primitive usages, built in tofu function use cases, that we could all likely benefit from having some sort of static analysis as a quality gate for those things. The second alternative proposal is, we go back to the last commit of `tflint` before the dual license [LICENSE_BUSL](https://github.com/terraform-linters/tflint/blob/master/LICENSE-BUSL) was introduced and fork it, creating a fork labeled `tofulint` and take over the project to work on and add the relevant versioned changes that are required from 1.5 era up to the
Posted by dragonfleas on Nov 22, 2024, 9:03 PM
Tags
Related issues
- Add 65536 size support for maps
- TypeScript 7.1 Iteration Plan
- nvim-treeconfig: upstream nvim-treesitter
- Add the "action" and "method" attributes to <button>
- [FEATURE] Support multiple Connector accounts (same connector, different accounts) in Claude and Claude Code on the web (claude.ai/code)
- > We were imposed GitHub for so many exercises!
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
support (Software)
Add 65536 size support for maps
TypeScript 7.1 Iteration Plan
nvim-treeconfig: upstream nvim-treesitter
Add the "action" and "method" attributes to <button>
[FEATURE] Support multiple Connector accounts (same connector, different accounts) in Claude and Claude Code on the web (claude.ai/code)
> We were imposed GitHub for so many exercises!
Add support for Visual Studio 2026 Integration
Support for Helm v4
Add first party linting support i.e. `tofu lint`
### OpenTofu Version ```shell N/A ``` ### The problem in your OpenTofu project No linting tools for OpenTofu. ### Attempted Solutions - Explored many different tools online - Checked `tflint` which has [indirectly stated they will not support opentofu](https://github.com/terraform-linters/tflint/issues/2037#issuecomment-2094738720) - Checked for style and quality enforcement from SAST tools, if it exists it's minimal ### Proposal I have two proposals: The first of which is full first party linting support using the OpenTofu binary package and running something like `tofu lint`, this will likely be very complicated as the knowledge around specific language specifications is as one in Slack put it *underspecified*. The benefits of this would be a massively increased user experience and ease of adoption for those seeking quality and style enforcement either in editor, or optionally during their plans and applies. There are many opinions about style, primitive usages, built in tofu function use cases, that we could all likely benefit from having some sort of static analysis as a quality gate for those things. The second alternative proposal is, we go back to the last commit of `tflint` before the dual license [LICENSE_BUSL](https://github.com/terraform-linters/tflint/blob/master/LICENSE-BUSL) was introduced and fork it, creating a fork labeled `tofulint` and take over the project to work on and add the relevant versioned changes that are required from 1.5 era up to the
Comments (0)
No comments yet. Start the discussion.