Skip to main content

CLI para setup automatizado de ambiente de desenvolvimento no WSL/Linux

Project description

Dev Setup CLI

CLI para automatizar a configuração inicial de ambientes de desenvolvimento em distribuições Linux (WSL).


🎯 Objetivo

Centralizar scripts de instalação e configuração usados no setup de ambientes de desenvolvimento, evitando execução manual repetitiva e reduzindo inconsistências entre máquinas.


🚀 Recursos

  • Atualização de pacotes do sistema
  • Instalação/configuração de Python
  • Instalação de python3-venv
  • Instalação/configuração de Node.js 22
  • Instalação/configuração de Java 21 e Maven
  • Instalação/configuração de Git
  • Instalação/configuração de MySQL
  • Instalação/configuração de PostgreSQL
  • Criação de projeto Python com .venv e main.py
  • Diagnóstico do ambiente com doctor
  • Suporte a --dry-run
  • Suporte a --yes

⚙️ Requisitos

  • Linux / WSL
  • Python 3.10+
  • pip
  • Permissão para executar comandos com sudo

📦 Instalação

Local (modo desenvolvimento)

git clone https://github.com/sobraljhonata/dev-setup-cli
cd dev-setup-cli
pip install -e ".[dev]"

▶️ Uso

devsetup --help

🧩 Comandos

Sistema

devsetup system

Python

devsetup python
devsetup venv

Node.js

devsetup node

Java

devsetup java

Git

devsetup git

Banco de dados

devsetup mysql
devsetup postgres

Criar projeto Python

devsetup project minha-poc

O projeto será criado em:

~/Projetos/minha-poc

Estrutura:

minha-poc/
├── main.py
└── .venv/

🩺 Diagnóstico do ambiente

devsetup doctor

O comando verifica:

  • Ferramentas instaladas
  • Versões mínimas
  • Status de serviços

📊 Versões mínimas

Ferramenta Versão mínima
Python 3.10.0
Node.js 22.0.0
Java 21.0.0
Maven 3.8.0
Git 2.34.0
MySQL 8.0.0
PostgreSQL 14.0.0

⚡ Opções globais

Dry-run

Mostra os comandos sem executar:

devsetup --dry-run system
devsetup --dry-run --yes all

Yes

Confirma automaticamente ações interativas:

devsetup --yes system
devsetup -y system

🏁 Setup completo

devsetup all

Executa:

system
python
node
java
git
mysql
postgres

🧪 Testes

Instalar dependências:

pip install -e ".[dev]"

Rodar testes:

pytest

Cobertura:

pytest --cov --cov-report=term-missing

🏗️ Estrutura do projeto

dev-setup-cli/
├── devsetup/
│   ├── cli.py
│   ├── doctor.py
│   ├── config/
│   │   └── requirements.py
│   ├── core/
│   │   ├── checks.py
│   │   ├── prompt.py
│   │   ├── shell.py
│   │   └── version.py
│   ├── installers/
│   │   ├── git.py
│   │   ├── java.py
│   │   ├── mysql.py
│   │   ├── node.py
│   │   ├── postgres.py
│   │   ├── python.py
│   │   ├── system.py
│   │   └── venv.py
│   └── project/
│       └── python_project.py
├── tests/
├── pyproject.toml
└── README.md

🔒 Segurança

Este CLI executa comandos com sudo.

Recomendado usar:

devsetup --dry-run <comando>

Exemplo:

devsetup --dry-run mysql

🛣️ Roadmap

  • Testes para installers
  • Testes para CLI com Typer CliRunner
  • Melhorias no doctor
  • Suporte a Docker
  • Suporte a SDKMAN
  • Criação de projetos Java/Spring Boot
  • Criação de projetos Node.js/TypeScript
  • Configuração via .devsetup.toml

🤝 Contribuição

Veja o arquivo CONTRIBUTING.md.


📄 Licença

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dev_setup_cli_jhonata-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dev_setup_cli_jhonata-0.1.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file dev_setup_cli_jhonata-0.1.0.tar.gz.

File metadata

  • Download URL: dev_setup_cli_jhonata-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dev_setup_cli_jhonata-0.1.0.tar.gz
Algorithm Hash digest
SHA256 17038a448d22287ae5580111a9b40846ca47a24faa7091229bfbd1bfc7948d00
MD5 25c148ede04be76bd837ee1c4a8b0e65
BLAKE2b-256 e747b481998a23765f70a20356389f498d05d5c556daa9bb174b1361fefb7dee

See more details on using hashes here.

Provenance

The following attestation bundles were made for dev_setup_cli_jhonata-0.1.0.tar.gz:

Publisher: release.yml on sobraljhonata/dev-setup-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dev_setup_cli_jhonata-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dev_setup_cli_jhonata-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d8b2ae70641aa71b6e9910ac92529f6554ecafecf96aa2be92556f4183dd6b0
MD5 05d8a2b85830218edd1ba496613546d1
BLAKE2b-256 6fb406dd6f124205b3841007ada323514ad5ac531fa8700c1ae296230a0f7a83

See more details on using hashes here.

Provenance

The following attestation bundles were made for dev_setup_cli_jhonata-0.1.0-py3-none-any.whl:

Publisher: release.yml on sobraljhonata/dev-setup-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page