Communitygithub.com

orodmorais/trip-map-3d

Crie um site de mapa 3D interativo de uma viagem, para qualquer destino, a partir de uma conversa. Use quando alguém quiser transformar um roteiro ou itinerário em um site com terreno real, rotas diárias e clima.

O que é trip-map-3d?

Este skill transforma uma conversa sobre uma viagem em um site completo com mapa 3D interativo, mostrando o terreno real da região, rotas animadas por dia, pins, cartões informativos, dados meteorológicos e suporte offline. Tudo é gerado a partir de um único arquivo `trip.yaml`. O assistente guia o usuário perguntando sobre destino, datas, atividades diárias e preferências (idioma, unidades, fotos, tema). Após coletar as informações, ele escreve o arquivo YAML seguindo um formato específico, executa um pipeline de verificação e construção local, e publica o site via GitHub Pages após confirmação do usuário. O skill respeita políticas de uso de serviços públicos (como Open-Meteo e Nominatim) e alerta sobre questões legais de créditos de dados e fotos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/orodmorais/trip-map-3d/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que trip-map-3d faz?

Transforme uma viagem em um site: um mapa 3D real por região, uma rota animada por dia, pins, cartões, clima e suporte offline. Tudo vem de um único arquivo, trip.yaml.

1. Pergunte sobre a viagem

Pergunte pelo que você não tem, algumas perguntas de cada vez:

  • Onde, quando e quantos dias.
  • Para cada dia: o que planejam fazer e em qual ordem. Apenas os nomes são suficientes.
  • Onde ficam. Avise primeiro que o site é público em uma conta gratuita do GitHub, então um bairro é suficiente. Nunca escreva um endereço completo, a menos que insistam após esse aviso.
  • Idioma (en, pt-BR, es) e unidades.
  • Opcional: pontos de surfe, marés, fotos, um tema.

As fotos devem ser próprias ou licenciadas. Não baixe fotos da internet para eles.

2. Escreva trip.yaml

Siga examples/trip.example.yaml. Apenas title, dates.start e days são obrigatórios. Sempre adicione a cidade a um nome de lugar: "Panteão, Roma", não "Panteão".

3. Construir e revisar

python -m pip install -r requirements.txt
python -m pipeline check trip.yaml

Leia o relatório linha por linha com o usuário. O geocodificador pode estar confiantemente errado, então mostre a eles cada lugar que encontrou. Qualquer linha marcada como CHECK precisa de atenção. Se um lugar estiver errado ou faltando, adicione lat e lon em places: em vez de tentar a pesquisa novamente.

Depois construa:

python -m pipeline build trip.yaml --out dist
python -m pip install -r requirements-dev.txt
python tools/check_site.py dist --shots shots --hashes "" dia-1

Abra as capturas de tela e olhe para elas antes de dizer que funciona. Verifique se todos os lugares cabem, nenhuma rota fica sob um cartão e nenhum erro foi impresso.

4. Publicar, apenas após o usuário confirmar

Confirme o nome do repositório e que ele será público. Então:

  1. Envie para um repositório criado a partir deste modelo.
  2. Em Configurações, Pages, defina Source como GitHub Actions. Esta etapa é manual.
  3. O workflow constrói e publica a cada push.

Regras

  • Serviços públicos são compartilhados. Nunca itere sobre eles. trip.lock.json mantém cada resposta: faça commit e nunca o exclua para tentar novamente.
  • Este projeto não usa a API pública do Nominatim. Sua política proíbe de ser embutida em ferramentas como esta como um geocodificador genérico. Se o usuário perguntar sobre Nominatim, aponte para a política de uso e para services.geocoder para sua própria instância.
  • A API gratuita Open-Meteo é para uso não comercial. Uma agência de viagens precisa de uma chave paga: defina services.open_meteo_key.
  • Mantenha os créditos de dados no site. Eles são legalmente exigidos (veja DATA_SOURCES.md).

Habilidades Relacionadas