Pular para o conteúdo

Pronto para LLM

/lab.md

Título:
Coçando as minhas próprias coceiras

Coçando as minhas próprias coceiras

Ferramentas open source que eu fiz para resolver problemas meus: apps e plugins para o meu desktop Linux, CLIs, automações e ferramental para agentes de IA, boa parte escrita junto com os próprios agentes.

AI Bar

Plugin para o Noctalia Shell que mostra na barra quanto do plano do Claude Code e do Grok já foi usado: a porcentagem da janela mais crítica, o tempo até ela reiniciar e uma barra de progresso. No painel, cada janela aparece com o ritmo de uso, adiantado ou atrasado em relação ao tempo que passou.

Amnesia

Camada de memória persistente e determinística para o Claude Code. Merge, deduplicação e validação saem do modelo e vão para um CLI em Python, então o resultado é o mesmo em toda execução e o agente para de responder com um dado lembrado errado. Uso diário no meu próprio fluxo de trabalho.

CoachBot

Coach antimotivacional para o terminal: a cada shell aberto, uma frase sarcástica num balão, dita por um robozinho em pixel art. São mais de cem frases em inglês e outras tantas em português, e instala com uma linha só.

Daybar

Plugin para o Noctalia Shell que reúne o dia numa barra: um campo de captura rápida que entende texto livre ("comprar pão amanhã 9h" vira tarefa, "/e reunião sexta 15h-16h" vira evento no Google Calendar), além de checklist de hoje, pomodoro e timer (que também abrem numa janela própria ou fixos num canto da tela), favoritos com prévia da página e notas em Markdown.

Desktop Sticky Notes

Plugin para o Noctalia Shell que prende notas adesivas na área de trabalho como widgets: cada nota pode ser arrastada e redimensionada, tem cor de post-it e texto em Markdown, abre um editor ao clique e pode ficar ligada a um arquivo .md no disco, atualizando quando o arquivo muda.

FlipClock

Relógio de flip para o desktop, feito em Go com Fyne, com animação de virada em duas fases, modo tela cheia e um modo protetor de tela que cobre todos os monitores conectados. A fonte vai embutida no binário, então o app roda sem depender de nenhum arquivo externo.

FlipClock ASCII Screensaver

Protetor de tela para Hyprland que desenha a hora em ASCII grande dentro de um terminal em tela cheia, um por monitor, com transições do Terminal Text Effects a cada minuto. Entra pelo hypridle quando a máquina fica ociosa e sai no primeiro movimento.

Forja

Cliente desktop que reúne Claude Code, Codex e Gemini numa só interface, para não perder contexto alternando entre três terminais. Feito em Electron, React e TypeScript, com xterm.js para o terminal e uma camada de adaptação por CLI em vez de impor um protocolo comum às três. É o meu cliente principal no dia a dia.

  • Stack: Electron, React, TypeScript
  • Markdown: forja.md

Forja Plugins

Registro oficial e monorepo de plugins do Forja: relógio, Pomodoro e tarefas em Markdown, sobre um SDK compartilhado com tipos da API de plugins. Cada plugin declara as permissões que usa, e um script gera o registro que o Forja consulta para instalar.

Gistbar

Plugin para o Noctalia Shell que traz os meus gists do GitHub para a barra: busca por descrição, nome de arquivo, linguagem e conteúdo, cópia pelo teclado, gist novo a partir da área de transferência, prévia e edição, tudo pelo gh CLI.

grab-sh

Script mínimo de screenshot para Wayland e Hyprland que copia direto para a área de transferência, sem salvar arquivo no disco. Dois atalhos de teclado: tela inteira ou uma área escolhida com a mira.

  • Stack: Shell, Hyprland, Wayland
  • Markdown: grab-sh.md

Hypr Switcher

Alt+Tab visual para o Hyprland, que não traz um alternador de janelas próprio. Em Rust sobre a camada layer-shell do Wayland, para o overlay aparecer acima de tudo sem roubar o foco, e com a latência de abertura como critério principal, porque é ela que decide se a ferramenta é usada ou abandonada.

job-radar

Varre sites de vagas, descarta o que não combina com o seu perfil e publica as compatíveis no Discord, rodando sozinho algumas vezes por dia. Python puro, sem dependências: filtros duros decidem o que passa, uma pontuação de 0 a 100 ordena o resto, e as qualificações saem do próprio currículo em markdown.

  • Stack: Python, pytest, Discord, systemd
  • Markdown: job-radar.md

rdo-solo

Controlador de sessão solo para Red Dead Online e GTA Online, que bloqueia o tráfego peer-to-peer do jogo no gateway Linux por onde o console passa. Começou como script de iptables e ganhou uma TUI em Rust, com jogadores na sessão e GeoIP, e um painel web para ligar e desligar o modo solo pelo celular.

  • Stack: Rust, Ratatui, Shell, iptables, Next.js
  • Markdown: rdo-solo.md

Tumodori

