@flxlfx/cp-stash
v0.1.4
Published
CLI to zip git stash and modified files preserving directory structure
Readme
cp-stash
CLI para empacotar arquivos de git stash e/ou mudanças locais em um arquivo .zip, preservando a estrutura original do repositório.
O comando principal é cp-stash. O pacote também publica o alias curto cpzip.
O que ele faz
- Coleta arquivos de um
stashespecífico - Coleta arquivos modificados, staged e untracked do working tree
- Junta tudo em um
.zippronto para compartilhar ou arquivar - Preserva os caminhos originais dos arquivos
- Exclui
.claude/por padrão, com opção para incluir
Instalação
Rodar no projeto
bun installInstalar globalmente (habilita cp-stash no terminal)
bun install -g .Depois:
cp-stash --helpBuild local
bun run buildDesenvolvimento
bun run src/index.ts --helpDepois do build, o binário gerado fica em dist/index.js.
Uso rápido
cp-stashIsso gera um .zip com:
- arquivos do
stash@{0} - arquivos modificados
- arquivos staged
- arquivos untracked
O nome padrão do arquivo é:
cp-stash-YYYY-MM-DDTHH-MM-SS.zipComandos disponíveis
Este pacote publica dois comandos equivalentes:
cp-stash
cpzipOpções
| Opção | Descrição |
| --- | --- |
| --stash | Inclui apenas arquivos do stash |
| --modified | Inclui apenas arquivos modificados, staged e untracked |
| --all | Inclui stash + working tree. É o padrão |
| stash@{N} | Seleciona qual stash usar. O padrão é stash@{0} |
| -o, --output | Define o nome do arquivo .zip de saída |
| --with-claude | Inclui arquivos dentro de .claude/ |
| --help, -h | Mostra a ajuda |
Exemplos
Empacotar stash + mudanças locais:
cp-stashEmpacotar apenas arquivos modificados:
cp-stash --modifiedEmpacotar apenas um stash específico:
cp-stash --stash stash@{2}Gerar um zip com nome customizado:
cp-stash -o review-files.zipUsar o alias curto:
cpzip --modified -o hotfix.zipIncluir .claude/ no pacote:
cp-stash --with-claudeComportamento
- O comando precisa ser executado dentro de um repositório Git
- Se não houver arquivos elegíveis, ele encerra sem gerar
.zip - Arquivos que não existirem mais no disco são ignorados com aviso
- Se o arquivo de saída estiver dentro do repositório, ele não é incluído no próprio zip
Desenvolvimento
Scripts disponíveis:
bun run dev
bun run buildEstrutura principal:
src/index.ts # entrada do CLI
dist/index.js # saída do buildRequisitos
- Bun
- Git disponível no ambiente
Licença
MIT
