
Gerenciador de notas baseado em terminal com marcação hierárquica e vinculação de arquivos
| 🇬🇧 Inglês | 🇮🇹 Italiano |
|---|

NotaMy é um gerenciador de notas técnicas hierárquico baseado em terminal, projetado para reduzir o custo mental da troca de contexto para quem trabalha em tarefas de análise de longo prazo (testes de penetração, engenharia reversa, wargames).
Quando comecei a trabalhar com atividades de teste de penetração e análise binária, percebi rapidamente algo:
O problema não é fazer anotações — é gerenciá-las ao longo do tempo.
Uma análise pode durar dias ou meses. Durante esse tempo, você acumula endereços de memória, saídas de teste, desmontagens, comportamentos suspeitos, tentativas fracassadas, ideias para verificar — e tudo isso muitas vezes acaba espalhado por arquivos e pastas.
O resultado? Confusão. Ficar procurando informações entre arquivos dispersos interrompe o fluxo mental e retarda a investigação.
NotaMy foi criado para remover esse atrito: reduzir o custo da troca de contexto, mantendo todas as informações acessíveis pelo shell, organizadas e pesquisáveis.
NotaMy não é um editor de texto. Não é um sistema de markdown. Não é uma aplicação gráfica.
É um sistema mínimo, focado no terminal, para organizar conhecimento técnico em arquivos de notas (contextos) e estruturas de árvore hierárquica de nós/etiquetas.
Cada arquivo de notas representa um projeto ou investigação. Trocar de arquivo significa trocar de espaço mental.
Exemplo:
ntm view file

Você pode trocar de contexto com:
ntm setting 2
As notas são organizadas como nós em uma árvore. Cada nó pode conter:
Você pode armazenar um post-it ou um livro inteiro. Tudo no mesmo lugar.
Exemplo:
ntm view note

# indica que a nota contém texto expansível.
Você pode expandir cada nó para visualizar seu conteúdo:
ntm view note -b

ntm add note -t "TAG" -c "Comentário curto"
ntm add note -t "TAG" -c "Comentário" -b
O editor abre, salvo e saio, e o corpo é inserido na nota.
NotaMy é para quem:
Provavelmente não é para você se:
NotaMy é mínimo e focado.
NotaMy nasceu de uma necessidade pessoal:
Reduzir o custo mental da troca de contexto.
As notas não são o problema. A complexidade é.
Em 2020, comecei com uma versão básica chamada "Note Management": texto estruturado simples. Já era útil. Depois vieram MemoKeeper e MemoKeeperX, com arquivos e etiquetas separados. Com o tempo, tornou-se parte do meu fluxo de trabalho diário: testes de penetração, estudos, ideias e pequenos projetos.
NotaMy é a versão madura desse fluxo: mínimo, confiável e adaptado à minha forma de trabalhar.
Quer saber por que e como NotaMy nasceu? Leia a FILOSOFIA do projeto.
git clone https://github.com/IMprojtech/NotaMy.git
cd NotaMy
make
./bin/ntm
NotaMy ao seu PATHApós compilar o ntm, talvez você queira executá-lo de qualquer lugar sem digitar o caminho completo. Aqui está uma abordagem comum:
sudo cp ./bin/ntm /usr/local/bin/
sudo cp ./bin/ntm_nc /usr/local/bin/
Ou, se preferir uma instalação local (sem sudo):
mkdir -p "$HOME/.local/bin"
cp ./bin/ntm "$HOME/.local/bin/"
cp ./bin/ntm_nc "$HOME/.local/bin/"
Certifique-se de que esse diretório esteja no seu PATH. A maioria das distribuições Linux inclui /usr/local/bin por padrão. Se usou ~/.local/bin, garanta que o arquivo de inicialização do seu shell o adicione ao PATH. Por exemplo, em ~/.bashrc ou ~/.zshrc:
# Adicione isto se ainda não estiver presente:
export PATH="$HOME/.local/bin:$PATH"
Alternativamente, você pode adicionar diretamente o diretório bin ao seu arquivo de inicialização do shell:
export PATH="$HOME/caminho/para/NotaMy/bin:$PATH"
NotaMy fornece um wrapper opcional para Zsh que melhora a experiência do usuário sem modificar o programa C principal.
O wrapper adiciona:
ntm encapsulado com melhor tratamento de saídabatfview para visualização interativa de notas (fzf + bat)nocolor para remover sequências de escape ANSIO wrapper permite alternar temporariamente o arquivo ativo colocando seu número antes do comando:
ntm 1 view note
Adicione o arquivo do plugin ao seu ~/.zshrc:
source /caminho/para/NotaMy/shell/zsh/notamy.plugin.zsh
Depois recarregue seu shell:
source ~/.zshrc
⚠️ A integração com Zsh é completamente opcional. O aplicativo C principal funciona de forma independente.
Um manual do usuário completo está disponível com instruções de instalação, exemplos de uso e todos os comandos suportados:
Este programa é distribuído sob os termos da GNU General Public License (GPL), garantindo a liberdade de redistribuir e modificar o software de acordo com os padrões de software livre.
Escrito por Catoni Mirko (IMprojtech)