Pomodoro de terminal com dígitos grandes, legíveis de longe sem aproximar do monitor. Feito em Rust com Ratatui, para o cronômetro viver no mesmo lugar que o trabalho, e com os dígitos desenhados em bloco, para o tamanho não depender da fonte configurada no terminal de quem usa.

Outros projetos abertos

  • sextafeirachegou.com.br: Site que responde se já é sexta, com contagem regressiva e drama (TypeScript, 2026)
  • motivaai: Gerador de frases motivacionais, refeito em Remix (TypeScript, 2019)
  • vovo-juju-ipsum: Gerador de falas da vovó Juju, da animação Irmão do Jorel (Vue, 2019)
  • app-whatsapp-url: Gera o link de conversa do WhatsApp para qualquer número (Vue, 2018)
  • nandomoreira.me-nuxt-theme: Uma versão antiga do meu site pessoal, em Vue com Nuxt (Vue, 2016)
  • end2end: Tema Jekyll limpo para blogs (Sass, 2015)
  • dotX: Tema Jekyll simples para blogs (CSS, 2015)
  • lora: Tema Jekyll gratuito para blogs (CSS, 2015)

Todos os repositórios: https://github.com/nandomoreirame?tab=repositories

---
title: Coçando as minhas próprias coceiras
url: https://nandomoreira.dev/lab
---

# Coçando as minhas próprias coceiras

Ferramentas open source que eu fiz para resolver problemas meus: apps e plugins para o meu desktop Linux, CLIs, automações e ferramental para agentes de IA, boa parte escrita junto com os próprios agentes.

## AI Bar

Plugin para o Noctalia Shell que mostra na barra quanto do plano do Claude Code e do Grok já foi usado: a porcentagem da janela mais crítica, o tempo até ela reiniciar e uma barra de progresso. No painel, cada janela aparece com o ritmo de uso, adiantado ou atrasado em relação ao tempo que passou.

