@pocoyo61sadq21da/backup-joao
v1.2.0
Published
Empacota so o que e autoral, cifra com senha e restaura numa maquina nova com um comando.
Maintainers
Readme
backup-joao
Empacota só o que é autoral — código, documentos, configurações, dados — e ignora
node_modules, .git, __pycache__, caches de build e binários baixados.
# na máquina antiga
npx @pocoyo61sadq21da/backup-joao --dry-run
npx @pocoyo61sadq21da/backup-joao --cifrar
# na máquina nova: pergunta token e senha sem exibir
npx @pocoyo61sadq21da/backup-joao restaurarSai também um .manifesto.txt com o SHA256 do pacote, a lista completa de arquivos e
o que ficou de fora por ultrapassar o limite de tamanho.
Restaurar numa máquina nova
O comando curto já conhece o repositório privado, a release, o arquivo e o SHA256 do
backup de João. Ele pergunta o token do GitHub e a senha sem exibi-los, baixa o pacote,
confere a integridade, decifra e extrai. No Windows, também renomeia Documentos →
Documents e Área de trabalho → Desktop, fundindo com as pastas existentes sem
apagar nada.
npx @pocoyo61sadq21da/backup-joao restaurar
npx @pocoyo61sadq21da/backup-joao restaurar --de=D:\\backup.enc
npx @pocoyo61sadq21da/backup-joao restaurar --de=https://.../backup.enc
npx @pocoyo61sadq21da/backup-joao restaurar --simularPara outro backup, informe --de e --sha256. O token também pode vir da variável
GITHUB_TOKEN. Nunca coloque token ou senha em documentação, commits ou pacotes.
Opções
| Flag | Padrão | O que faz |
|---|---|---|
| --dry-run, -n | — | Simula: lista e mede, não escreve nada |
| --incluir-git | — | Preserva as pastas .git (histórico de commits) |
| --dest=<pasta> | ~/Documentos/backups | Onde salvar o pacote |
| --origem=<pasta> | sua pasta pessoal | O que varrer |
| --max-mb=<n> | 100 | Arquivos maiores que isso ficam de fora (e são listados) |
O que entra
Pastas de projeto (joao-rag, odysseus, webfy-leads, open-design, …), pastas
pessoais (Documentos, Área de trabalho, Imagens, Vídeos) e as pastas ocultas de
ferramentas de IA — .claude-flow, .codex, .cursor, .gemini e afins, onde ficam
seus agentes, memórias e prompts.
O que fica de fora
node_modules, .git (salvo com --incluir-git), __pycache__, .venv, dist,
build, .next, .turbo, test-results, .vercel/output, caches do sistema
(.cache, .npm, .local) e qualquer arquivo acima de 100 MB.
Criptografia
--cifrar protege o pacote com AES-256-GCM e chave derivada por scrypt a partir da sua
senha. Não depende de GPG nem de nada instalado: é só o módulo crypto do Node, então
funciona igual no Linux e no Windows.
Isso importa porque seus arquivos .env entram no pacote — sem eles o projeto não sobe.
Com o pacote cifrado, mesmo que o link vaze, o conteúdo não abre sem a senha.
Senha errada, arquivo truncado ou um byte trocado no caminho: a verificação do GCM falha e nada é extraído.
Restaurar
tar tzf backup-joao-AAAAMMDD-HHMM.tar.gz | less # conferir sem extrair
mkdir -p /tmp/restore && tar xzf backup-joao-*.tar.gz -C /tmp/restore