Skip to main content

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 Python 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 vibemark
  • pip install vibemark
  • uv tool install vibemark (recommended)

Quickstart

  • Scan the repo and initialize progress:
    • vibemark scan
  • Show overall progress and largest remaining files:
    • vibemark stats
  • 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 update re-scan and optionally reset changed files
  • vibemark update --reset-changed yes|no skip per-file prompts (default: ask)
  • vibemark reset path/to/file.py mark a file unread
  • vibemark export-md export a markdown checklist
  • vibemark exclude-remove|exclude-list|exclude-clear
  • vibemark ext-add|ext-remove|ext-list|ext-clear
  • vibemark --version

How it works

vibemark looks for *.py files 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 ext-* commands. 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+
  • uv for running and building from source

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

vibemark-1.2.3.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

vibemark-1.2.3-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file vibemark-1.2.3.tar.gz.

File metadata

  • Download URL: vibemark-1.2.3.tar.gz
  • Upload date:
  • Size: 7.7 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

Hashes for vibemark-1.2.3.tar.gz
Algorithm Hash digest
SHA256 9316e19c0bcdc822d7e3030ac4989b42e7dee3b4c9f18793e69771487a142b37
MD5 a70ddb65324f6f00803075a9f7192598
BLAKE2b-256 2c8cda03b093cf74b2bf1802ec75f6d57d1e8b0c20820c6cf014f4eff1b0fc20

See more details on using hashes here.

File details

Details for the file vibemark-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: vibemark-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 8.8 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

Hashes for vibemark-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9a31cbbf649d55324e3f4278b348724572fef9f95673fc32682d8fa26ebb1873
MD5 e1989c5c0a61f53fb97732ca57088c74
BLAKE2b-256 5a7513bb61bf79ff3dc14659e5e96093819a2fb6fe5b0d615c4fdf4c482ef073

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