-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.codacy.yml
More file actions
84 lines (82 loc) · 2.51 KB
/
Copy path.codacy.yml
File metadata and controls
84 lines (82 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
# Codacy configuration for curated PR quality feedback.
#
# Enable or disable Codacy tools in the Codacy Code Patterns UI; this file
# records path and tool configuration only.
#
# Recommended enabled tools:
# - opengrep: repository-owned Rust Semgrep rules from semgrep.yaml
# - ruff: Python utility linting for production scripts, excluding tests
# - bandit: Python security linting for production scripts, excluding tests
# - markdownlint: Codacy Markdown review, with MD013 set to 160 columns in the
# Codacy Code Patterns UI
# - shellcheck: shell-script linting
#
# Recommended disabled tools:
# - prospector, pylintpython3: redundant with Ruff and ty type checking
# - trivy: dependency vulnerability scanning is handled by cargo-audit and
# Dependabot unless this repository adds containers or IaC
# - jacksonlinter, spectral: not relevant to the current project surface
# - lizard and any duplicate-code metric, if exposed by the Codacy UI: useful
# for occasional baseline exploration, but too broad and noisy for PR quality
# gates on this invariant-heavy Rust crate
engines:
bandit:
include_paths:
- "scripts/**/*.py"
duplication:
exclude_paths:
- "docs/archive/**"
- "target/**"
- "node_modules/**"
- ".git/**"
config:
languages:
- "rust"
- "python"
minTokenMatch: 80
skipLexicalErrors: true
ignoreLiterals: true
ignoreIdentifiers: false
ignoreAnnotations: true
ignoreUsings: true
lizard:
include_paths:
- "src/**/*.rs"
- "scripts/**/*.py"
exclude_paths:
- "scripts/tests/**"
- "target/**"
- "node_modules/**"
- ".git/**"
markdownlint:
include_paths:
- "**/*.md"
exclude_paths:
# Release checklists use stable absolute step numbers across fenced
# command blocks; local rumdl intentionally disables MD029 for this.
- "docs/RELEASING.md"
- "docs/archive/**"
- "target/**"
- "node_modules/**"
- ".git/**"
opengrep:
include_paths:
- "src/**/*.rs"
ruff:
include_paths:
- "scripts/**/*.py"
shellcheck:
include_paths:
- "scripts/**/*.sh"
exclude_paths:
- "target/**"
- "node_modules/**"
- ".git/**"
# uv-generated artifact URLs and hashes can exceed the handwritten-source
# line-length budget; lockfile consistency is checked by uv instead.
- "uv.lock"
- "docs/archive/**"
- "scripts/tests/**"
# Semgrep fixtures intentionally contain bad examples for rule tests.
- "tests/semgrep/**"