1

Pitch: Deixando seu ambiente de desenvolvimento pronto com o Upone

Quase todo projeto acaba tendo um setup.sh (ou um README com 6 comandos pra rodar na ordem certa).

O problema é que esse script precisa ser mantido, pois qualquer mudança de tecnologia que você fizer, ele fica desatualizado e as vezes cada pessoa tem uma versão diferente, não sabe se o Postgres já está rodando, não paraleliza o que dá pra paralelizar e quebra quando alguém muda de pnpm pra bun (ou vice-versa).

A ideia do upone é melhorar sua experiência de setup, ele consegue analisar o projeto automaticamente (olhando Cargo.toml, pnpm-lock.yaml, docker-compose.yml, prisma/schema.prisma etc.) e monta o plano de execução sozinho, sem você precisar configurar nada e você só precisa rodar o upone up.

O que ele faz atualmente:

  • Detecta a stack (zero configuração)
  • Instala dependências (npm, pnpm, bun, cargo)
  • Sobe serviços Docker (Postgres, Redis…)
  • Gera client do Prisma e Drizzle
  • Roda o build quando necessário
  • Mostra o plano + nível de risco antes de executar
  • Tem --dry-run e --yes

quem quiser contribuir, testar, aqui está o repo:

https://github.com/CarlosEduJs/upone

Ainda está no começo (v0.3.0). Aceito feedback, críticas e ideias de novos providers.

Carregando publicação patrocinada...
1

Eu sou usuário assíduo de DevContainer usando WSL (quando estou no Windows) + Docker e VSCode. E desde que passei a montar os ambientes de desenvolvimento assim, minha vida ficou muito mais fácil.

Eu não uso as imagens que o VSCode sugere pois acho muito engessadas, eu crio os docker-compose.yml com todos os serviços que preciso e o Dockerfile com as instalações e execução dos scripts necessários.

Além disso, me permite configurar as extensões de VSCode no projeto, assim qualquer outro dev só precisa clonar o repositório e subir o DevContainer, todas as configurações, arquivos, extensões, dependências está tudo lá.

Já procurei por alternativas similares para ter mais opções, por isso me interesso em saber que vantagem o seu projeto teria em relação aos DevContainer?

1

Sua pergunta é boa para eu explicar mais sobre o Upone. Bom, ambos são complementares e não vejo a minha ferramenta como um substituto dos DevContainers; Enquanto o DevContainers resolve problemas de padronizar o ambiente dentro de um container, o upone tenta preparar automaticamente com um unico comando o ambiente a partir do seu repositorio, e é generico, ele não assume uma tecnlogia padrão, editor ou estratégia especifica.

Por exemplo, em um projeto, o upone pode detectar o Drizzle, Bun, Postgres... aqui ele monta a sequência correta para preparar o ambiente. Em outro projeto, pode ser apenas Cargo e Docker Compose. Em um monorepo ele entende os pacotes e executa cada etapa no diretorio correto.

A ideia é permanecer zero config pra maioria dos projetos existentes, o dev clona um repo e executa upone up e a ferramenta descobre a stack, monta um plano, prepara o ambiente e valida que ele está pronto para desenvolvimento local.

Eu diria que ambos respondem perguntas diferentes, enquanto o dev containers responde onde o seu projeto roda, o upone responde como ele deixa o seu projeto pronto pra desenvolver.