If you are not writing it, you should at least read it.
Project description
vibemark
Track how much code you have actually read, by file and by LOC. vibemark scans your
repository for source files, stores progress in a local state file, and provides
simple commands to update or visualize your reading status.
Installation
The main way to use vibemark is via PyPI under the vibemark package:
pipx install vibemarkpip install vibemarkuv tool install vibemark(recommended)
Quickstart
- Scan the repo and initialize progress:
vibemark scan
- Show overall progress and largest remaining files:
vibemark statsvibemark stats --top 30/vibemark stats --allvibemark stats --no-table(totals only)vibemark stats --format csv|tsv(machine-readable output)
- Mark a file as fully read:
vibemark done src/vibemark/cli.py
- Set partial progress for a file:
vibemark set src/vibemark/cli.py 120
- Exclude a folder for a run (glob):
vibemark scan --exclude "src/vendor/*"
- Persistently exclude a folder (saved in
.vibemark.json):vibemark exclude add "src/vendor/*"
More commands
vibemark updatere-scan and optionally reset changed filesvibemark update --reset-changed yes|noskip per-file prompts (default: ask)vibemark reset path/to/file.pymark a file unreadvibemark export-mdexport a markdown checklistvibemark exclude remove|list|clearvibemark ext add|remove|list|clearvibemark --version
How it works
vibemark looks for files matching the configured extensions (default: py) under
the repo root, applies default exclusions (e.g., .git/, .venv/, build/), and
writes state to .vibemark.json in the root directory. You can add saved exclude globs like src/vendor/* or pass --exclude to a single scan. You can also include other extensions via --ext
or the vibemark ext subcommands. Use vibemark update to rescan and optionally reset
progress for changed files. For finer control, scan/update accept --loc-mode
(physical|nonempty) and --include-empty.
Development
- Run the CLI:
uv run vibemark --help
- Run tests:
uv run pytest
Requirements
- Python 3.13+
uvfor running and building from source
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 vibemark-1.3.4.tar.gz.
File metadata
- Download URL: vibemark-1.3.4.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18f132abcc6cbf9f7397154e860387013be6d8e92b3eab4dc27cacdf178c8cab
|
|
| MD5 |
af93869021702aecac395d213738b7ad
|
|
| BLAKE2b-256 |
685564a566112d4ca70aa9e82cfb6b4e6e8d0405bb89e61012a4c096508a3a35
|
File details
Details for the file vibemark-1.3.4-py3-none-any.whl.
File metadata
- Download URL: vibemark-1.3.4-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f540b5793ad00983bf4010da1994df6e3f6829027b7631bdb8fff7524da32c16
|
|
| MD5 |
c7b4fb192479717118927fecad297526
|
|
| BLAKE2b-256 |
0558caad7314a815d6408ab92a9f01db24944b755b9149eee7b6cbef794d66a0
|