Skip to content
mager-bench1.3

GPT-5.6 Sol × readme-writer

9.7

Pure documentation ability — no code at all

correctness 10.0quality 9.0documentation 10.012681ms
$ cat readme-writer.prompt — what the model was asked
Write a README.md for a command-line tool called `snapdiff` that compares two directories and reports added, removed, and changed files. The tool is written in Python, installable via pip. Include: a one-line description, installation instructions, usage examples with flags (--ignore-hidden, --output json|text, --depth N), output format explanation, and a short 'How it works' section. Use proper Markdown formatting.

run 1 of 1

9.7
correctness 10.0quality 9.0documentation 10.012681ms

# judge: The README fully covers every required section and flag with clear examples, accurate output semantics, concise explanations, and polished Markdown structure.

$ cat codex-cli/gpt-5.6-sol.readme-writer.r1.response
# snapdiff

`snapdiff` is a Python command-line tool that compares two directories and reports added, removed, and changed files.

## Installation

Install from PyPI using pip:

```bash
python -m pip install snapdiff
```

Verify the installation:

```bash
snapdiff --help
```

## Usage

Compare two directories:

```bash
snapdiff PATH_A PATH_B
```

### Examples

Compare two directory snapshots using text output:

```bash
snapdiff ./before ./after
```

Ignore hidden files and directories:

```bash
snapdiff ./before ./after --ignore-hidden
```

Produce machine-readable JSON:

```bash
snapdiff ./before ./after --output json
```

Limit comparison to two directory levels:

```bash
snapdiff ./before ./after --depth 2
```

Combine options:

```bash
snapdiff ./before ./after --ignore-hidden --output json --depth 3
```

### Options

- `--ignore-hidden`: Exclude hidden files and directories, such as `.git` and `.env`.
- `--output json|text`: Select the output format. The default is `text`.
- `--depth N`: Limit recursive traversal to `N` directory levels.

## Output Formats

### Text

Text output groups relative file paths by status:

```text
Added:
  assets/logo.svg

Removed:
  docs/old-guide.md

Changed:
  README.md
  src/config.py
```

- **Added** files exist only in the second directory.
- **Removed** files exist only in the first directory.
- **Changed** files exist in both directories but have different contents.

### JSON

JSON output contains arrays of relative file paths:

```json
{
  "added": ["assets/logo.svg"],
  "removed": ["docs/old-guide.md"],
  "changed": ["README.md", "src/config.py"]
}
```

## How It Works

`snapdiff` recursively scans both directories and matches files by relative path. Paths found only in the second directory are marked as added, paths found only in the first are marked as removed, and matching paths with different file contents are marked as changed. Traversal and presentation are controlled by the selected command-line options.