diff --git a/.github/workflows/dod.yml b/.github/workflows/dod.yml index bf01dce..6df2d1f 100644 --- a/.github/workflows/dod.yml +++ b/.github/workflows/dod.yml @@ -86,7 +86,7 @@ jobs: PR_TITLE: ${{ github.event.pull_request.title }} run: | set -euo pipefail - echo "$PR_TITLE" | npx --yes commitlint --extends @commitlint/config-conventional || { + echo "$PR_TITLE" | npx --yes -p @commitlint/cli -p @commitlint/config-conventional commitlint --extends @commitlint/config-conventional || { echo "::error::Título do PR não segue Conventional Commits (ex: feat: ..., fix: ..., chore: ...)." exit 1 } diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dac081..ecc782b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,11 +7,17 @@ Format follows [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) an ## [Unreleased] ### Added -- Standalone Python distribution `simplicio-mapper` on PyPI: dependency-free +- Standalone Python distribution `simplicio-mapper` on PyPI: lightweight `simplicio_mapper.mapper` port of the Node mapper plus a `map` / `update` CLI exposed as the `simplicio-mapper` and `llm-project-mapper` console scripts. Generates the same `.simplicio/project-map.json` and `precedent-index.json` without requiring a Node toolchain. +- Performance optimizations for the Python mapper (closes #82): `orjson` for + faster JSON serialization, persistent `diskcache` of per-file processing keyed + by path/size/mtime, and `__slots__`-backed internal models (`ProjectFile`, + `CodeEntity`, `PrecedentItem`) for lower memory on large projects. Schema and + artifact contracts remain stable; the package now ships with two lightweight + runtime dependencies (`orjson`, `diskcache`) instead of being dependency-free. - `map` / `update` CLI subcommands for generating and incrementally refreshing `.simplicio/project-map.json` and `.simplicio/precedent-index.json`. - Rich machine-readable mapper artifacts with file inventory, roles, imports, diff --git a/README.md b/README.md index f3bc326..7a754e7 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,10 @@ npx @wesleysimplicio/llm-project-mapper update ### New: standalone Python CLI -The mapper now ships as a dependency-free Python package, so Python-first teams -can generate the same artifacts without a Node toolchain: +The mapper now ships as a Python package with lightweight performance +dependencies (`orjson` for JSON serialization and `diskcache` for a persistent +file-processing cache), so Python-first teams can generate the same artifacts +without a Node toolchain: ```bash pip install simplicio-mapper diff --git a/README.pt-BR.md b/README.pt-BR.md index 9213261..bbd55b2 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -49,8 +49,10 @@ npx @wesleysimplicio/llm-project-mapper update ### Novidade: CLI Python standalone -O mapper agora tambem e distribuido como pacote Python sem dependencias, para -times Python-first gerarem os mesmos artefatos sem toolchain Node: +O mapper agora tambem e distribuido como pacote Python com dependencias leves +de performance (`orjson` para serializacao JSON e `diskcache` para cache +persistente de processamento de arquivos), permitindo times Python-first gerar +os mesmos artefatos sem toolchain Node: ```bash pip install simplicio-mapper