inkdex docs

Configuration

The .inkdex/config.toml file: languages, ignores, limits, library mode.

This page is about the index's configuration. inkdex-vuln's own file, .inkdex-vuln.toml (the CI threshold, excluded paths, ignored findings), is described in Ignoring findings.

inkdex init creates .inkdex/config.toml in the repository. Its defaults suit most projects:

langs = ["python", "typescript", "javascript", "rust", "go", "elixir", "java"]
ignores = []
default_ignores = ["node_modules/", "__pycache__/", "dist/", "build/", "vendor/"]
use_gitignore = true
follow_symlinks = false
max_file_size = 5242880
jobs = 0

[resolve]
declared_return_types = true
unique_name_fallback = false

[sec]
library = false
KeyMeaning
langsLanguages to parse. Other files are listed but not parsed. inkdex init --langs py,ts sets it.
ignoresExtra patterns to skip, in .gitignore syntax.
default_ignoresDirectories skipped by default. .git/ and .inkdex/ are always skipped.
use_gitignoreHonour .gitignore files. Files tracked by git are indexed even when a .gitignore lists them. A .inkdexignore file always applies.
follow_symlinksFollow symbolic links instead of skipping them.
max_file_sizeFiles larger than this (in bytes) are skipped. inkdex index --max-file-size 10M overrides it once.
jobsThreads used to read files; 0 uses every core. inkdex index --jobs N overrides it once.
resolve.declared_return_typesType a call's result by the function's declared return type (-> Foo). Turning it off resolves fewer calls.
resolve.unique_name_fallbackResolve a call nothing else resolves to the only function of that name in the repository. More calls resolved, some wrongly.
sec.libraryThe repository is a library: the arguments of its exported functions are input. Same as scan --library.

Ignoring files

Put patterns in .inkdexignore at the repository root (same syntax as .gitignore) to skip files for inkdex only:

docs/
**/*.min.js
legacy/

Where things are

PathWhat
.inkdex/ (in the repository)The index: a SQLite database, the compressed contents it read, config.toml. Safe to delete: inkdex init then inkdex index rebuild it (init writes a default config.toml again).
~/.config/inkdex/license.jsonYour license key and license, readable by you only. INKDEX_HOME moves it.

On this page