GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - trunk-io/plugins: Trunk.io plugins repo

BranchesTags
Open more actions menu

Latest commit

 

History

842 Commits
842 Commits

Folders and files

NameName
Last commit message
Last commit date
.circleci
.circleci
 
 
.github
.github
 
 
.trunk
.trunk
 
 
.vscode
.vscode
 
 
actions
actions
 
 
linters
linters
 
 
repo-tools
repo-tools
 
 
runtimes
runtimes
 
 
tests
tests
 
 
tools
tools
 
 
.bandit
.bandit
 
 
.devcontainer.json
.devcontainer.json
 
 
.editorconfig
.editorconfig
 
 
.git-blame-ignore-revs
.git-blame-ignore-revs
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.ls-lint.yml
.ls-lint.yml
 
 
.pinact.yaml
.pinact.yaml
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
config.yml
config.yml
 
 
eslint.config.cjs
eslint.config.cjs
 
 
jest.config.json
jest.config.json
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
plugin.yaml
plugin.yaml
 
 
security.md
security.md
 
 
trunk.ps1
trunk.ps1
 
 
tsconfig.json
tsconfig.json
 
 

Repository files navigation

Trunk.io

docs contributing testing guide slack vscode openssf

Welcome

This repository is the official Trunk.io repo containing Trunk's integrations for linters, formatters, security tools, githooks, and default configs. By default, all Trunk users import this repo as a plugin, via this snippet in .trunk/trunk.yaml:

plugins:
  sources:
    - id: trunk
      uri: https://github.com/trunk-io/plugins
      ref: v1.5.0

This repo is open to contributions! See our contribution guidelines and join our slack community for help. If you're adding new tools, please see our testing guide as well!

Supported Linters, Formatters, and Security Tools

Enable the following tools via:

trunk check enable {linter}
Technology Linters
All codespell, cspell, gitleaks, git-diff-check, ls-lint, pre-commit-hooks, trunk-toolbox, vale
Ansible ansible-lint
Apex pmd
Bash shellcheck, shfmt
Bazel, Starlark buildifier
C, C++ clang-format, clang-tidy, include-what-you-use, pragma-once
C# dotnet-format
CircleCI Config circleci
Cloudformation cfnlint, checkov
CMake cmake-format
CSS, SCSS stylelint, prettier
Cue cue-fmt
Dart dart
Docker hadolint, checkov
Dotenv dotenv-linter
GitHub actionlint, pinact, zizmor
Go gofmt, gofumpt, goimports, gokart, golangci-lint, golines, semgrep
GraphQL graphql-schema-linter, prettier
HAML haml-lint
HTML Templates djlint
Java google-java-format, pmd, semgrep
Javascript biome, deno, eslint, oxlint, prettier, rome, semgrep
JSON biome, deno, eslint, prettier, semgrep
Kotlin detekt, ktlint
Kubernetes kube-linter
Lua stylua
Markdown deno, markdownlint, markdownlint-cli2, markdown-link-check, markdown-table-prettify, prettier, remark-lint, [rumdl]
Nix nixpkgs-fmt
package.json sort-package-json
Perl perlcritic, perltidy
PHP php-cs-fixer, phpstan
PNG oxipng
PowerShell psscriptanalyzer
Prisma prisma
Protobuf buf (breaking, lint, and format), clang-format, clang-tidy
Python autopep8, bandit, black, flake8, isort, mypy, nbstripout, pylint, pyright, semgrep, yapf, ruff, sourcery, ty
Rego regal, opa
Renovate renovate
Ruby brakeman, rubocop, rufo, semgrep, standardrb
Rust clippy, rustfmt
Scala scalafmt
Security checkov, dustilock, grype, nancy, osv-scanner, pinact, snyk, tfsec, trivy, trufflehog, terrascan, zizmor
SQL sqlfluff, sqlfmt, sql-formatter, squawk
SVG svgo
Swift stringslint, swiftlint, swiftformat
Terraform terraform (validate and fmt), checkov, tflint, tfsec, terrascan, tofu
Terragrunt terragrunt
Textproto txtpbfmt
Typescript deno, eslint, oxlint, prettier, rome, semgrep
TOML taplo, toml-tidy
Typescript deno, eslint, prettier, rome, semgrep
YAML prettier, semgrep, yamlfmt, yamllint

Supported Trunk Actions

You can think of Trunk Actions as IFTTT for your repository. An action is a command that is run in reaction to a specified trigger. Triggers can be git-hooks, file modifications, time-based, or manually run. See docs for more details.

Enable trunk actions via:

trunk actions enable {action}
action description
buf-gen run buf on .proto file change
commitizen enforce conventional commits and manage releases
commitlint enforce conventional commit message for your local commits
go-mod-tidy automatically tidy go.mod file
go-mod-tidy-vendor automatically tidy and vendor go.mod file
git-blame-ignore-revs automatically configure git to use .git-blame-ignore-revs
npm-check check whether NPM installation is up to date
terraform-docs generate documentation from Terraform modules
poetry-check, poetry-lock, poetry-export, poetry-install hooks to enforce poetry configuration
yarn-check check whether Yarn installation is up to date

Supported Tools

This repository also defines configuration for Trunk Tools, which provides hermetic management of different CLI tools. You can run trunk tools list to view all supported tools. Check out our docs.

Mission

Our goal is to make engineering faster, more efficient and dare we say - more fun. This repository will hopefully allow our community to share ideas on the best tools and best practices/workflows to make everyone's job of building code a little bit easier, a little bit faster, and maybe in the process - a little bit more fun. Read more about Trunk Check.

Additional Reference

Some linters provide built-in formatters or autofix options that don't always produce ideal outputs, especially in conjunction with other formatters. Trunk supports defining autofix options for these linters, but has their formatting turned off by default. An example of this is sqlfluff:

- name: sqlfluff
  files: [sql, sql-j2, dml, ddl]
  runtime: python
  package: sqlfluff
  direct_configs:
    - .sqlfluff
  commands:
    - name: lint
      run: sqlfluff lint ${target} --format json --dialect ansi --nofail
      output: sarif
      success_codes: [0]
      read_output_from: stdout
      parser:
        runtime: python
        run: ${plugin}/linters/sqlfluff/sqlfluff_to_sarif.py
    - name: fix
      run: sqlfluff fix ${target} --dialect ansi --disable-progress-bar --force
      output: rewrite
      formatter: true
      in_place: true
      success_codes: [0]
      enabled: false

The fix subcommand has enabled: false, so when you run trunk check enable sqlfluff, only the lint subcommand is enabled. To override this behavior, specify in your trunk.yaml:

lint:
  enabled:
    - sqlfluff@<version>:
        commands: [lint, fix]

About

Trunk.io plugins repo

docs.trunk.io

Topics

developer-toolsformatterslinterssecurity

Resources

Readme
MIT license

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

173 stars

Watchers

2 watching

Forks

68 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.