lintorn 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lintorn-0.1.0/.env.example +43 -0
- lintorn-0.1.0/.gitignore +43 -0
- lintorn-0.1.0/.lintorn/config.toml +61 -0
- lintorn-0.1.0/LICENSE +661 -0
- lintorn-0.1.0/PKG-INFO +158 -0
- lintorn-0.1.0/README.md +139 -0
- lintorn-0.1.0/pyproject.toml +88 -0
- lintorn-0.1.0/src/lintorn/__init__.py +3 -0
- lintorn-0.1.0/src/lintorn/__main__.py +4 -0
- lintorn-0.1.0/src/lintorn/cli.py +563 -0
- lintorn-0.1.0/src/lintorn/config.py +760 -0
- lintorn-0.1.0/src/lintorn/dependances.py +218 -0
- lintorn-0.1.0/src/lintorn/hooks/pre-push +147 -0
- lintorn-0.1.0/src/lintorn/hooks_claude/session-start.sh +48 -0
- lintorn-0.1.0/src/lintorn/hooks_claude/stop-lintorn.sh +128 -0
- lintorn-0.1.0/src/lintorn/noyau.py +958 -0
- lintorn-0.1.0/src/lintorn/traductions.py +83 -0
- lintorn-0.1.0/tests/test_lintorn.py +462 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Lintorn
|
|
2
|
+
#
|
|
3
|
+
# Modèle des réglages de Lintorn qui dépendent de LA MACHINE, pas du projet.
|
|
4
|
+
#
|
|
5
|
+
# cp .lintorn/.env.example .lintorn/.env
|
|
6
|
+
#
|
|
7
|
+
# Le `.env` est gitignoré (`**/.env`) : il ne part JAMAIS sur GitHub. C'est
|
|
8
|
+
# voulu — les chemins ci-dessous contiennent un nom de session utilisateur.
|
|
9
|
+
# Ce fichier-ci, lui, est versionné : n'y mettre que des exemples.
|
|
10
|
+
#
|
|
11
|
+
# Tout est FACULTATIF. Sans `.env`, Lintorn se débrouille exactement comme avant.
|
|
12
|
+
# L'environnement réel prime sur ce fichier : `LINTORN_MEMOIRE=... python Lintorn.py`
|
|
13
|
+
# surcharge le temps d'une commande.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
# LINTORN_MEMOIRE — où vit la mémoire de l'assistant IA
|
|
18
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
# À REMPLIR SEULEMENT SI la découverte automatique échoue. Lintorn cherche déjà
|
|
20
|
+
# tout seul dans `~/.claude/projects/*<nom-du-projet>*/memory` (sans tenir compte de la
|
|
21
|
+
# casse). Le contrôle « Memoire IA vs code » dit dans son résumé quelle piste a
|
|
22
|
+
# servi, ou pourquoi aucune n'a marché.
|
|
23
|
+
#
|
|
24
|
+
# Quand le renseigner : mémoire déplacée, autre PC, dossier renommé, ou compte
|
|
25
|
+
# utilisateur différent de celui qui a créé le projet.
|
|
26
|
+
#
|
|
27
|
+
# Si le dossier indiqué n'existe pas, Lintorn le DIT au lieu de retomber
|
|
28
|
+
# silencieusement sur la découverte auto — un réglage faux doit se voir.
|
|
29
|
+
#
|
|
30
|
+
# Windows (barres obliques normales, pas d'antislash) :
|
|
31
|
+
# LINTORN_MEMOIRE=C:/Users/<toi>/.claude/projects/<dossier-du-projet>/memory
|
|
32
|
+
#
|
|
33
|
+
# Linux / macOS :
|
|
34
|
+
# LINTORN_MEMOIRE=/home/<toi>/.claude/projects/<dossier-du-projet>/memory
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
38
|
+
# CLAUDE_CONFIG_DIR — si Claude Code range sa config ailleurs que ~/.claude
|
|
39
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
40
|
+
# Inutile dans le cas normal. À ne renseigner que si tu as toi-même déplacé la
|
|
41
|
+
# configuration de Claude Code. `LINTORN_MEMOIRE` prime sur cette variable.
|
|
42
|
+
#
|
|
43
|
+
# CLAUDE_CONFIG_DIR=/chemin/vers/.claude
|
lintorn-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# --- Python ---
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.eggs/
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
|
|
9
|
+
# Environnements virtuels — jamais versionnés : ils dépendent de l'OS et pèsent lourd
|
|
10
|
+
venv/
|
|
11
|
+
.venv/
|
|
12
|
+
env/
|
|
13
|
+
|
|
14
|
+
# --- Secrets et config machine ---
|
|
15
|
+
# Le .env porte des chemins et des clés propres à UNE machine.
|
|
16
|
+
# Seul le .env.example (sans valeur réelle) est versionné.
|
|
17
|
+
.env
|
|
18
|
+
*.env
|
|
19
|
+
!.env.example
|
|
20
|
+
|
|
21
|
+
# --- Sorties de Lintorn lui-même ---
|
|
22
|
+
# Un fait sur le code se recalcule, il ne se versionne pas.
|
|
23
|
+
rapport_Lintorn.md
|
|
24
|
+
# État LOCAL (date du dernier audit complet) : propre à CHAQUE machine.
|
|
25
|
+
# Le versionner ferait croire à un collègue que SON poste est à jour.
|
|
26
|
+
.lintorn_etat.json
|
|
27
|
+
|
|
28
|
+
# --- Outils ---
|
|
29
|
+
.pytest_cache/
|
|
30
|
+
.ruff_cache/
|
|
31
|
+
.mypy_cache/
|
|
32
|
+
.coverage
|
|
33
|
+
htmlcov/
|
|
34
|
+
|
|
35
|
+
# --- Éditeurs / OS ---
|
|
36
|
+
.vscode/
|
|
37
|
+
.idea/
|
|
38
|
+
.DS_Store
|
|
39
|
+
Thumbs.db
|
|
40
|
+
|
|
41
|
+
# Sorties de Lintorn sur lui-meme — la config, elle, est versionnee.
|
|
42
|
+
.lintorn/*
|
|
43
|
+
!.lintorn/config.toml
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Configuration de Lintorn pour ce projet.
|
|
2
|
+
# https://github.com/DamXxs/Lintorn
|
|
3
|
+
#
|
|
4
|
+
# Genere par `lintorn --init`. Detecte : Python (Lintorn).
|
|
5
|
+
|
|
6
|
+
# ── Les controles ────────────────────────────────────────────────────
|
|
7
|
+
# Par defaut Lintorn n'execute pas ton code, n'ouvre pas ta base et ne
|
|
8
|
+
# sort pas sur le reseau. Passe a `true` ce que tu veux activer.
|
|
9
|
+
[controles]
|
|
10
|
+
tests = true # pytest — EXECUTE le code du projet
|
|
11
|
+
# donnees_metier = false # manage.py verifier_donnees — ouvre la BASE
|
|
12
|
+
# deploy = false # check --deploy — bruyant tant qu'on est en dev
|
|
13
|
+
code_mort = true # vulture — consultatif, beaucoup de faux positifs
|
|
14
|
+
failles = true # pip-audit — sort sur le RESEAU
|
|
15
|
+
|
|
16
|
+
# ── Tes regles maison ────────────────────────────────────────────────
|
|
17
|
+
# Lintorn ne peut PAS les deviner : une regle maison est une decision,
|
|
18
|
+
# elle n'est ecrite nulle part dans le code. Voici la forme, a remplir.
|
|
19
|
+
#
|
|
20
|
+
# bloquant = true -> regle DEJA respectee, on empeche la regression
|
|
21
|
+
# bloquant = false -> dette existante, on mesure sans bloquer
|
|
22
|
+
#
|
|
23
|
+
# [[regles]]
|
|
24
|
+
# nom = "Couleurs en dur dans un CSS"
|
|
25
|
+
# regle = "uniquement des variables de theme"
|
|
26
|
+
# racine = "src"
|
|
27
|
+
# suffixes = [".css"]
|
|
28
|
+
# motif = '#[0-9a-fA-F]{3,8}\b'
|
|
29
|
+
# exclure = []
|
|
30
|
+
# bloquant = false
|
|
31
|
+
|
|
32
|
+
# ── Tes propres outils ───────────────────────────────────────────────
|
|
33
|
+
# Tout outil qui repond par un code de sortie a sa place ici.
|
|
34
|
+
# ⚠️ Ces commandes sont EXECUTEES : ne lance pas Lintorn dans un depot
|
|
35
|
+
# en qui tu n'as pas confiance.
|
|
36
|
+
#
|
|
37
|
+
# [[commandes]]
|
|
38
|
+
# cle = "mypy"
|
|
39
|
+
# titre = "Types (mypy)"
|
|
40
|
+
# cmd = ["python", "-m", "mypy", "."]
|
|
41
|
+
# cwd = "."
|
|
42
|
+
# bloquant = false
|
|
43
|
+
|
|
44
|
+
# ── Les regles maison de Lintorn ─────────────────────────────────────────────
|
|
45
|
+
[[regles]]
|
|
46
|
+
nom = "Chemin de projet ecrit en dur"
|
|
47
|
+
regle = "Lintorn doit rester neutre : aucun nom de projet dans le code"
|
|
48
|
+
racine = "src/lintorn"
|
|
49
|
+
suffixes = [".py"]
|
|
50
|
+
motif = 'matorn|/home/|C:\\\\Users'
|
|
51
|
+
exclure = []
|
|
52
|
+
bloquant = true
|
|
53
|
+
|
|
54
|
+
[[regles]]
|
|
55
|
+
nom = "print() de debogage oublie"
|
|
56
|
+
regle = "la sortie utilisateur passe par le rapport ou le CLI, pas par des print egares"
|
|
57
|
+
racine = "src/lintorn"
|
|
58
|
+
suffixes = [".py"]
|
|
59
|
+
motif = '^\s+print\(f?"(DEBUG|TODO|XXX)'
|
|
60
|
+
exclure = []
|
|
61
|
+
bloquant = true
|