Sobre o projeto

pixelpets é um companheiro de desktop Electron para Windows 10/11, com um port beta para macOS 12+ (código completo e assinado ad-hoc, mas, conforme o README, ainda não executado em hardware Apple real). O Linux não é suportado: a sobreposição e os hooks de entrada global são exclusivos de Windows/macOS. Você pode instalar um instalador pré-compilado para Windows ou executar a partir do código-fonte com git, Node 20 ou superior, e `npm install` / `npm start`; uma demo de navegador executa o mesmo renderizador sem necessidade de instalação. As builds não são assinadas, portanto, o Windows SmartScreen e o macOS Gatekeeper emitirão avisos na primeira inicialização, e a instalação se registra para iniciar no login (`npm run autostart:off` desativa isso). O que ele faz O pet vive em uma sobreposição transparente e "click-through" acima de todas as outras janelas; apenas o pet em si é clicável. Ele reage a carinhos, arrastes, digitação, rolagem e brincadeiras com o cursor, com respostas controladas por um modelo de humor interno que varia de calmo até "zoomies". Arrastá-lo o estica, e o ponto de soltura torna-se sua nova casa na linha inferior. O clique direito alterna as pelagens; tocar produz olhos felizes, corações e um pio; descansar o cursor em sua cabeça ou corpo gera reações distintas de carinho. Digitar em qualquer lugar aciona a amassada de patas dianteiras (digitação rápida o superaquece), e a rolagem faz com que ele tente pegar uma folha ou suba em uma corda de lã nas pelagens que possuem arte de pintura. Um ícone na bandeja oferece configurações, início de pausa, escolha de pelagem, área de jogo, alternadores de som/caça/humor e sair. Visuais e áudio O app disponibiliza 14 pelagens de gato mais um Labrador Preto, todas recoloridas no momento do desenho a partir de um único sprite codificado por função. As animações, incluindo os membros, são compostas nesse mesmo sprite, portanto, cada pelagem e ambas as espécies recebem todas as poses em suas próprias cores sem arquivos de imagem extras. As pelagens podem ser desenhadas, importadas e exportadas pelos usuários. Não existem arquivos de áudio: o miado, latido, ronrono, arquejo e um loop de música lo-fi improvisado são sintetizados ao vivo com Web Audio. Recursos de produtividade Além dos comportamentos do pet, ele oferece timers de pausa e Pomodoro, lembretes repetitivos, uma nota fixada, alertas de e-mails não lidos via IMAP e avisos de calendário. O Focus Guard lê um estado de "ocupado" de um evento de calendário ao vivo, Horas Silenciosas ou modo Trabalho, estaciona o pet e retém mensagens em vez de interromper um compartilhamento de tela; as mensagens retidas são resumidas em uma linha assim que você estiver livre. As configurações persistem em `settings.json` na pasta de dados do app por usuário, e instalações anteriores à renomeação do projeto são migradas. Timers e lembretes funcionam apenas enquanto o app está em execução e usam o relógio local. Integração com agente de IA pixelpets pode reagir ao status de trabalho de um agente de codificação: ele pondera com a pata no queixo enquanto o agente pensa, bate a pata acompanhando um spinner enquanto ele trabalha, recua em erros, e pula e mia quando o agente termina. Qualquer ferramenta pode sinalizá-lo executando o `agent-hook.js` com um estado como thinking, editing, error, done ou idle, que escreve um pequeno arquivo de status que o pet monitora. Configurações prontas são fornecidas para Claude Code, Codex CLI, Cursor, Antigravity e Kiro, e o helper é seguro para hooks: ele drena o stdin e responde `{"continue": true}`, para não bloquear ou alterar o agente. Privacidade Como reage à digitação e rolagem, o app escuta eventos de entrada globais. O README afirma que a entrada é usada apenas para acionar animações no momento, em sua máquina: as teclas digitadas nunca são registradas, armazenadas ou transmitidas. Não há telemetria, nem atualização automática, nem conexões de rede, a menos que você configure os alertas opcionais de e-mail ou calendário, que se comunicam apenas com os servidores especificados por você através de processos worker isolados. Senhas de app IMAP são armazenadas criptografadas em repouso usando o `safeStorage` do Electron, em vez de no `settings.json`. Desenvolvimento e documentação A documentação cobre recursos, pelagens personalizadas, arquitetura, um guia de desenvolvimento, um pacote de frames para pintura manual e importação de poses, hooks de agente e uma pequena ferramenta de terminal para iPad. `npm test` executa a suíte sem Electron ou GPU, `npm run lint` corresponde ao que o CI executa junto a uma verificação de boot, `npm run poses:cat` gera folhas de contato de cada atividade em cada pelagem para QA visual, e `npm run demo:all` regenera a mídia do README. Como a sobreposição é composta por GPU, capturas de tela comuns não conseguem capturá-la, portanto, a revisão visual depende dessas folhas de contato. O projeto possui licença MIT; arte, código e som são descritos como originais, e cita dois pets de desktop de código aberto como inspiração, afirmando que nenhum asset, sprite, áudio ou branding de terceiros é utilizado. Contribuições são bem-vindas, com um guia de contribuição, uma política privada de relatórios de segurança, discussões para pelagens personalizadas e setups de mesa, e um checklist beta voltado para proprietários de Mac como a contribuição atual mais útil.