
Gestore di note basato su terminale con tagging gerarchico e collegamento ai file
| 🇬🇧 Inglese | 🇮🇹 Italiano |
|---|

NotaMy è un gestore gerarchico di appunti tecnici da terminale che riduce il costo mentale del context switching per chi lavora su analisi di lunga durata (pentesting, reverse engineering, wargame).
Quando ho iniziato a lavorare su attività di pentesting e analisi di binari, ho capito subito una cosa:
Il problema non è prendere appunti, ma gestirli nel tempo.
Un'analisi può durare giorni o mesi. Durante quel tempo accumuli indirizzi di memoria, output di test, disassemblati, comportamenti sospetti, prove fallite, idee da verificare — e tutto questo finisce spesso sparso in file e cartelle.
Il risultato? Confusione. Continuare a cercare informazioni tra file sparsi interrompe il flusso mentale e rallenta l'indagine.
NotaMy nasce per eliminare questo freno: ridurre il costo del context switching mantenendo tutte le informazioni accessibili da shell, organizzate e facilmente ricercabili.
NotaMy non è un editor di testo. Non è un sistema di markdown. Non è un’applicazione grafica.
È un sistema minimale e terminal-first per organizzare conoscenza tecnica in file di note (contesti) e in strutture ad albero di nodi/tag.
Ogni file di note è un progetto o un’indagine. Cambiare file significa cambiare spazio mentale.
Esempio:
ntm view file

Puoi cambiare contesto con:
ntm setting 2
Le note sono nodi in un albero: ogni nodo può contenere:
Puoi mettere un post‑it o un intero libro. Tutto nello stesso posto.
Esempio:
ntm view note

# indica che la nota contiene testo espandibile.
Puoi espandere ogni nodo per vederne il contenuto:
ntm view note -b

ntm add note -t "TAG" -c "Breve commento"
ntm add note -t "TAG" -c "Commento" -b
si apre l'editor, salvo, esco e il body viene inserito nella nota
NotaMy è pensato per chi:
Probabilmente non fa per te se:
NotaMy è minimale e focalizzato.
NotaMy nasce da un’esigenza personale:
Ridurre il costo mentale del context switching.
Le note non sono il problema. La complessità lo è.
Ho iniziato nel 2020 con una versione elementare chiamata "Note Management": semplice testo strutturato. Già allora era utile. Poi sono venuti MemoKeeper e MemoKeeperX, con file separati e tag. Col tempo l'uso è diventato quotidiano: pentest, studio, idee e piccoli progetti.
NotaMy è la versione matura di quel flusso: minimale, affidabile e adattata al mio modo di lavorare.
Vuoi sapere perché e come è nato NotaMy? Leggi la FILOSOFIA del progetto.
git clone https://github.com/IMprojtech/NotaMy.git
cd NotaMy
make
./bin/ntm
NotaMy al PATHDopo aver compilato ntm, potresti volerlo eseguire da qualsiasi directory senza digitare il percorso completo. Ecco un approccio comune:
sudo cp ./bin/ntm /usr/local/bin/
sudo cp ./bin/ntm_nc /usr/local/bin/
oppure, se preferisci un'installazione locale per l'utente (senza bisogno di sudo):
mkdir -p "$HOME/.local/bin"
cp ./bin/ntm "$HOME/.local/bin/"
cp ./bin/ntm_nc "$HOME/.local/bin/"
Assicurati che questa directory sia nel tuo PATH. La maggior parte delle distribuzioni Linux include /usr/local/bin per impostazione predefinita. Se hai usato ~/.local/bin, assicurati che il tuo file di inizializzazione della shell lo aggiunga al PATH. Ad esempio, in ~/.bashrc o ~/.zshrc:
# Aggiungi questo se non già presente:
export PATH="$HOME/.local/bin:$PATH"
Infine puoi anche semplicemente aggiungere la directory bin al tuo file di inizializzazione della shell. Ad esempio, in ~/.bashrc o ~/.zshrc:
export PATH="$HOME/percorso/NotaMy/bin:$PATH"
NotaMy fornisce un wrapper Zsh opzionale che migliora l'esperienza utente senza modificare il programma C principale.
Il wrapper aggiunge:
ntm con gestione dell'output miglioratabatfview per la visualizzazione interattiva delle note (fzf + bat)nocolor per rimuovere le sequenze di escape ANSIIl wrapper permette di cambiare al volo il file in uso utilizzando il numero del file che si vuole richiamare prima del comando.
ntm 1 view note
Aggiungi il file del plugin all'interno del tuo ~/.zshrc:
source /percorso/verso/NotaMy/shell/zsh/notamy.plugin.zsh
Quindi ricarica la shell:
source ~/.zshrc
⚠️ L'integrazione Zsh è completamente opzionale. L'applicazione C principale funziona in modo indipendente.
Un manuale utente completo è disponibile con istruzioni di installazione, esempi di utilizzo e tutti i comandi supportati:
Questo programma è distribuito sotto i termini della GNU General Public License (GPL), garantendo la libertà di ridistribuire e modificare il software in conformità con gli standard del software libero.
Scritto da Catoni Mirko (IMprojtech)