# Scripts Directory

This directory contains Python and shell tooling used by the CDT repository. Where possible, we keep these scripts aligned with the newer versions in the `delaunay` repo so both projects can eventually share a single PyPI package (runnable via `uvx`).

## Prerequisites

- Python 3.11+
- `uv`
- Node.js (for `npx` in changelog tooling)

Install dev dependencies:

```bash
uv sync --group dev
```

## CLI entrypoints (recommended)

These are exposed via `pyproject.toml` so you can run them with `uv run ...`. All commands support `--help`.

### Changelog utilities

```bash
uv run changelog-utils
uv run changelog-utils generate --debug
uv run changelog-utils tag v0.1.0
```

### Benchmark utilities

`benchmark-utils` is a shared baseline/compare tool (ported from `delaunay`). It’s safe to use in CDT, but some subcommands assume baseline formats and benchmark layouts that are still being unified across repos.

```bash
uv run benchmark-utils generate-baseline
uv run benchmark-utils compare --baseline baseline-artifact/baseline_results.txt
```

### Hardware utilities

```bash
uv run hardware-utils info
uv run hardware-utils kv
uv run hardware-utils info --json
```

### CDT-specific helpers

```bash
uv run performance-analysis --help
uv run coverage-report --help

# Backwards-compatible alias
uv run coverage_report --help
```

## Shell helpers

```bash
./scripts/run_all_examples.sh
```

## Linting and tests

```bash
uv run ruff check scripts/ --fix
uv run ruff format scripts/

uv run pytest
```
