{"id":27552979,"url":"https://github.com/komido/dotfiles","last_synced_at":"2026-05-07T11:31:47.104Z","repository":{"id":287488367,"uuid":"964901560","full_name":"Komido/dotfiles","owner":"Komido","description":"Dotfiles personalizados para Fish Shell","archived":false,"fork":false,"pushed_at":"2025-04-18T22:25:16.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T09:10:58.384Z","etag":null,"topics":["cli-tools","dotfiles","fish-shell","fzf","iterm2","music","nerd-fonts","productivity","shell","starship","terminal","zoxide"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Komido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-12T01:58:42.000Z","updated_at":"2025-04-18T22:25:20.000Z","dependencies_parsed_at":"2025-04-12T03:19:55.222Z","dependency_job_id":"b55ea1c8-833b-4110-a855-2dd1739cf765","html_url":"https://github.com/Komido/dotfiles","commit_stats":null,"previous_names":["komido/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Komido%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Komido%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Komido%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Komido%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Komido","download_url":"https://codeload.github.com/Komido/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249685292,"owners_count":21310577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli-tools","dotfiles","fish-shell","fzf","iterm2","music","nerd-fonts","productivity","shell","starship","terminal","zoxide"],"created_at":"2025-04-19T11:41:25.523Z","updated_at":"2026-05-07T11:31:47.098Z","avatar_url":"https://github.com/Komido.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐟 Dotfiles — Fish Shell Setup\n\n![Shell](https://img.shields.io/badge/shell-fish-00aced?logo=gnu-bash\u0026logoColor=white)\n![License](https://img.shields.io/badge/license-MIT-green)\n![Last Update](https://img.shields.io/github/last-commit/Komido/dotfiles)\n\nEste repositório contém minha configuração pessoal para o terminal Fish Shell no macOS. Foco em produtividade, estética e automações para desenvolvimento.\n\n## 🌟 Features\n\n- Prompt com Starship\n- Navegação rápida com `zoxide` + `fzf`\n- Visual avançado com `eza`, `bat`, Nerd Font\n- Função `proj`: exibição interativa dos meus projetos com metadados\n- Função `fin`: abre o Finder na pasta atual do terminal\n- Função `musica`: controle do app Música pelo terminal (play/pause, próxima faixa, volume, playlists)\n- Função `gitclone`: exibe detalhes do repositório remoto antes de confirmar o clone (clona sempre em `~/Projetos`)\n- Função `tempmail`: cria e gerencia e-mails temporários com `mail.tm`, lista inbox com índice numérico e permite ler mensagens diretamente\n- Função `maccy`: instala o gerenciador de área de transferência Maccy via Homebrew\n- Função `dotsetup`: executa o `install.fish` a partir de qualquer lugar para atualizar ou reconfigurar o ambiente\n- Função `devutil`: toolkit para devs (gera CUID, UUID, CPF, CNPJ, decodifica JWT)\n- Função `try_install_tool`: função auxiliar para verificar e instalar ferramentas com `npm` ou `brew`\n- Função `api_test`: testa APIs REST/GraphQL com suporte a diferentes métodos HTTP e autenticação\n\n## 📄 Arquivos\n\n### `config.fish`\n\nResponsável por carregar:\n\n- `starship` (tema do prompt)\n- `fzf` (busca fuzzy)\n- `zoxide` (cd inteligente)\n- Aliases personalizados\n- Funções personalizadas como `proj`, `fin`, `musica`, `gitclone`, `tempmail`, `maccy`, `dotsetup`, `devutil`, `api_test`\n\n### `functions/proj.fish`\n\nMostra os projetos da pasta `~/Projetos` com:\n\n- Tipo (api, app, script, serverless)\n- Versão (package.json)\n- Node version (package.json ou .nvmrc)\n- Status do Git\n- Data do último commit\n- Interface fzf com colunas organizadas\n\n### `functions/fin.fish`\n\nAbre a pasta atual do terminal no Finder, com tamanho da janela definido.\n\n### `functions/gitclone.fish`\n\nRecebe uma URL de repositório (`git@...` ou `https://...`), exibe:\n\n- Nome do projeto\n- Branch padrão\n- Branches disponíveis\n- Teste de acesso ao repositório\n- Confirmação antes de clonar\n- Clona sempre dentro de `~/Projetos`\n\n### `functions/tempmail.fish`\n\nCria um novo e-mail temporário com `mail.tm`, armazena as credenciais no cache e permite:\n\n- Listar a caixa de entrada no terminal (uma linha por e-mail, com índice numérico)\n- Exibir os remetentes e assuntos numerados\n- Selecionar e ler a mensagem diretamente pelo índice\n- Exibir as credenciais salvas\n\nExemplo de uso:\n\n```bash\ntempmail\n```\n\n### `functions/maccy.fish`\n\nInstala o Maccy (gerenciador de histórico de área de transferência para macOS) via Homebrew:\n\n- Verifica se já está instalado\n- Caso contrário, instala com `brew install --cask maccy`\n\n### `functions/dotsetup.fish`\n\nExecuta o script de instalação dos dotfiles a partir de qualquer lugar.\n\n```bash\ndotsetup\n```\n\n### `functions/devutil.fish`\n\nToolkit prático com comandos para desenvolvimento:\n\n- `devutil cuid` → gera CUID (usa pacote `cuid-cli`)\n- `devutil uuid` → gera UUID v4 e copia para área de transferência\n- `devutil pass [len]` → gera senha forte (padrão 20 chars)\n- `devutil lorem [type|len]` → gera texto placeholder (word, sentence, paragraph ou número de caracteres)\n- `devutil base64 [op] [txt]` → encode/decode base64\n- `devutil jwt TOKEN` → decodifica JWT (mostra payload com `jq`)\n- `devutil cpf` → gera um CPF válido e copia sem quebra de linha\n- `devutil cnpj` → gera um CNPJ válido e copia sem quebra de linha\n- `devutil epoch` → mostra timestamp atual (epoch)\n- `devutil epoch [epoch]` → converte epoch para data legível\n\n### `functions/dock.fish`\n\nControla a visibilidade do Dock do macOS:\n\n- `dock hide` → Ativa o \"Auto Hide\" (ganhar espaço de tela)\n- `dock show` → Desativa o \"Auto Hide\" (sempre visível)\n- `dock reset` → Reinicia o processo do Dock (útil se travar)\n\n### `functions/api_test.fish`\n\nTesta APIs REST/GraphQL com suporte a diferentes métodos HTTP e autenticação.  \n**Agora mais simples:**\n\n- Headers: passe como `Chave:Valor` (ex: `Authorization:'Bearer token'`)\n- Dados: passe como `chave=valor` (ex: `name=John age=30`)\n- GraphQL: envie a query como `query='...'`\n- Query Params: adicione `?chave=valor` na URL\n- Path Params: use `:valor` na URL\n\n#### Exemplos de uso:\n\n```bash\n# REST API básica\napi_test get https://api.github.com/users/octocat\napi_test post https://api.example.com/users name=John age=30\n\n# Headers de autenticação\napi_test get https://api.example.com/users Authorization:'Bearer token123'\napi_test post https://api.example.com/users Authorization:'Bearer token123' name=John age=30\n\n# Query Params\napi_test get https://api.example.com/users?page=1\u0026limit=10\napi_test get https://api.example.com/users?page=1\u0026limit=10 Authorization:'Bearer token123'\n\n# Path Params\napi_test get https://api.example.com/users/:id\napi_test get https://api.example.com/users/:id Authorization:'Bearer token123'\n\n# Métodos HTTP\napi_test put https://api.example.com/users/1 name=John age=31\napi_test patch https://api.example.com/users/1 age=32\napi_test delete https://api.example.com/users/1\n\n# GraphQL\napi_test post https://api.example.com/graphql query='query { users { id name } }'\napi_test post https://api.example.com/graphql Authorization:'Bearer token123' query='query { users { id name } }'\n```\n\n**Ordem dos argumentos:**\n\n1. Método HTTP (`get`, `post`, `put`, `delete`, `patch`)\n2. URL do endpoint (pode incluir query params e path params)\n3. Headers (opcional): `Chave:Valor`\n4. Dados (opcional): `chave=valor`\n5. Query GraphQL (opcional): `query='...'`\n\n### `functions/try_install_tool.fish`\n\nFunção auxiliar que verifica se uma ferramenta está instalada e pergunta se deseja instalar com `npm` (padrão) ou `brew`.\n\n## 🛠️ Requisitos\n\n- [fish shell](https://fishshell.com/)\n- [starship](https://starship.rs/)\n- [zoxide](https://github.com/ajeetdsouza/zoxide)\n- [fzf](https://github.com/junegunn/fzf)\n- [bat](https://github.com/sharkdp/bat)\n- [eza](https://github.com/eza-community/eza)\n- [jq](https://stedolan.github.io/jq/)\n- [cuid-cli (npm)](https://www.npmjs.com/package/cuid-cli)\n- JetBrainsMono Nerd Font\n\n## 🚀 Primeira Instalação\n\n```bash\ngit clone https://github.com/Komido/dotfiles ~/.dotfiles\ncd ~/.dotfiles\n\nchmod +x install.fish\n./install.fish\n```\n\nPara reinstalar ou reconfigurar o ambiente futuramente:\n\n```bash\ndotsetup\n```\n\n### Configurações Locais\n\nPara variáveis de ambiente sensíveis (tokens) ou configurações específicas da máquina, crie o arquivo `~/.config.fish.local`. Ele será carregado automaticamente e é ignorado pelo Git.\n\n## 🧼 Licença\n\nMIT — Sinta-se à vontade para copiar, modificar, usar, sugerir melhorias e distribuir.\n\n## 💡 Funções disponíveis\n\n```bash\nproj             # Lista projetos com metadados e fzf\ngitclone         # Exibe dados do repositório antes de clonar em ~/Projetos\nfin              # Abre a pasta atual no Finder (com tamanho fixo)\nmusica           # Controla o app Música (play/pause/próxima/volume/playlists)\napi_test         # Testa APIs REST/GraphQL com suporte a diferentes métodos HTTP e autenticação\ntempmail         # Gera e gerencia e-mails temporários com mail.tm\ndevutil          # Utilitários diversos: UUID, pass, lorem, base64, jwt, etc.\ndock             # Controla visibilidade do Dock (hide/show/reset)\ndotsetup         # Setup auxiliar de pós-instalação e dotfiles\nmaccy            # Instala e configura o Maccy via Homebrew\ntry_install_tool # Instala ferramentas com brew ou npm (com confirmação)\ndothelp          # Lista e explica todas as funções acima\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomido%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkomido%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomido%2Fdotfiles/lists"}