- Stack: QML, JavaScript, Noctalia Shell, Vitest
- Markdown: [noctalia-aibar.md](https://nandomoreira.dev/lab/noctalia-aibar.md)

## Amnesia

Camada de memória persistente e determinística para o Claude Code. Merge, deduplicação e validação saem do modelo e vão para um CLI em Python, então o resultado é o mesmo em toda execução e o agente para de responder com um dado lembrado errado. Uso diário no meu próprio fluxo de trabalho.

- Stack: Python, Claude Code
- Markdown: [amnesia-claude-code.md](https://nandomoreira.dev/lab/amnesia-claude-code.md)

## CoachBot

Coach antimotivacional para o terminal: a cada shell aberto, uma frase sarcástica num balão, dita por um robozinho em pixel art. São mais de cem frases em inglês e outras tantas em português, e instala com uma linha só.

- Stack: Shell, JSON
- Markdown: [coachbot-cli.md](https://nandomoreira.dev/lab/coachbot-cli.md)

## Daybar

Plugin para o Noctalia Shell que reúne o dia numa barra: um campo de captura rápida que entende texto livre ("comprar pão amanhã 9h" vira tarefa, "/e reunião sexta 15h-16h" vira evento no Google Calendar), além de checklist de hoje, pomodoro e timer (que também abrem numa janela própria ou fixos num canto da tela), favoritos com prévia da página e notas em Markdown.

- Stack: QML, JavaScript, Noctalia Shell, Google Calendar
- Markdown: [noctalia-daybar.md](https://nandomoreira.dev/lab/noctalia-daybar.md)

## Desktop Sticky Notes

Plugin para o Noctalia Shell que prende notas adesivas na área de trabalho como widgets: cada nota pode ser arrastada e redimensionada, tem cor de post-it e texto em Markdown, abre um editor ao clique e pode ficar ligada a um arquivo .md no disco, atualizando quando o arquivo muda.

- Stack: QML, JavaScript, Noctalia Shell, Markdown, Vitest
- Markdown: [noctalia-desktop-sticky-notes.md](https://nandomoreira.dev/lab/noctalia-desktop-sticky-notes.md)

## FlipClock

Relógio de flip para o desktop, feito em Go com Fyne, com animação de virada em duas fases, modo tela cheia e um modo protetor de tela que cobre todos os monitores conectados. A fonte vai embutida no binário, então o app roda sem depender de nenhum arquivo externo.

- Stack: Go, Fyne, OpenGL
- Markdown: [flipclock-app.md](https://nandomoreira.dev/lab/flipclock-app.md)

## FlipClock ASCII Screensaver

Protetor de tela para Hyprland que desenha a hora em ASCII grande dentro de um terminal em tela cheia, um por monitor, com transições do Terminal Text Effects a cada minuto. Entra pelo hypridle quando a máquina fica ociosa e sai no primeiro movimento.

- Stack: Python, Shell, Hyprland
- Markdown: [flipclock-screensaver-ascii.md](https://nandomoreira.dev/lab/flipclock-screensaver-ascii.md)

## Forja

Cliente desktop que reúne Claude Code, Codex e Gemini numa só interface, para não perder contexto alternando entre três terminais. Feito em Electron, React e TypeScript, com xterm.js para o terminal e uma camada de adaptação por CLI em vez de impor um protocolo comum às três. É o meu cliente principal no dia a dia.

- Stack: Electron, React, TypeScript
- Markdown: [forja.md](https://nandomoreira.dev/lab/forja.md)

## Forja Plugins

Registro oficial e monorepo de plugins do Forja: relógio, Pomodoro e tarefas em Markdown, sobre um SDK compartilhado com tipos da API de plugins. Cada plugin declara as permissões que usa, e um script gera o registro que o Forja consulta para instalar.

- Stack: TypeScript, Vite, pnpm, Vitest
- Markdown: [forja-plugins.md](https://nandomoreira.dev/lab/forja-plugins.md)

## Gistbar

Plugin para o Noctalia Shell que traz os meus gists do GitHub para a barra: busca por descrição, nome de arquivo, linguagem e conteúdo, cópia pelo teclado, gist novo a partir da área de transferência, prévia e edição, tudo pelo gh CLI.

- Stack: QML, JavaScript, Noctalia Shell, GitHub CLI, Vitest
- Markdown: [noctalia-gistbar.md](https://nandomoreira.dev/lab/noctalia-gistbar.md)

## grab-sh

Script mínimo de screenshot para Wayland e Hyprland que copia direto para a área de transferência, sem salvar arquivo no disco. Dois atalhos de teclado: tela inteira ou uma área escolhida com a mira.

- Stack: Shell, Hyprland, Wayland
- Markdown: [grab-sh.md](https://nandomoreira.dev/lab/grab-sh.md)

## Hypr Switcher

Alt+Tab visual para o Hyprland, que não traz um alternador de janelas próprio. Em Rust sobre a camada layer-shell do Wayland, para o overlay aparecer acima de tudo sem roubar o foco, e com a latência de abertura como critério principal, porque é ela que decide se a ferramenta é usada ou abandonada.

- Stack: Rust, Wayland, Hyprland
- Markdown: [hypr-switcher.md](https://nandomoreira.dev/lab/hypr-switcher.md)

## job-radar

Varre sites de vagas, descarta o que não combina com o seu perfil e publica as compatíveis no Discord, rodando sozinho algumas vezes por dia. Python puro, sem dependências: filtros duros decidem o que passa, uma pontuação de 0 a 100 ordena o resto, e as qualificações saem do próprio currículo em markdown.

- Stack: Python, pytest, Discord, systemd
- Markdown: [job-radar.md](https://nandomoreira.dev/lab/job-radar.md)

## rdo-solo

Controlador de sessão solo para Red Dead Online e GTA Online, que bloqueia o tráfego peer-to-peer do jogo no gateway Linux por onde o console passa. Começou como script de iptables e ganhou uma TUI em Rust, com jogadores na sessão e GeoIP, e um painel web para ligar e desligar o modo solo pelo celular.

- Stack: Rust, Ratatui, Shell, iptables, Next.js
- Markdown: [rdo-solo.md](https://nandomoreira.dev/lab/rdo-solo.md)

## Tumodori

Pomodoro de terminal com dígitos grandes, legíveis de longe sem aproximar do monitor. Feito em Rust com Ratatui, para o cronômetro viver no mesmo lugar que o trabalho, e com os dígitos desenhados em bloco, para o tamanho não depender da fonte configurada no terminal de quem usa.

- Stack: Rust, Ratatui
- Markdown: [tumodori.md](https://nandomoreira.dev/lab/tumodori.md)

## Outros projetos abertos

- [sextafeirachegou.com.br](https://github.com/nandomoreirame/sextafeirachegou.com.br): Site que responde se já é sexta, com contagem regressiva e drama (TypeScript, 2026)
- [motivaai](https://github.com/nandomoreirame/motivaai): Gerador de frases motivacionais, refeito em Remix (TypeScript, 2019)
- [vovo-juju-ipsum](https://github.com/nandomoreirame/vovo-juju-ipsum): Gerador de falas da vovó Juju, da animação Irmão do Jorel (Vue, 2019)
- [app-whatsapp-url](https://github.com/nandomoreirame/app-whatsapp-url): Gera o link de conversa do WhatsApp para qualquer número (Vue, 2018)
- [nandomoreira.me-nuxt-theme](https://github.com/nandomoreirame/nandomoreira.me-nuxt-theme): Uma versão antiga do meu site pessoal, em Vue com Nuxt (Vue, 2016)
- [end2end](https://github.com/nandomoreirame/end2end): Tema Jekyll limpo para blogs (Sass, 2015)
- [dotX](https://github.com/nandomoreirame/dotX): Tema Jekyll simples para blogs (CSS, 2015)
- [lora](https://github.com/nandomoreirame/lora): Tema Jekyll gratuito para blogs (CSS, 2015)

Todos os repositórios: https://github.com/nandomoreirame?tab=repositories