A privacy-focused Neovim plugin that automatically tracks time spent coding across projects and files, storing data locally in CSV format.
Pendulum-nvim is a Neovim plugin that automatically tracks time spent coding across files and projects, logging activity data locally into a CSV file. It helps developers analyze their work habits without sending data to external servers, addressing privacy concerns while providing actionable insights.
Neovim users who want to understand their coding habits, prioritize data privacy, and avoid cloud-based time tracking tools. It's especially useful for developers working on multiple projects who value local data storage.
Developers choose Pendulum-nvim for its strong privacy focus, seamless Neovim integration, and local-first approach—offering detailed time tracking without dependencies on external services or compromising data ownership.
Track time spent coding in Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Logs time per file with project name, Git branch, file type, and working directory, providing rich context for analysis as shown in the CSV columns.
Uses cursor movements and buffer switches to distinguish active coding from idle time, with configurable timeout_len and timer_len settings.
Stores all data in a local CSV file with no internet dependency, ensuring full data ownership and security, aligning with its 'local-first' philosophy.
Allows customization of log file paths, timer intervals, and regex-based filtering for reports via options like report_excludes.
Generates popup reports within Neovim showing metrics like top projects and active hours, though it requires Go installation.
Report generation requires Go to be installed, adding an extra setup step and potential compatibility issues, as admitted in the README.
Reports are displayed as simple Neovim popups; future ideas like Telescope integration or nicer UIs indicate current limitations.
Uses CSV files for logging, which can become inefficient for large datasets compared to databases, as hinted by future SQLite plans.