Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GhostNotes

Version: 1.0.2 | Last Updated: April 23, 2026

A Git tool that strips tagged comments before committing.


Installation

pip install ghostnotes

Then initialize in any git repo:

cd your-project
ghostnotes init

What it does

GhostNotes lets you leave personal notes in your code using a tag (default: GN:). Before every commit, it automatically strips them out so they never reach your repository.

x = some_function() # GN: this is how you assign the output from a function in Python (embarrassing to not know)

This comment line gets stripped before the commit so it looks like:

x = some_function()

Your local file stays untouched.


Commands

Command Description
ghostnotes init Initialize GhostNotes in the current project
ghostnotes status Show all GhostNotes in the current project
ghostnotes set-tag --tag <tag> Change the default comment tag
ghostnotes add-lang --ext <.ext> --symb <symbol> Add support for a new language
ghostnotes pull Git pull that safely strips and re-applies your ghostnotes

Configuration

Edit .ghostnotes to tune how notes are detected. Under [settings], space_mode controls the spacing between the comment symbol and the tag:

Mode Matches
space (default) # GN: only
nospace #GN: only
both # GN: and #GN:

Supported Languages

Language Extension Comment Symbol
Python .py #
Java .java //
JavaScript .js //
TypeScript .ts //
C .c //
C++ .cpp //
C# .cs //
Go .go //
Rust .rs //
Swift .swift //
Kotlin .kt //
Ruby .rb #
Shell .sh #
YAML .yaml / .yml #
R .r #
PHP .php //
Lua .lua --
SQL .sql --
Scala .scala //
Dart .dart //
Zig .zig //
Perl .pl #
Elixir .ex #
Haskell .hs --

Need a language not listed? Add it with ghostnotes add-lang --ext <.ext> --symb <symbol>.

About

git tool that lets developers annotate code locally without polluting commits

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages