Metadata-Version: 2.3
Name: dossier-assistant
Version: 0.2.0
Summary: Filesystem-first, git-like dossier management for legal cases.
Author: Jev Kuznetsov
Author-email: Jev Kuznetsov <jev.kuznetsov@gmail.com>
Classifier: Development Status :: 2 - Pre-Alpha
Requires-Dist: cookiecutter>=2.0
Requires-Dist: python-docx>=1.1
Requires-Dist: pypdf>=4.0
Requires-Dist: scikit-learn>=1.5
Requires-Dist: typer>=0.12
Requires-Dist: openai>=1.0 ; extra == 'llm'
Requires-Python: >=3.12
Provides-Extra: llm
Description-Content-Type: text/markdown

# DAS Case

> **Pre-alpha** — under active development, not yet stable.

Filesystem-first, git-like dossier management for legal cases.

## Installation

```bash
source init.sh
```

OCR for scanned PDFs is optional and uses the `ocrmypdf` system binary:

```bash
sudo apt install ocrmypdf tesseract-ocr-nld
```

`das intake` falls back gracefully if the binary is missing.

## Usage

```bash
das --help
```

## Documentation map

- **What does it do?** → [`src/das/api.py`](src/das/api.py) — the
  functional contract. Docstrings are the spec.
- **Why does it exist?** → [`docs/nl/blauwdruk.md`](docs/nl/blauwdruk.md) —
  stakeholder pitch.
- **How is it built?** → [`docs/architecture.md`](docs/architecture.md) —
  non-obvious decisions only.

## Docs policy

Code is the source of truth. `api.py` carries the functional contract via
docstrings. `architecture.md` records only non-obvious decisions
(≤60 lines). `blauwdruk.md` is the stakeholder pitch — no implementation
detail. If a fact lives in code, do not duplicate it in `docs/`. New
prose requires deleting an equivalent amount. Work not yet started lives
in `docs/later/` and is not authoritative.

## Development

```bash
uv run invoke lint
uv run invoke test
uv run invoke format
uv run invoke ci   # lint + test in Docker
```
