Skip to content

Share configuration and standards via the hidden .und folder

To keep a whole team on the same CodeCheck standards and custom scripts, commit a folder named .und into your source tree. Any Understand project whose source directories include that tree picks it up automatically — no per-project setup, and it works the same on every OS and branch.

Not the project database

This is a folder named .und placed inside your source, holding shared configuration. It is a different thing from the project database (a folder named <project>.und), which is generated, machine-specific, and should not be committed — see Manage the .und database. This page is only about the shared config folder.

What Understand looks for

Whenever Understand needs configurations or plugins (running CodeCheck, listing plugins, analyzing), it scans the project's configured source directories for a subdirectory named .und. In the first one it finds, it reads:

Path inside .und/ What it provides
codecheck/configs/*.json Shared CodeCheck configurations (your team's rule sets and options).
plugin/**/*.upy Custom plugin scripts, discovered recursively — CodeCheck checks, architecture, graph, metric, and report scripts written in Understand Python (.upy). Only .upy scripts are discovered here; legacy Perl (.upl) plugins are not.

A typical layout:

.und/
├── codecheck/
│   └── configs/
│       └── config.json          # shared CodeCheck config
└── plugin/
    ├── Arch/
    │   └── und-deps.upy         # architecture / dependency script
    └── CodeCheck/
        ├── names.upy            # custom checks
        └── style.upy

Set it up

  1. Create a folder named .und at (or inside) the root of your source directory.
  2. Add codecheck/configs/*.json for shared configs and plugin/…/*.upy for custom scripts, using the layout above.
  3. Commit the .und folder to version control alongside your source. It contains only text (JSON config and .upy scripts), so it's safe to check in and diff.
  4. Teammates just open or create an Understand project on that source tree — Understand detects .und and loads its configs and scripts automatically. Shared configs appear alongside the built-in ones in CodeCheck; enable the one you want to run. Nothing else to configure.

It's hidden on macOS and Linux

The leading dot hides the folder in Finder and ls by default. It's optional: if no .und folder is present, Understand behaves normally, and individual projects can still add or override settings locally.