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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Linthis Default Configuration
# This file contains built-in defaults that are applied when no user/project config exists.
# Maximum cyclomatic complexity threshold
= 20
# Default exclusion patterns
= [
".git/**",
".hg/**",
".svn/**",
"node_modules/**",
"target/**",
"vendor/**",
"build/**",
"dist/**",
"__pycache__/**",
"*.pyc",
"*.pyo",
".venv/**",
"venv/**",
".idea/**",
".vscode/**",
"*.min.js",
"*.min.css",
"**/Pods/**",
]
# Output settings
[]
= "human" # human, json, github-actions
= "auto" # auto, always, never
# Parallel processing
[]
= true
= 0 # 0 = auto-detect CPU count
# Python settings (uses ruff for both linting and formatting)
[]
# Ruff is used for both linting and formatting (10-100x faster than flake8+black)
= "ruff"
= "ruff"
= 120
= "py38"
# Rust settings
[]
= "clippy"
= "rustfmt"
# TypeScript/JavaScript settings
[]
= "eslint"
= "prettier"
# Go settings
[]
= "go vet"
= "gofmt"
# C/C++ settings
[]
# Linter: "clang-tidy" (preferred, more powerful) or "cpplint" (fallback)
= "clang-tidy"
# Formatter: clang-format for code style, clang-tidy --fix for lint fixes
= "clang-format"
# Style for clang-format (google, llvm, chromium, mozilla, webkit)
= "google"
# Enable clang-tidy --fix during format phase (fixes C-style casts, nullptr, etc.)
= true
# Enable cpplint fixer during format phase (fixes header guards, TODOs, etc.)
= true
# Directory containing compile_commands.json (optional, auto-detected if not set)
# Auto-detection searches up to 6 levels: cmake*/, build*/, out*/, *_build/, *-build/
# and platform dirs: android/, ios/, arm*/, x86*/, debug/, release/, static/, shared/
# compile_commands_dir = "cmake_build/debug/Android/static/arm64-v8a"
# Cpplint line length (default: 80, common values: 100, 120)
= 120
# Cpplint filter rules (comma-separated, -category to disable, +category to enable)
# cpplint_filter = "-build/c++11,-build/c++14"
# Cpplint fixer settings
[]
# Header guard mode: "fix_name" (default) or "pragma_once"
= "fix_name"
# Username for TODO comments (default: git user.name or $USER)
# todo_username = "your_username"
# Copyright template (optional, with {year} placeholder)
# copyright_template = "// Copyright {year} Your Company. All rights reserved."
# Header guard prefix (optional)
# header_guard_prefix = "MYPROJECT_"
# Objective-C settings (different from C++)
[]
# Cpplint line length for OC
= 120
# Cpplint filter rules - disable checks not applicable to Objective-C
= "-build/c++11,-build/c++14,-build/header_guard,-build/include,-legal/copyright,-readability/casting,-runtime/references,-runtime/int,-whitespace/braces,-whitespace/blank_line,-readability/braces,-whitespace/empty_if_body"
# Hook fix mode settings
# Controls how auto-format and agent fix changes are applied during hooks.
# Modes:
# "squash" — merge fixes into the current commit (pre-commit default)
# "dirty" — leave fixes in working tree and block (pre-push default)
# "fixup" — create a separate fixup commit for fixes
[]
= "squash"
[]
= "dirty"
# Plugin settings
[]
# Auto-sync settings (inspired by oh-my-zsh auto-update)
[]
= true # Enable automatic plugin synchronization
= "prompt" # Sync mode: "auto" (automatic), "prompt" (ask before sync), "disabled"
= 7 # Check for updates every N days