repo-mapper-rs 🦀
Rust implementation of repo_mapper.
What it does:
A CLI tool to scan a code repository and generate a structured file tree map, inserted into your README.md written in Rust.
The map is fenced inside a markdown code block under a # Repo map section, if one exists the existing one is replaced, else it is appended to the bottom of the README.md.
Supported functionality:
- .gitignore
- file extension filtering
- directory exclusion
- ignore hidden files
Installation
pip install repo-mapper-rs
Or
uv add repo-mapper-rs
Example usage:
python -m repo_mapper \
--repo-root "/path/to/my_repo" \
--readme-path "/path/to/my_repo/README.md" \
--gitignore-path "/path/to/my_repo/.gitignore" \
--allowed-exts "py,rs,toml" \
--ignore-dirs ".venv,target" \
--ignore-hidden
This command:
- Traverses
/path/to/my_repo - Respects files excluded in
.gitignoreor listed in--ignore-dirs - Includes only files with extensions
.py,.rs,.toml. It's recommended to use this parameter to avoid unexpected files being added to the map. - Skips hidden files and directories (those starting with a dot)
- Inserts or updates the
# Repo mapsection in the README
Args
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
--repo-root |
str |
✅ | Path to the root of the repository to scan | |
--readme-path |
str |
❌ | './README.md' |
Path to the README file that will be modified |
--gitignore-path |
str |
❌ | './.gitignore' |
Path to the .gitignore file |
--allowed-exts |
Comma-separated str |
❌ | 'py,md,toml,lock,yaml,ipynb' |
Extensions to include (e.g. 'py,rs,md'). Note this is overruled by the .gitignore. |
--ignore-dirs |
Comma-separated str |
❌ | '.git,.venv,build,dist' |
Directories to exclude (e.g. '.venv,target'). If not supplied, all directories will be evaluated. Note this is overruled by the .gitignore. |
--output-mode |
str |
❌ | 'readme' |
Output mode to display the tree: choices=['readme', 'shell']. |
--ignore-hidden |
Flag (no value) | ❌ | If set, hidden files and directories will be ignored | |
--dirs-only |
Flag (no value) | ❌ | If set, only directories and subdirectories will be mapped (useful with larger codebases). |
New Features:
0.4.0
repo-map-desc:- adding
repo-map-desc:to a line will treat everything afterrepo-map-desc:up to the end of the line as a file description. - that description is added to the corresponding file in the repo map
- it will ignore any characters before
repo-map-desc:(e.g. comments or code) - only apply to the first matching line per file
- adding
0.5.0
.repo-map-descfiles- add a
.repo-map-descfile in a directory with text matching therepo-map-desc:prefix to the file - that description is then added to the dir on the repo-map
- only apply to the first matching line per file
- add a
Example
(in root/some_dir/.repo-map-desc)
repo-map-desc: this is the description that shows up in the repo map for the some_dir directory
Repo map
├── benches
│ └── repo_mapper_rs_benchmark.rs
├── python
│ └── repo_mapper # the python CLI interface that calls the rust core
│ ├── __init__.py
│ └── __main__.py # Main CLI entry point
├── src
│ ├── core # the core rust code that does the work
│ │ ├── domain # main domain objects handles pure transformations of the files
│ │ │ ├── file_tree.rs
│ │ │ ├── mod.rs
│ │ │ ├── repo_entry.rs # simple implementation of a repo object
│ │ │ ├── ret_codes.rs
│ │ │ ├── transform.rs # Where the file tree is generated
│ │ │ └── utils.rs
│ │ ├── parsing # convert interactions with the outside world into something useful
│ │ │ ├── args.rs
│ │ │ ├── context.rs
│ │ │ ├── file_text.rs
│ │ │ ├── gitignore.rs
│ │ │ ├── mod.rs
│ │ │ └── readme.rs
│ │ ├── adapters.rs
│ │ └── mod.rs
│ ├── api.rs # The translation layer between python and rust
│ └── lib.rs
├── tests
│ └── integration_tests.rs # component level integration tests using FakeFileSystem
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── README.md # Installation and simple docs
├── pyproject.toml
└── uv.lock
(generated with repo-mapper-rs)
::
Ret codes
| RetCode | int | description |
|---|---|---|
NoModification |
0 | The Repo map reflects the current state of the repo. |
ModifiedReadme |
1 | The README was updated. |
FailedParsingFile |
2 | Failed to read the file to string. |
FailedToWriteReadme |
3 | Failed to write the modified README to file. |
InvalidFilename |
4 | The given README.md or .gitignore path does not match the expected basename. |
Release files for repo-mapper-rs 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| repo_mapper_rs-0.5.0.tar.gz | 32.5 kB | Details |
Built distributions (wheels)
Total release size: 7.3 MB
Release files / repo_mapper_rs-0.5.0.tar.gz
| Download URL | repo_mapper_rs-0.5.0.tar.gz |
|---|---|
| Size | 32.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c89e9b37ecf098ef34d5f65c2ffb073cb647229f588da572ef5ef9cc2253a80
|
|
BLAKE2b-256 checksum How to use checksums |
bf0ac6752e1f520f831d3e57bffebcb7053a627b8a728d193b5450ed6559c8cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp313-cp313-win_amd64.whl
| Download URL | repo_mapper_rs-0.5.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 563.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4ac01e66ac3e3753adf441395cb745da0a4308950494b385c1ed292d5d2b3621
|
|
BLAKE2b-256 checksum How to use checksums |
31842b13382dae8307173180fa5f5018e060ecc21f6f2482221e29fc5ff9697f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | repo_mapper_rs-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 681.3 kB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
9eb98f3d8161cc001f49ed5f2538e9e63065344685b44c7a762b76daafee0626
|
|
BLAKE2b-256 checksum How to use checksums |
1a2020352720446ef9d5a5227509b64b12fdc6a91de73a7b796e2aa25ef2bfb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | repo_mapper_rs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 581.9 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
785037f4e002f9d2b8026910bf96fe77d27d93462996ca6ce8483aba3483f327
|
|
BLAKE2b-256 checksum How to use checksums |
133e59b1d5591dd891ea4e440ea6d4a31ea103c8b5438fcd8c60a9075264cd20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp312-cp312-win_amd64.whl
| Download URL | repo_mapper_rs-0.5.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 564.2 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3bf43769d00466501e135a2721fe7775a84ebfb510bad542fa155b2c04c8a165
|
|
BLAKE2b-256 checksum How to use checksums |
131026b4b05e8bed820d47eb559d3748ae604f14df7f4db11b9d66309affa649
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | repo_mapper_rs-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 681.5 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
5f1c438a0c9476890a0a1cc5717e7839eec2c17e299378303f836f1f2e00a7de
|
|
BLAKE2b-256 checksum How to use checksums |
120f5bd36f6b94fa27cd141f888d0fc84b9407387809137aeaf0b33192d55794
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | repo_mapper_rs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 582.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f78337573c648c3015694816ace2a648ec4aa0987c5ef83e7165d5e9e479a108
|
|
BLAKE2b-256 checksum How to use checksums |
4b388bcafbe7126fa9f8409a84b9fc7291b26d17d788350c32028a24a6bbf6ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp311-cp311-win_amd64.whl
| Download URL | repo_mapper_rs-0.5.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 564.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0b17595ea78e549a68e5fe249959c98fb8ec397edf6344796eb016ae7dde5439
|
|
BLAKE2b-256 checksum How to use checksums |
a62c8d611913223de0abee0eb554fdc7ab1ae7d002b342201c6787264943f246
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | repo_mapper_rs-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 682.3 kB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5aa192df26e839ca8ce901051543ae99ec328e2a116382330b518279d23525c
|
|
BLAKE2b-256 checksum How to use checksums |
1318d4ba8730ef41565bd937d3d92a350fc6ac7b2adac47742eee019ab95bf30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | repo_mapper_rs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 582.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
be1ecfd8a840daea792d049f87fa5593c8be2b17e74dacd15ec10f6535259754
|
|
BLAKE2b-256 checksum How to use checksums |
2eaca50d285419197b4d1e8961ec890084ff7f676a47943a07130f0a8a597ef6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp310-cp310-win_amd64.whl
| Download URL | repo_mapper_rs-0.5.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 564.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b17874fab67bc61c03b0c88125adb940f019fc90e18e41f2180632e62ac552a1
|
|
BLAKE2b-256 checksum How to use checksums |
9e04f415936a9e882b7b777db4bd30e040b0b7074c1cc1e153a754baf36ea521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | repo_mapper_rs-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 682.4 kB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
c97b8029019e5a5b96684076e875aefd45ca91f49cba80fdb3b3385b0718e2b9
|
|
BLAKE2b-256 checksum How to use checksums |
4b9b56a7be2a52bd0a0f33695a9d0fe6109e8587d95eb6e17d07eb9d84b25044
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency logRelease files / repo_mapper_rs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | repo_mapper_rs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 582.6 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
62b06c819a8550ffefccb714d172eed44c4037596119d9f8129d8dfbd4f57af0
|
|
BLAKE2b-256 checksum How to use checksums |
6260b9148ce7a814913436035135730f6f31642c55ab5cb533ebb3f0e3f17a0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.
Transparency log