Command line¶
Generated from the commands themselves, so this page cannot describe a flag the tool does not have.
complydoc assist¶
Draft quick wins from a finished report with a hosted chat model.
Sends the report to model. Everything else complydoc computes stays
on this machine; --classifier jev is the only other command that leaves
it, and only with the passages it judges. This one sends the report's
findings, signals, loaders, costs and limitations, including masked
identifiers and document paths. The page pictures and the text read off
each page are held back. It never runs as part of audit or check; run
it on its own, against a report one of those already wrote.
| Option | Default | What it does |
|---|---|---|
--report |
— | A report JSON already written by an audit. |
--model |
gpt-5.6-luna |
Chat model id, passed to langchain's init_chat_model. |
--quiet, -q |
off | Suppress progress output. |
complydoc audit¶
Run every check: cost, readiness, identifiers and hidden content.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc |
Base filename for the reports. |
--monthly-volume |
— | Documents per month, to extrapolate cost. |
--vision-resolution |
medium |
Headline vision resolution preset. |
--reveal |
off | Print sensitive values in full. Off by default, and the report says so. |
--model, -m |
— | Model id to price, repeatable. Defaults to every priced model. See: complydoc models. |
--page-images, --no-page-images |
off | Embed a picture of each page beside what was extracted from it. Off by default: a picture shows every value on the page, so a report built with it carries the identifiers the rest of the report masks. |
--extracted-text, --no-extracted-text |
on | Include the text read off each page, with its identifiers masked, so it can be read beside the page it came from. On by default; --no-extracted-text leaves the report carrying no document content. |
--ocr-compare |
off | Also OCR pages that already have a text layer, so the text layer and what OCR reads can be compared. Implies --extracted-text. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--compare-ocr-engine |
— | Also read every rasterised page with this engine and keep what it read, repeatable. It never changes a finding. |
--compare-extractor |
— | Also read every page with this one and report where the two disagree, repeatable. It never changes a finding. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--detail |
summary |
How much the JSON report carries. summary, the default, keeps every finding and score and the folder's cost on each model, and leaves out the price of every document on every model and the page geometry the HTML draws with. full writes every field; use it for anything that reprocesses reports. |
--quiet, -q |
off | Suppress progress output. |
--classifier |
— | Score passages for hidden instructions with a classifier as well as the patterns. 'jev' is TypeSafe's hosted model and SENDS THE PASSAGES IT JUDGES to api.typesafe.ai; 'module:function' is code of your own. The report names where anything was sent. Nothing is registered by default. |
--classifier-threshold |
— | Score at or above which a passage is reported, 0 to 1. Defaults to the value in hidden.yaml, except for 'jev', which uses the 0.5 measured for it. |
--verify |
— | Read pages again with a vision model of your own, 'vision:module:function', and report where it disagrees with the text kept. Your code makes the call with your key, and SENDS EACH PAGE IMAGE to wherever it calls; the report names the hosts. Nothing is verified by default. |
--verify-scope |
flagged |
Which pages --verify reads: 'flagged' (routing sent them to vision, they had no usable reading, or two readers disagreed) or 'all' (every page). |
complydoc benchmark¶
Measure what identifier detection finds and what it wrongly flags.
| Option | Default | What it does |
|---|---|---|
--config-dir |
— | Override the config directory. |
--json |
— | Write the scores as JSON to this path. |
--verbose |
off | List every miss and every wrongly flagged value. |
complydoc check¶
Check documents against a policy file, and exit non-zero when they fail it.
Each rule is one of the checks cd.expect offers, named in YAML. Every rule
runs, so one run lists everything that failed rather than the first thing.
Exits 1 when a rule of level error fails, 2 when the policy or the path
cannot be read.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. Omit it when passing --report. |
| Option | Default | What it does |
|---|---|---|
--policy |
— | A YAML file of rules the documents must meet. |
--report |
— | Check a report JSON already written, instead of auditing. |
--markdown |
— | Write the result as Markdown, for a pull request. |
--sarif |
— | Write the result as SARIF, for code scanning. |
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-check |
Base filename for the reports. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--quiet, -q |
off | Suppress progress output. |
--classifier |
— | Score passages for hidden instructions with a classifier as well as the patterns. 'jev' is TypeSafe's hosted model and SENDS THE PASSAGES IT JUDGES to api.typesafe.ai; 'module:function' is code of your own. The report names where anything was sent. Nothing is registered by default. |
--classifier-threshold |
— | Score at or above which a passage is reported, 0 to 1. Defaults to the value in hidden.yaml, except for 'jev', which uses the 0.5 measured for it. |
complydoc chunks¶
Split a folder's text with one or more splitters and inspect the chunks.
Each page's text is read as extract_text reads it and passed to the splitter
as documents with source and page metadata. Every chunk is scanned for
identifiers and hidden passages and flagged when it is tiny, oversized, cut
mid-sentence or mid-table, ends on a heading or repeats another chunk. With
--questions, each question reports whether the chunk holding its answer ranks
within --top-k. The reports hold masked previews only.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--splitter, -s |
— | A text splitter as module:attribute, followed by key=value arguments, e.g. 'langchain_text_splitters:RecursiveCharacterTextSplitter chunk_size=800'. A class is created with the arguments; a function is called with the documents. Repeat to compare several. |
--fact |
— | Text a chunk should contain whole, repeatable. |
--questions |
— | A YAML list of questions, each with question, fact and optionally document. Chunks are ranked for each question with BM25 keyword search. |
--top-k |
5 |
How many top-ranked chunks count as retrieved. |
--model, -m |
— | Model whose tokenizer counts tokens. |
--min-tokens |
20 |
Flag chunks with fewer tokens as tiny. |
--max-tokens |
— | Flag chunks with more tokens as oversized. |
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-chunks |
Base filename for the reports. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--quiet, -q |
off | Suppress progress output. |
complydoc clean¶
Copy documents with their identifiers masked and their metadata removed.
| Argument | What it is |
|---|---|
target |
A file or folder to copy safely. |
| Option | Default | What it does |
|---|---|---|
--out |
— | Where the copies are written. |
--rasterise |
off | PDFs only: render each page to an image, so no text layer survives. |
--show |
off | List what each copy changed, and where it was. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--config-dir |
— | Override the config directory. |
--quiet, -q |
off | Suppress progress output. |
complydoc compare¶
Read every page with every reader and every OCR engine installed.
The same audit, with each library's reading of each page kept beside the others. Only the first still reaches a finding; the rest are there to be compared against it, and the report marks the pages where they parted company.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-compare |
Base filename for the reports. |
--page-images, --no-page-images |
off | Embed a picture of each page beside what was extracted from it. Off by default: a picture shows every value on the page, so a report built with it carries the identifiers the rest of the report masks. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
complydoc compare-loaders¶
Run several document loaders on the same documents and report their differences.
The file names each loader as module:attribute or a parser preset, the
documents, and optionally the facts each loader's text should contain. The
first loader is the baseline. Loaders run with network access blocked unless
the file sets allow_network: true. See the Comparing loaders guide for the
format.
--verify vision:module:function reads the baseline's pages again with a
vision model of your own, and puts its reading beside every loader's.
| Argument | What it is |
|---|---|
spec |
A YAML file naming the loaders, the documents and the expected facts. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-loaders |
Base filename for the reports. |
--config-dir |
— | Override the config directory. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
--verify |
— | Read pages again with a vision model of your own, 'vision:module:function', and report where it disagrees with the text kept. Your code makes the call with your key, and SENDS EACH PAGE IMAGE to wherever it calls; the report names the hosts. Nothing is verified by default. |
--verify-scope |
flagged |
Which pages --verify reads: 'flagged' (routing sent them to vision, they had no usable reading, or two readers disagreed) or 'all' (every page). |
complydoc compare-readers¶
Read every page with every reader and every OCR engine installed.
The same audit, with each library's reading of each page kept beside the others. Only the first still reaches a finding; the rest are there to be compared against it, and the report marks the pages where they parted company.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-compare |
Base filename for the reports. |
--page-images, --no-page-images |
off | Embed a picture of each page beside what was extracted from it. Off by default: a picture shows every value on the page, so a report built with it carries the identifiers the rest of the report masks. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
complydoc cost¶
Estimate LLM processing cost only.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-cost |
Base filename for the reports. |
--monthly-volume |
— | Documents per month, to extrapolate cost. |
--vision-resolution |
medium |
Headline vision resolution preset. |
--model, -m |
— | Model id to price, repeatable. Defaults to every priced model. See: complydoc models. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--compare-ocr-engine |
— | Also read every rasterised page with this engine and keep what it read, repeatable. It never changes a finding. |
--compare-extractor |
— | Also read every page with this one and report where the two disagree, repeatable. It never changes a finding. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--detail |
summary |
How much the JSON report carries. summary, the default, keeps every finding and score and the folder's cost on each model, and leaves out the price of every document on every model and the page geometry the HTML draws with. full writes every field; use it for anything that reprocesses reports. |
--quiet, -q |
off | Suppress progress output. |
complydoc demo¶
Audit the sample documents, so you can see a report without finding a folder.
The samples ship with the tool and are synthetic: every identifier in them was invented. Between them they carry a scan with no text layer, a two-column page the readers disagree about, a whitespace table, and identifiers of several kinds — the problems this exists to find.
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--open, --no-open |
on | Open the report when it is written. |
complydoc diff¶
Compare two report JSON files and list what got worse and what got better.
Documents are matched by relative path. A regression is an identifier, metadata finding or hidden passage that appeared, a score or text similarity that fell, a fact a loader no longer finds, a new network attempt or failed file, or a new important limitation. Exits 1 when there is a regression, 2 when a file cannot be read.
| Argument | What it is |
|---|---|
old |
The earlier report JSON, such as a baseline. |
new |
The later report JSON. |
| Option | Default | What it does |
|---|---|---|
--tolerance |
0.5 |
Ignore score changes smaller than this many points. |
--fail-on-regression, --no-fail-on-regression |
on | Exit with status 1 when anything got worse. On by default, for CI. |
--out, -o |
— | Also write the changes as JSON and HTML here. |
--name |
complydoc-diff |
Base filename for the reports. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
complydoc doctor¶
Report what is installed, what is not, and what that costs you.
| Option | Default | What it does |
|---|---|---|
--config-dir |
— | Override the config directory. |
complydoc engines¶
List the local OCR engines.
complydoc extractors¶
List the libraries that can read a PDF's text layer, and what each provides.
complydoc models¶
List the models available to price against, and where each price came from.
The default comparison uses prices verified against the provider's own page. Several hundred more from the vendored table can be named with --model.
| Argument | What it is |
|---|---|
match |
Show only models whose id contains this. |
| Option | Default | What it does |
|---|---|---|
--provider |
— | Show only one provider's models. |
--all |
off | Include every model in the vendored price table. |
--new |
— | Show the N most recently released models instead. |
--config-dir |
— | Override the config directory. |
complydoc pricing-import¶
Print pricing.yaml entries generated from litellm's price table.
complydoc will not invent a price, so the shipped config leaves non-Anthropic models as empty templates. This fills them in from a maintained source and stamps each with the date you ran the import.
litellm is not a runtime dependency and is never imported during an audit — only its data file is read, and only when you run this.
| Option | Default | What it does |
|---|---|---|
--from |
— | Path to litellm's model_prices_and_context_window JSON. |
--model, -m |
— | Model id to import, repeatable. |
--provider |
— | Import every vision model from one provider. |
--limit |
20 |
Cap how many are printed. |
complydoc readiness¶
Measure extraction readiness signals only.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-readiness |
Base filename for the reports. |
--extracted-text, --no-extracted-text |
on | Include the text read off each page, with its identifiers masked, so it can be read beside the page it came from. On by default; --no-extracted-text leaves the report carrying no document content. |
--ocr-compare |
off | Also OCR pages that already have a text layer, so the text layer and what OCR reads can be compared. Implies --extracted-text. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--compare-ocr-engine |
— | Also read every rasterised page with this engine and keep what it read, repeatable. It never changes a finding. |
--compare-extractor |
— | Also read every page with this one and report where the two disagree, repeatable. It never changes a finding. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
complydoc routing¶
Plan how each page should be read: its text layer, local OCR, or a vision model.
Writes a manifest an ingestion job can read, with a route and a reason for
every page, and prices that mix against sending everything one way. Pages go
to a vision model when plain text would lose them: a table with merged or
stacked headers, a page that is mostly picture, a scan too coarse for OCR, or
one OCR read poorly. The thresholds are in readiness.yaml under routing.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-routing |
Base filename for the reports. |
--model, -m |
— | Model id to price, repeatable. Defaults to every priced model. See: complydoc models. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
complydoc schema¶
Print the JSON schema of the report, for a caller that needs to parse it.
complydoc sensitive¶
Scan for personal and financial identifiers only.
| Argument | What it is |
|---|---|
target |
A file or folder to audit. |
| Option | Default | What it does |
|---|---|---|
--out, -o |
.complydoc |
Directory for the reports. |
--name |
complydoc-sensitive |
Base filename for the reports. |
--reveal |
off | Print sensitive values in full. Off by default, and the report says so. |
--page-images, --no-page-images |
off | Embed a picture of each page beside what was extracted from it. Off by default: a picture shows every value on the page, so a report built with it carries the identifiers the rest of the report masks. |
--extracted-text, --no-extracted-text |
on | Include the text read off each page, with its identifiers masked, so it can be read beside the page it came from. On by default; --no-extracted-text leaves the report carrying no document content. |
--password |
— | Password to try on encrypted PDFs. Passed on the command line, so it will be in your shell history. |
--jobs, -j |
— | Documents to process at once. The default reads the size of the folder and decides; 1 forces one process. Changes how long the run takes and nothing about what it finds. |
--sample |
— | Audit at most this many documents, keeping each file type's share of the folder. The report says it is a sample. |
--timeout |
— | Seconds to give each document. A document still being read when the time passes is stopped and listed as skipped. 0 means no limit. Reading happens in a worker process when this is set, even with --jobs 1. |
--config-dir |
— | Override the config directory. |
--ocr, --no-ocr |
on | Read scanned pages with local OCR. On by default, so a scanned page is still readable; --no-ocr is faster. |
--recurse, --no-recurse |
on | Descend into subfolders. |
--extractor |
— | Which library reads the text layer. Defaults to pdfplumber, the richest; pdfium is far quicker and reads no table structure. See: complydoc extractors. |
--ocr-engine |
— | Which local OCR engine to read scans with. |
--compare-ocr-engine |
— | Also read every rasterised page with this engine and keep what it read, repeatable. It never changes a finding. |
--compare-extractor |
— | Also read every page with this one and report where the two disagree, repeatable. It never changes a finding. |
--save-text |
— | Also write the text read off each document into this folder, one file per document, with identifiers masked unless --reveal is set. Reading a scanned folder is the slow part; this keeps the result so nothing has to OCR it again. |
--print-json |
off | Write the JSON report to stdout and nothing else, for piping into another tool or an agent. Progress goes to stderr. |
--quiet, -q |
off | Suppress progress output. |
--classifier |
— | Score passages for hidden instructions with a classifier as well as the patterns. 'jev' is TypeSafe's hosted model and SENDS THE PASSAGES IT JUDGES to api.typesafe.ai; 'module:function' is code of your own. The report names where anything was sent. Nothing is registered by default. |
--classifier-threshold |
— | Score at or above which a passage is reported, 0 to 1. Defaults to the value in hidden.yaml, except for 'jev', which uses the 0.5 measured for it. |
complydoc skill¶
Print the agent skill, or install it so an agent picks complydoc up on its own.
| Option | Default | What it does |
|---|---|---|
--install |
off | Copy the skill into ~/.claude/skills/complydoc. |
--to |
— | Install somewhere other than ~/.claude/skills. |