Librairie de gouvernance documentaire de l'écosystème baobab-ai-development.
Project description
baobab-ai-dev-documents
Librairie Python de gouvernance documentaire de l'écosystème
baobab-ai-development.
Elle transforme les documents Markdown utilisés pour piloter les développements IA (cahiers des charges, user stories, features, backlogs, prompts, ADR) en données structurées, validées, traçables et synchronisables avec le reste de la plateforme.
Le module fait la passerelle entre :
- la documentation rédigée par l'utilisateur ou par une IA ;
- les entités métier de
baobab-ai-dev-core; - les repositories de
baobab-ai-dev-database; - les futurs usages CLI, API, workflow IA et dashboard.
Statut : socle initial (
v0.1.0). Voir la roadmap dans le cahier des charges (docs/01-cahier-des-charges/).
Installation
Le package cible Python ≥ 3.12.
# Installation applicative
pip install baobab-ai-dev-documents
# Installation en développement (outils qualité inclus)
pip install -e ".[dev]"
Dépendances runtime :
baobab-ai-dev-core >= 0.2.0baobab-ai-dev-database >= 0.1.0
Usage minimal
import baobab_ai_dev_documents as docs
from baobab_ai_dev_documents import PACKAGE_METADATA, RuntimeMetadata
# Version du package (résolue depuis les métadonnées de distribution).
print(docs.__version__)
# Métadonnées descriptives du package et de ses sous-modules internes.
print(PACKAGE_METADATA.name)
print(PACKAGE_METADATA.modules)
print(PACKAGE_METADATA.has_module("parsing")) # True
# Résolution de la version d'une distribution installée.
print(RuntimeMetadata.version(fallback="0.1.0"))
print(RuntimeMetadata.is_installed("baobab-ai-dev-core"))
Les services de scan, parsing, validation, mapping, import et génération de prompts sont livrés progressivement (voir la roadmap du cahier des charges). L'API cible complète est décrite dans
docs/01-cahier-des-charges/.
Conventions d'arborescence
Le code source suit un src layout ; les tests forment une arborescence
miroir de src/.
src/baobab_ai_dev_documents/
├── domain/ # Objets documentaires purs (entités, value objects)
├── scanning/ # Découverte et classification des fichiers Markdown
├── parsing/ # Front matter YAML et sections Markdown
├── validation/ # Validation structurelle et de cohérence
├── mapping/ # Mapping vers les entités de baobab-ai-dev-core
├── importing/ # Plan et service d'import documentaire
├── prompts/ # Génération de prompts IA
├── sync/ # Adaptateurs de synchronisation database
└── exports/ # Rapports et exports (JSON, Markdown)
tests/baobab_ai_dev_documents/
└── ... # Un fichier test_<module>.py par classe applicative
Règles de structure :
- une classe applicative principale par fichier ;
- nom de fichier en
snake_casecorrespondant à la classe (PascalCase) ; - imports absolus ;
- chaque classe possède un test miroir
test_<fichier_source>.py; - classes de test
Test<NomDeClasse>, méthodestest_<comportement>; - typage strict (le package expose
py.typed).
Qualité
La chaîne qualité est configurée dans pyproject.toml. Commandes
attendues avant toute Pull Request :
pytest # tests unitaires
coverage run -m pytest && coverage report # couverture ≥ 90 %
ruff check . # lint
black --check src tests # format
mypy src # type-check (strict)
pylint src/baobab_ai_dev_documents # qualité (≥ 8.5/10)
bandit -c pyproject.toml -r src/baobab_ai_dev_documents -ll # sécurité
Workflow de développement
Le développement suit la hiérarchie de branches :
main → us/* → feat/* → bl/*
- développement uniquement sur une branche
bl/FEAT-XXX/BL-XXX-*; - Pull Requests :
BL-XXX → FEAT-XXX → US-XXX → main; - aucun merge si un gate qualité, sécurité, QA ou fonctionnel est en NO GO.
La spécification complète (cahier des charges, user stories, features,
backlogs) est versionnée dans docs/.
Licence
Distribué sous licence MIT. Voir le fichier LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file baobab_ai_dev_documents-0.1.0.tar.gz.
File metadata
- Download URL: baobab_ai_dev_documents-0.1.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b452266f750bd967f3da6c3fad68e2070546270fb31800601f3002b681785f30
|
|
| MD5 |
69798db2ecede923c94cd08df802b40e
|
|
| BLAKE2b-256 |
5ce3111731199a4be5a10c213a1d951bf59f199a2bfc94f5679e4714c3e620aa
|
Provenance
The following attestation bundles were made for baobab_ai_dev_documents-0.1.0.tar.gz:
Publisher:
release.yml on baobabgit/baobab-ai-dev-documents
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
baobab_ai_dev_documents-0.1.0.tar.gz -
Subject digest:
b452266f750bd967f3da6c3fad68e2070546270fb31800601f3002b681785f30 - Sigstore transparency entry: 1854587111
- Sigstore integration time:
-
Permalink:
baobabgit/baobab-ai-dev-documents@707d91b474084e906f0d5bae7c05569ec3a018f2 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/baobabgit
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@707d91b474084e906f0d5bae7c05569ec3a018f2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file baobab_ai_dev_documents-0.1.0-py3-none-any.whl.
File metadata
- Download URL: baobab_ai_dev_documents-0.1.0-py3-none-any.whl
- Upload date:
- Size: 71.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67698a50fead7e55ecca42e37a3f4b84519e04da8427de534a0c93bba166ef8
|
|
| MD5 |
357afc87a6ba34673b9aec90867088d4
|
|
| BLAKE2b-256 |
135b86226db3d54e0617fa8bf23899d5a18c2c803c601851c56d5f84311b48a9
|
Provenance
The following attestation bundles were made for baobab_ai_dev_documents-0.1.0-py3-none-any.whl:
Publisher:
release.yml on baobabgit/baobab-ai-dev-documents
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
baobab_ai_dev_documents-0.1.0-py3-none-any.whl -
Subject digest:
b67698a50fead7e55ecca42e37a3f4b84519e04da8427de534a0c93bba166ef8 - Sigstore transparency entry: 1854587143
- Sigstore integration time:
-
Permalink:
baobabgit/baobab-ai-dev-documents@707d91b474084e906f0d5bae7c05569ec3a018f2 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/baobabgit
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@707d91b474084e906f0d5bae7c05569ec3a018f2 -
Trigger Event:
push
-
Statement type: