diff --git a/.trunk/.gitignore b/.trunk/.gitignore new file mode 100644 index 0000000..15966d0 --- /dev/null +++ b/.trunk/.gitignore @@ -0,0 +1,9 @@ +*out +*logs +*actions +*notifications +*tools +plugins +user_trunk.yaml +user.yaml +tmp diff --git a/.trunk/configs/.flake8 b/.trunk/configs/.flake8 new file mode 100644 index 0000000..d84bb77 --- /dev/null +++ b/.trunk/configs/.flake8 @@ -0,0 +1,10 @@ +# Autoformatter friendly flake8 config (all formatting rules disabled) +[flake8] +extend-ignore = D1, D2, E1, E2, E3, E501, W1, W2, W3, W5 +exclude = + .history + .vscode + .git + .venv + __pycache__ + diff --git a/.trunk/configs/.isort.cfg b/.trunk/configs/.isort.cfg new file mode 100644 index 0000000..b9fb3f3 --- /dev/null +++ b/.trunk/configs/.isort.cfg @@ -0,0 +1,2 @@ +[settings] +profile=black diff --git a/.trunk/configs/.markdownlint.yaml b/.trunk/configs/.markdownlint.yaml new file mode 100644 index 0000000..fb94039 --- /dev/null +++ b/.trunk/configs/.markdownlint.yaml @@ -0,0 +1,10 @@ +# Autoformatter friendly markdownlint config (all formatting rules disabled) +default: true +blank_lines: false +bullet: false +html: false +indentation: false +line_length: false +spaces: false +url: false +whitespace: false diff --git a/.trunk/configs/.sqlfluff b/.trunk/configs/.sqlfluff new file mode 100644 index 0000000..5d2192c --- /dev/null +++ b/.trunk/configs/.sqlfluff @@ -0,0 +1,2 @@ +[sqlfluff] +dialect = ansi diff --git a/.trunk/configs/.yamllint.yaml b/.trunk/configs/.yamllint.yaml new file mode 100644 index 0000000..4d44466 --- /dev/null +++ b/.trunk/configs/.yamllint.yaml @@ -0,0 +1,10 @@ +rules: + quoted-strings: + required: only-when-needed + extra-allowed: ["{|}"] + empty-values: + forbid-in-block-mappings: true + forbid-in-flow-mappings: true + key-duplicates: {} + octal-values: + forbid-implicit-octal: true diff --git a/.trunk/configs/ruff.toml b/.trunk/configs/ruff.toml new file mode 100644 index 0000000..bd7929d --- /dev/null +++ b/.trunk/configs/ruff.toml @@ -0,0 +1,30 @@ +# Generic, formatter-friendly config. +select = ["B", "D3", "D4", "E", "F"] + +# Never enforce `E501` (line length violations). This should be handled by formatters. +ignore = ["E501","F401"] +exclude = [ + ".trunk", + ".git", + ".github", + "build", + "dist", + "docs", + "examples", + "tests", + ".history", + ".vscode", + "venv", + ".venv", + "__pycache__", +] +line-length = 88 +indent-width = 4 +target-version = "py312" +[lint] +# 1. Enable flake8-bugbear (`B`) rules, in addition to the defaults. +select = ["E4", "E7", "E9", "F", "B"] +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" +[lint.per-file-ignores] +"__init__.py" = ["E402"] +"**/{tests,docs,tools}/*" = ["E402"] diff --git a/.trunk/configs/svgo.config.js b/.trunk/configs/svgo.config.js new file mode 100644 index 0000000..b257d13 --- /dev/null +++ b/.trunk/configs/svgo.config.js @@ -0,0 +1,14 @@ +module.exports = { + plugins: [ + { + name: "preset-default", + params: { + overrides: { + removeViewBox: false, // https://github.com/svg/svgo/issues/1128 + sortAttrs: true, + removeOffCanvasPaths: true, + }, + }, + }, + ], +}; diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml new file mode 100644 index 0000000..c94f41c --- /dev/null +++ b/.trunk/trunk.yaml @@ -0,0 +1,59 @@ +# This file controls the behavior of Trunk: https://docs.trunk.io/cli +# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml +version: 0.1 +cli: + version: 1.22.2 +plugins: + sources: + - id: trunk + ref: v1.6.0 + uri: https://github.com/trunk-io/plugins +runtimes: + enabled: + - node@18.12.1 + - python@3.10.8 +lint: + disabled: + - flake8 + - taplo + - pylint + - mypy + - git-diff-check + - checkov + - oxipng + - prettier + - trivy + - trufflehog + - black + - isort + enabled: + - svgo@3.3.2 + - osv-scanner@1.8.1 + - sql-formatter@15.3.2 + - sqlfluff@3.0.7 + - ruff@0.4.10 + - bandit@1.7.9 + - markdownlint@0.41.0 + - yamllint@1.35.1 +actions: + disabled: + - trunk-fmt-pre-commit + - trunk-announce + - trunk-check-pre-push + - trunk-upgrade-available +#ignore the following folders +# .history +# .vscode +# .idea +# .git +# .github +# .trunk# .vscode +# node_modules +# .DS_Store +# .pytest_cache +# .mypy_cache +# build +# dist +# __pycache__ +# .venv +# .ipynb_checkpoints