Gerador automático de estruturas de projetos para 40+ linguagens
Cria a estrutura base dos seus projetos automaticamente.
Personalizável via JSON, funciona no terminal.
Instalação • Como usar • Linguagens • Features BETA • Launchers
Uma ferramenta CLI que automatiza a criação de projetos. Você define templates em JSON e ela cria toda a estrutura pra você.
Exemplo:
ps3cli . python meu-projetoIsso cria automaticamente:
meu-projeto/
├── src/
│ ├── index.py
│ ├── tool.py
│ └── data.py
├── .gitignore
└── README.md
- Poupa tempo na criação de projetos novos
- Estrutura organizada desde o início
- Templates personalizáveis via JSON
- Suporte para 40+ linguagens
- Interface visual no terminal
- Launchers multiplataforma (Windows & Linux)
- Histórico automático de projetos criados
- Geração inteligente de README com IA (BETA)
git clone https://github.com/QuittoGames/ProjectSetup-3.0.git
cd ProjectSetup-3.0Windows:
ps3.batLinux/macOS:
chmod +x ps3.sh
./ps3.shOs launchers instalam automaticamente todas as dependências!
cd projectsetup3
pip install -r requirements/requirements.txt
python -m projectsetup3# Sintaxe: ps3cli <path> <linguagem> <nome>
ps3cli . python meu-app
ps3cli D:/Projects javascript minha-api
ps3cli . rust gamepython -m projectsetup3Abre um menu interativo com navegação por setas.
from projectsetup3.Services.ProjectManagerService import ProjectManagerService
from pathlib import Path
ProjectManagerService.create_project(
name="meu-projeto",
language="python",
path=Path("./projetos")
)Linguagens Populares
- Python - requirements.txt, src/, .gitignore
- JavaScript - package.json, node_modules/, ESLint
- TypeScript - tsconfig.json, dist/, tipos
- Java - Maven/Gradle, src/main/java/
- Rust - Cargo.toml, src/main.rs
- Go - go.mod, estrutura idiomática
- Ruby - Gemfile, estrutura Rails
- PHP - composer.json, Laravel/Symfony
- Swift - Package.swift, iOS/macOS
- C# - .csproj, .sln, .NET
- C/C++ - CMakeLists.txt, Makefile
Ver todas as 40+ linguagens
- Assembly, Clojure, CoffeeScript, Crystal, Dart
- Dockerfile, Elixir, Elm, F#, Groovy
- Haskell, Haxe, INI, Kotlin, Lua
- Makefile, Markdown, OCaml, Perl, PowerShell
- R, Racket, Roblox Lua, Scala, Shell
- SQL, TeX, TOML, V, Web, YAML, Zig
Cada linguagem tem um arquivo JSON que define a estrutura do projeto.
Exemplo: python.json
{
".gitignore": "__pycache__/\n*.pyc\nvenv/",
"src/index.py": "print('Hello World')",
"README.md": "# Meu Projeto"
}Quando você roda o comando, ele:
- Lê o JSON da linguagem
- Cria cada arquivo com o conteúdo especificado
- Organiza nas pastas corretas
Crie um arquivo em appdata/Languages/nome.json:
{
".gitignore": "node_modules/\n.env",
"src/server.js": "const express = require('express');\nconst app = express();\n\napp.listen(3000);",
"src/routes/users.js": "const router = require('express').Router();\n\nmodule.exports = router;",
"package.json": "{\n \"name\": \"___PROJECTNAME__\",\n \"version\": \"1.0.0\"\n}",
".env.example": "PORT=3000\nDB_URL=mongodb://localhost"
}Dicas do JSON:
- Use
/para criar pastas:"src/routes/users.js"criasrc/routes/ - Use
___PROJECTNAME__para substituir pelo nome do projeto - Arquivos sem
/vão para a raiz do projeto
Edite modules/Enums/ProjectType.py e adicione seu tipo:
class ProjectType(Enum):
PYTHON = ".py"
JAVA = ".java"
# ... outros tipos ...
# Adicione aqui:
MINHA_API = ".js" # ou extensão relevanteImportante: O nome no Enum deve corresponder ao nome do arquivo JSON (em minúsculas).
ps3cli . minha_api meu-projeto1. Crie: appdata/Languages/svelte.json
{
".gitignore": "node_modules/\n.svelte-kit/\nbuild/",
"src/routes/+page.svelte": "<h1>Hello Svelte!</h1>",
"svelte.config.js": "export default {};",
"package.json": "{\n \"name\": \"___PROJECTNAME__\",\n \"type\": \"module\"\n}"
}2. Registre: Em ProjectType.py
SVELTE = ".svelte"3. Use:
ps3cli . svelte meu-app-svelteps3cli . python meu-projetoCria automaticamente:
meu-projeto/
├── src/
│ ├── index.py
│ ├── tool.py
│ └── data.py
├── .gitignore
└── README.md
# Prototipagem rápida
ps3cli . python prototipo-ia
# Projetos em diretórios específicos
ps3cli D:/Projects/Java java sistema-vendasEdite Config.py para personalizar:
DIRETORIO = Path("D:/MeusProjetos/Python")
DIRETORIO_WEB = Path("D:/MeusProjetos/Web")
BASECODEEDITOR = "vscode"
# Features opcionais (ative manualmente)
HistoryAvaliable = True # Histórico de projetos criados
READMEAvaliable = True # Geração automática de README via IA (BETA)
GitAvaliable = False # Integração com GitO ProjectSetup mantém um histórico automático de todos os projetos criados.
Ativação:
# Em Config.py
HistoryAvaliable = TrueLocalização do histórico:
- Windows:
%APPDATA%\PROJECTSETUP-3.O\History\history.json - Linux:
~/.config/ProjectSetup/PROJECTSETUP-3.O/History/history.json
Estrutura do histórico:
{
"projects": [
{
"name": "meu-projeto",
"language": "python",
"path": "D:/Projects/Python/meu-projeto",
"created_at": "2026-01-13T10:30:00"
}
]
}
⚠️ OBS: Esta feature ainda NÃO está integrada no ps3cli. Por enquanto, a geração de README com IA só funciona através da interface visual (python -m projectsetup3).
ATENÇÃO: Feature em desenvolvimento e requer configuração manual.
Gera automaticamente um README.md profissional usando a API do Google Gemini, incluindo badges, descrição, instalação, uso e estrutura do projeto.
1. Obtenha uma API Key do Google Gemini
- Acesse: https://aistudio.google.com/app/apikey
- Crie e copie sua chave
2. Configure o arquivo .env
Crie o arquivo .env em projectsetup3/:
GEMINI_API_KEY=sua_chave_api_aqui
⚠️ IMPORTANTE: O arquivo.envdeve estar emProjectSetup-3.0/projectsetup3/
3. Ative a feature no Config.py:
READMEAvaliable = TrueExecute a interface visual:
ps3.bat #Windows
ps3.sh #Linux / MacOSDurante a criação do projeto:
- O sistema pergunta se você quer gerar README automaticamente
- Você fornece uma breve descrição do projeto
- A IA gera um README.md completo e profissional
O README inclui automaticamente:
- Título e badges (linguagem, versão, licença)
- Descrição profissional baseada no seu input
- Seções de funcionalidades, instalação e uso
- Estrutura de pastas e tecnologias
- Guia de contribuição e licença MIT
gemini-2.5-flash (personalize em Services/GeminiClient.py)
Erro: "GEMINI_API_KEY não encontrada"
- Confirme que o
.envestá emprojectsetup3/.env - Verifique o formato:
GEMINI_API_KEY=sua_chave(sem aspas)
Erro: "Resposta vazia do Gemini"
- Verifique sua conexão com internet
- Valide se a API Key é válida
- Confirme se não excedeu o limite de requisições gratuitas
O ProjectSetup 3.0 inclui scripts de inicialização para Windows e Linux que:
- Detectam e validam Python 3.8+
- Ativam ambiente virtual automaticamente (se existir)
- Instalam dependências automaticamente
- Configuram o ambiente corretamente
- Tratam erros de forma elegante
Uso:
ps3.batO que o script faz:
- Detecta a versão do Python instalada
- Ativa o venv (se existir em
venv/Scripts/activate.bat) - Instala dependências de
projectsetup3/requirements/requirements.txt - Adiciona o módulo ao PYTHONPATH
- Executa
python -m projectsetup3 - Exibe mensagens de erro ou sucesso
Exemplo de saída:
[INFO] Project root: D:\Projects\Python\ProjectSetup-3.0
[INFO] Python 3.11.0 detectado
[INFO] Ativando venv...
[INFO] Instalando todas dependencias...
[INFO] Iniciando ProjectSetup 3.0...
Uso:
chmod +x ps3.sh # Apenas na primeira vez
./ps3.shO que o script faz:
- Detecta
python3no PATH - Verifica a versão do Python
- Ativa o venv (se existir em
venv/bin/activate) - Instala dependências via
pip install --user - Instala o pacote local em modo editável (
pip install -e .) - Executa o ProjectSetup
- Retorna ao diretório original
Exemplo de saída:
[INFO] Project root: /home/user/ProjectSetup-3.0
[INFO] Python 3.11.0 detectado
[INFO] Usando Python global
[INFO] Instalando todas dependencias de requirements.txt...
[INFO] Iniciando ProjectSetup 3.0...
- Validação automática de Python 3.8+
- Suporte a ambientes virtuais (venv)
- Instalação automática de dependências
- Tratamento de erros
- Compatível com Windows, Linux e macOS
Você pode modificar os scripts para:
- Alterar mensagens
- Adicionar validações customizadas
- Mudar o comportamento de instalação
- Adicionar flags de debug
Exemplo - Adicionar modo verbose no ps3.sh:
# No final do script
if [[ "$1" == "--verbose" ]]; then
python3 -m projectsetup3 -v
else
python3 -m projectsetup3 "$@"
fi# Criar projeto
ps3cli <path> <linguagem> <nome>
# Exemplo
ps3cli . python meu-app
# Interface visual
python -m projectsetup3
# Executar com launchers
ps3.bat # Windows
./ps3.sh # Linux/macOSSe HistoryAvaliable = True no Config.py:
Windows:
type %APPDATA%\PROJECTSETUP-3.O\History\history.jsonLinux/macOS:
cat ~/.config/ProjectSetup/PROJECTSETUP-3.O/History/history.jsonPara adicionar uma linguagem:
- Fork o projeto
- Crie
appdata/Languages/sua-linguagem.json - Teste com
ps3cli . sua-linguagem teste - Pull Request
As features BETA (geração de README com IA e histórico) não estão disponíveis em builds .exe. Elas funcionam apenas quando o projeto é executado via código fonte Python.
Motivo: Dependências de IA e configurações dinâmicas não são incluídas nas builds compiladas por questões de tamanho e segurança.
Para usar essas features:
- Clone o repositório
- Execute via
ps3.bat(Windows) oups3.sh(Linux) - Ou use
python -m projectsetup3
MIT License
QuittoGames
GitHub: @QuittoGames
- Rich - Interface no terminal
- Comunidade Python
“E tudo o que fizerem, seja em palavra ou em ação, façam em nome do Senhor Jesus.”
— Colossenses 3:17