Skip to main content

Python-first project mapper that emits .simplicio/project-map.json and precedent-index.json for the Simplicio ecosystem.

Project description

simplicio-mapper

Python-first project mapper for the Simplicio ecosystem. It scans a repository and emits two machine-readable artifacts that agents and tooling can consume without parsing the human-readable markdown docs:

  • .simplicio/project-map.json (simplicio.project-map/v1) — file inventory, architecture signals, entry points, tests, modules, entities, dependencies and recent changes.
  • .simplicio/precedent-index.json (simplicio.precedent-index/v1) — high-signal code examples tagged by change type, file, language, roles and snippet.

The full contract is documented in SIMPLICIO_INTEGRATION.md.

Install

pip install simplicio-mapper

Usage

# Map the current directory into .simplicio/
simplicio-mapper map

# Refresh artifacts and record changed files since the last run
simplicio-mapper update

# Map another project root, with hints when .starter-meta.json is absent
simplicio-mapper map --root path/to/project --stack python --product-name "My App"

# Re-run automatically while files change locally
simplicio-mapper map --watch

The llm-project-mapper console script is provided as an alias.

Options

Option Description
--root <dir> Project root to map. Defaults to the current directory.
--out <dir> Artifact directory. Defaults to .simplicio.
--stack <name> Stack hint when .starter-meta.json is absent.
--product-name <name> Product name hint when .starter-meta.json is absent.
--incremental Record changed files and update existing artifacts.
--watch Re-run mapping when local files change.
--silent Minimal output.
-V, --version Show version and exit.
-h, --help Show help.

Consuming the artifacts

from pathlib import Path
import json

base = Path(".simplicio")
project_map = json.loads((base / "project-map.json").read_text())
precedents = json.loads((base / "precedent-index.json").read_text())

top_files = sorted(
    project_map["files"], key=lambda f: f.get("importance", 0), reverse=True
)[:8]

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplicio_mapper-0.5.0.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simplicio_mapper-0.5.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file simplicio_mapper-0.5.0.tar.gz.

File metadata

  • Download URL: simplicio_mapper-0.5.0.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for simplicio_mapper-0.5.0.tar.gz
Algorithm Hash digest
SHA256 a89e5c9c8d35196b6385bca203d911272216472c4ae8de59ad8fcbbbc7c58e0d
MD5 d4dbcb5c5494b493f03394b428171c17
BLAKE2b-256 b55e68060de6e11cff8190580bb78de30ad6c821eb9b097918a6047349756cdb

See more details on using hashes here.

File details

Details for the file simplicio_mapper-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for simplicio_mapper-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d77672d6482290bf47fdae1e0a12bfe580284f2eeed6fb4a5ce122852dd97869
MD5 be8e658572d7bea1247a5e4e940f2278
BLAKE2b-256 549c87edfe53f00d3f2480b41d2bb2d1737fcccc015b2f00d043b118bf5e2486

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page