Skip to content

Ferramenta CLI com interface interativa que automatiza a criação de projetos de desenvolvimento. Define templates em JSON personalizáveis, executa um comando e toda a estrutura de pastas, arquivos de configuração, .gitignore e integração Git é gerada automaticamente.

Notifications You must be signed in to change notification settings

QuittoGames/ProjectSetup-3.0

Repository files navigation

🚀 ProjectSetup 3.0

Gerador automático de estruturas de projetos para 40+ linguagens

Python License Rich

Cria a estrutura base dos seus projetos automaticamente.
Personalizável via JSON, funciona no terminal.

InstalaçãoComo usarLinguagensPersonalizar


💡 O que é?

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-projeto

Isso cria automaticamente:

meu-projeto/
├── src/
│   ├── index.py
│   ├── tool.py
│   └── data.py
├── .gitignore
└── README.md

⚡ Por que usar?

  • Poupa tempo na criação de projetos novos
  • Estrutura organizada desde o início
  • Templates personalizáveis
  • Suporte para várias linguagens
  • Interface visual no terminal

🚀 Instalação

git clone https://github.com/QuittoGames/ProjectSetup-3.0.git
cd ProjectSetup-3.0/projectsetup3
pip install -r requirements/requirements.txt

💻 Como usar

Via CLI

# Sintaxe: ps3cli <path> <linguagem> <nome>
ps3cli . python meu-app
ps3cli D:/Projects javascript minha-api
ps3cli . rust game

Interface Visual

python -m projectsetup3

Abre um menu interativo com navegação por setas.

Via Python

from projectsetup3.Services.ProjectManagerService import ProjectManagerService
from pathlib import Path

ProjectManagerService.create_project(
    name="meu-projeto",
    language="python",
    path=Path("./projetos")
)

🌐 Linguagens Suportadas (40+)

🔥 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

🎨 Personalize seus Templates

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:

  1. Lê o JSON da linguagem
  2. Cria cada arquivo com o conteúdo especificado
  3. Organiza nas pastas corretas

🔧 Adicionando um Novo Tipo de Projeto

Passo 1: Crie o Template JSON

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" cria src/routes/
  • Use ___PROJECTNAME__ para substituir pelo nome do projeto
  • Arquivos sem / vão para a raiz do projeto

Passo 2: Registre no Sistema

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 relevante

Importante: O nome no Enum deve corresponder ao nome do arquivo JSON (em minúsculas).

Passo 3: Teste

ps3cli . minha_api meu-projeto

Exemplo Completo: Adicionando Svelte

1. 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-svelte

📚 Exemplos Rápidos

Python

ps3cli . python data-science
data-science/
├── src/
│   ├── index.py
│   ├── tool.py
│   └── data.py
├── .gitignore
└── README.md

JavaScript/Node.js

ps3cli . javascript minha-api
minha-api/
├── index.js
├── package.json
└── .gitignore

TypeScript

ps3cli . typescript react-app
react-app/
├── src/
│   └── index.ts
├── package.json
├── tsconfig.json
└── .gitignore

Rust

ps3cli . rust cli-tool
cli-tool/
├── src/
│   └── main.rs
├── Cargo.toml
└── .gitignore

📖 Casos de Uso

Prototipagem:

ps3cli . python prototipo-ia

Projetos maiores:

ps3cli D:/Projects/Java java sistema-vendas

Aprendizado:

ps3cli . rust aprendendo-rust

Scripts:

ps3cli . python automacao

⚙️ Configuração

Edite Config.py para personalizar:

DIRETORIO = Path("D:/MeusProjetos/Python")
DIRETORIO_WEB = Path("D:/MeusProjetos/Web")
BASECODEEDITOR = "vscode"

🛠️ Comandos Úteis

# Criar projeto
ps3cli <path> <linguagem> <nome> [git-repo]

# Exemplos
ps3cli . python meu-app                    # No diretório atual
ps3cli D:/Projects python meu-app          # Path específico
ps3cli . python app https://github.com/... # Com Git

# Ver todas as linguagens
python -m projectsetup3

# Listar projetos existentes
ps3cli list py      # Projetos Python
ps3cli list web     # Projetos Web
ps3cli list .       # Diretório atual

🤝 Contribuir

Para adicionar uma linguagem:

  1. Fork o projeto
  2. Crie appdata/Languages/sua-linguagem.json
  3. Teste com ps3cli . sua-linguagem teste
  4. Pull Request

📝 Licença

MIT License


👤 Autor

QuittoGames
GitHub: @QuittoGames


Créditos

  • Rich - Interface no terminal
  • Comunidade Python

🔝 Voltar ao Topo

“E tudo o que fizerem, seja em palavra ou em ação, façam em nome do Senhor Jesus.”
Colossenses 3:17

About

Ferramenta CLI com interface interativa que automatiza a criação de projetos de desenvolvimento. Define templates em JSON personalizáveis, executa um comando e toda a estrutura de pastas, arquivos de configuração, .gitignore e integração Git é gerada automaticamente.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published