{ "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/refs/heads/main/cspell.schema.json", "name": "authentik-cspell", "description": "authentik's monorepo spell checker configuration", "version": "0.2", "readonly": true, "language": "en-US", "cache": { "useCache": true, "cacheLocation": "./.cspellcache", "cacheStrategy": "content" }, "reporters": [ "default", [ "@cspell/cspell-json-reporter", { "outFile": "./cspell-report.json" } ] ], "dictionaryDefinitions": [ { "name": "en-x-authentik-software-terms", "path": "./locale/en/dictionaries/software-terms.txt", "description": "English software-related terms", "addWords": true }, { "name": "en-x-authentik-idp", "path": "./locale/en/dictionaries/idp.txt", "description": "English IdP words", "addWords": true }, { "name": "en-x-authentik-python", "path": "./locale/en/dictionaries/python.txt", "addWords": true }, { "name": "en-x-authentik-rust", "path": "./locale/en/dictionaries/rust.txt", "addWords": true }, { "name": "en-x-authentik-golang", "path": "./locale/en/dictionaries/golang.txt", "addWords": true }, { "name": "en-x-authentik-people", "path": "./locale/en/dictionaries/people.txt", "description": "People names relevant to authentik", "addWords": true }, { "name": "en-x-authentik-integrations", "path": "./locale/en/dictionaries/integrations.txt", "description": "English integration names", "addWords": true }, { "name": "en-x-authentik-ignore", "path": "./locale/en/dictionaries/ignore.txt", "description": "English ignore list for authentik", "addWords": true, "noSuggest": true } ], "dictionaries": [ "en-x-authentik-software-terms", "en-x-authentik-idp", "en-x-authentik-ignore", "en-x-authentik-people", "en-x-authentik-integrations", "node", "softwareTerms", "software-tools", "computing-acronyms", "companies", "cpp-compound-words" ], "allowCompoundWords": true, "patterns": [ { "name": "EncodedURI", "description": "Encoded URIs, which are common in authentik's codebase and often contain many false positives.", "pattern": "[a-zA-Z]+%3A%2F%2F.+" }, { "name": "ConfSuffix", "description": "Variables with `conf` or `config` suffix", "pattern": ["\\w+(conf|config)\\b", "\\b(conf|config)\\w+"] } ], "ignoreRegExpList": [ // DB Migrations "authentik_c_\\w+_[0-9a-fA-F]+_idx", // Google Analytics "/G-[0-9A-Z]+/", // Github Usernames "@[a-zA-Z0-9_-]+", // GitHub repositories "github\\.com/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+", // Docker images "docker\\.io/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+", // Suffix "change", which is common in migration files "\\w+change\\b", // Prefix "on", which is common in event handlers "\\bon\\w+\\b", // Prefix "pg", which is common in PostgreSQL-related code "\\bpg\\w+\\b", // Prefix "pf", which is common in PatternFly-related code "\\bpf\\w+\\b", // Prefix "ws", which is common in WebSocket-related code "\\bws\\w+\\b", // Suffix "propertymapping" "\\w+propertymapping\\b", // Words that end with "source", "provider", "user", "group", or "connection", // which are common in authentik's codebase and often contain many false positives. "\\w+(source|provider)(user|group|connection)\\b", "\\w+(source|provider)(user|group|connection)", // Basic auth header "Basic [a-zA-Z0-9+/=]+", // "ify" suffix, e.g. "stringify", "classify". "\\w+l?ify\\b", // "ified" suffix, e.g. "stringified", "classified". "\\w+l?ified\\b", // "ifying" suffix, e.g. "stringifying", "classifying". "\\w+l?ifying\\b", "SpellCheckerIgnoreInDocSetting", "EncodedURI", "Urls", "href", "Base64", "PublicKey", "RsaCert", "SshRsa", "UnicodeRef", "Email", "HashStrings" ], "languageSettings": [ { "languageId": "markdown,mdx", "dictionaries": [ "en-x-authentik-python", "en-x-authentik-rust", "en-x-authentik-golang" ], "ignoreRegExpList": [ // Fenced code blocks "/^\\s*```[\\s\\S]*?^\\s*```/gm", // Markdown inline codeblocks "`[^`\\s]+`", "`\\w+[^`]*?\\w+`" ] }, { "languageId": "typescript,javascript,typescriptreact,javascriptreact,mdx,astro", "ignoreRegExpList": [ // Event handlers e.g. onClick, onmouseover "\\bon\\w+\\b", // Custom web component tags e.g. , "