Metadata-Version: 2.4
Name: nomos-ai
Version: 0.2.2
Summary: Nomos AI MCP server for legal use
Requires-Python: >=3.10
Requires-Dist: mcp[cli]>=1.0
Requires-Dist: pdfminer-six>=20221105
Requires-Dist: pdfplumber>=0.11
Requires-Dist: presidio-analyzer[transformers]>=2.2.351
Requires-Dist: presidio-anonymizer>=2.2.351
Requires-Dist: pypdf>=4.0
Requires-Dist: python-docx>=1.1
Requires-Dist: spacy-huggingface-pipelines>=0.0.4
Requires-Dist: spacy<3.9,>=3.8
Requires-Dist: torch>=2.0
Requires-Dist: transformers<5.0,>=4.35
Provides-Extra: camembert
Description-Content-Type: text/markdown

# NomosAI — Assistant juridique IA

Serveur MCP pour Claude Desktop et Claude Code. Anonymise les documents confidentiels, initialise des espaces de travail juridiques et installe des skills spécialisés pour la recherche jurisprudentielle et la rédaction de mémoires.

---

## Installation

**Étape 1 — Installer `uv` (une seule fois par machine) :**

- **Windows :** ouvre PowerShell et colle :
  ```powershell
  powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  ```
- **Mac / Linux :** ouvre Terminal et colle :
  ```bash
  curl -LsSf https://astral.sh/uv/install.sh | sh
  ```

**Étape 2 — Installer NomosAI :**

```bash
uv tool install nomos-ai
```

**Étape 3 — Connecter NomosAI à Claude :**

---

### Claude Code (CLI / VS Code / JetBrains)

**Méthode recommandée — commande automatique (scope utilisateur) :**

```bash
claude mcp add --scope user nomos-ai -- uv tool run nomos-ai
```

Cette commande inscrit le serveur dans `~/.claude.json` (fichier d'état interne géré par Claude Code — ne pas éditer directement).

**Méthode manuelle — partage au niveau projet (à committer dans le dépôt) :**

1. Créer `.mcp.json` à la **racine du projet** :

```json
{
  "mcpServers": {
    "nomos-ai": {
      "command": "uv",
      "args": ["tool", "run", "nomos-ai"]
    }
  }
}
```

2. Autoriser le serveur sans prompt de confirmation en ajoutant dans `.claude/settings.json` (projet) ou `~/.claude/settings.json` (utilisateur) :

```json
{
  "enabledMcpjsonServers": ["nomos-ai"]
}
```

3. Rendre visible, s'assurer d'avoir dans `~/.claude.json`:

```json
{
  "mcpServers": {
      "nomos-ai": {
        "type": "stdio",
        "command": "uv",
        "args": [
          "tool",
          "run",
          "nomos-ai"
        ],
        "env": {}
      }
    }
}
```

Redémarrer Claude Code (ou lancer `/mcp` pour reconnecter sans redémarrer).

---

### Claude Desktop (claude.ai/chat)

Éditer le fichier de configuration selon le système :

| Système | Fichier |
|---------|---------|
| **Windows** | `%APPDATA%\Claude\claude_desktop_config.json` |
| **Mac** | `~/Library/Application Support/Claude/claude_desktop_config.json` |

Ajouter ou compléter la section `mcpServers` :

```json
{
  "mcpServers": {
    "nomos-ai": {
      "command": "uv",
      "args": ["tool", "run", "nomos-ai"]
    }
  }
}
```

Redémarrer Claude Desktop.

---

## Mise à jour

```bash
uv tool upgrade nomos-ai
```

Redémarrer Claude pour que le nouveau serveur soit pris en compte.

Pour mettre à jour les skills juridiques installés, utiliser l'outil **`update_nomos_skills`** depuis Claude — il présente la liste des skills disponibles et permet de sélectionner ceux à écraser avec la version la plus récente.

---

## Fonctionnalités principales

### Espace de travail juridique — `initiate_project`

Initialise un dossier de travail structuré adapté au type de procédure (défense, demande, autre) :

- Arborescence standard (`documents-confidentiels/`, `sources/`, `documents-anonymisés/`, `livrables/`, `artefacts/`)
- `CLAUDE.md` avec les instructions adaptées au type de dossier
- Hook de sécurité qui bloque la lecture directe des documents confidentiels et force leur traitement via le MCP

### Skills juridiques — `initialise_nomos_skills` / `update_nomos_skills`

Installe ou met à jour dans `~/.claude/skills/` un ensemble de skills Claude spécialisés :

| Skill | Rôle |
|-------|------|
| `extraction-faits` | Extrait les faits pertinents d'un dossier |
| `recherche-Ccass_droit privé` | Recherche jurisprudentielle — Cour de cassation |
| `recherche-CE_droit-public` | Recherche jurisprudentielle — Conseil d'État (ArianeWeb) |
| `recherche-CEDH` | Recherche jurisprudentielle — CEDH (HUDOC) |
| `recherche-CJUE_UE` | Recherche jurisprudentielle — CJUE |
| `recherche-BOFIP_fiscal` | Recherche fiscale — BOFIP |
| `redaction-MA-cassation` | Rédaction mémoire ampliatif |
| `redaction-MD-cassation` | Rédaction mémoire en défense |
| `redaction-moyen` | Rédaction de moyens de cassation |

### Recherche ArianeWeb — `search_arianeweb` / `get_conclusion`

Interroge directement la base de jurisprudence du Conseil d'État :

- Recherche plein texte ou par numéro dans les décisions CE, CAA, Tribunal des conflits et conclusions de rapporteurs publics
- Téléchargement et extraction du texte intégral des conclusions des rapporteurs publics (PDF)

### Anonymisation — `anonymize_file` / `deanonymize_file`

Détecte et remplace les données personnelles dans les documents `.docx`, `.pdf`, `.txt`, `.md` et `.rst`, et produit un Markdown anonymisé. Supporte le français, l'anglais et cinq autres langues européennes.

### Conversion — `convert_to_markdown`

Convertit en Markdown les fichiers dans un format non supporté nativement (`.doc`, `.odt`, `.rtf`, `.html`, `.htm`, `.epub`, `.tex`, `.org`, `.wpd`) via **pandoc**. Accepte n'importe quel mélange de fichiers et/ou de dossiers via `paths`, avec un dossier de destination optionnel (`output_dir`). Sans `paths`, traite par défaut le dossier `documents-confidentiels/` (les `.md` produits y restent confidentiels). Les `.md` servent de cache (pas de reconversion).

`anonymize_file` tente aussi cette conversion automatiquement avant d'échouer sur un format non supporté.

**Pré-requis :** [pandoc](https://pandoc.org) installé. Les `.doc` binaires (que pandoc ne lit pas) nécessitent en plus [LibreOffice](https://www.libreoffice.org) ; sinon, ré-enregistrez-les en `.docx`.

---

## Formats supportés

**Nativement :** `.docx` · `.pdf` · `.txt` · `.md` · `.rst`

**Via conversion pandoc :** `.doc` · `.odt` · `.rtf` · `.html` · `.htm` · `.epub` · `.tex` · `.org` · `.wpd`
