Criação, inicialização e padronização de projetos de software.

Install

$ curl -fsSL https://willsantos.github.io/orotools/install.sh | bash

Detecta SO e arquitetura, valida o checksum sha256 e instala em ~/.local/bin. Já tem o oro? oro upgrade atualiza.

Todas as releases

Sem JavaScript ou SO diferente? Baixe o asset certo na página de releases.

Assets da última release

Quick start

$ oro new meu-app --stack fastify-next --yes

Stacks oficiais: dotnet, dotnet-next, fastify-next, rails. Adote um repositório existente com oro init.

Dev manager — o arquivo projects.config.json

O oro dev gerencia os dev servers dos seus projetos a partir do arquivo projects.config.json no diretório $CLIENTES_HOME (ou no caminho passado em --config). Você pode criá-lo com o wizard oro dev add ou escrevê-lo à mão:

{
  "projects": {
    "projeto-a": {
      "name": "Projeto A (Sistema)",
      "path": "/home/voce/dev/clientes/projeto-a",
      "cwd": "/home/voce/dev/clientes/projeto-a/apps/web",
      "package_manager": "pnpm",
      "dev_command": "pnpm dev",
      "port": 3001,
      "description": "Monorepo Next.js - Sistema Projeto A",
      "group": "Clientes"
    },
    "projeto-b": {
      "name": "Projeto B (Prospect)",
      "path": "/home/voce/dev/clientes/prospect",
      "cwd": "/home/voce/dev/clientes/prospect/projeto-b/app",
      "package_manager": "pnpm",
      "dev_command": "pnpm dev",
      "port": 5178,
      "description": "Vite + React 19 - Proposta Projeto B",
      "group": "Prospects"
    }
  },
  "settings": {
    "log_dir": ".dev-logs",
    "pid_dir": ".dev-pids",
    "enforce_unique_ports": true
  }
}

Em destaque, o campo group — a novidade que organiza os projetos. Detalhes de cada campo:

CampoDescrição
chave do projetoA chave ("projeto-a", "projeto-b") é o atalho usado nos comandos: oro dev projeto-a inicia o projeto.
nameNome exibido na tabela do oro dev list.
pathRaiz do projeto.
cwdDiretório onde o comando roda (monorepos); se vazio, é o próprio path.
package_managernpm ou pnpm.
dev_commandComando do dev server. Menções a vite/next definem a faixa de porta sugerida pelo add (next 3001–3099, vite 5174–5199).
portPorta do serviço; null para projetos sem porta (ex.: workers). É a base da checagem de prontidão pós-start e do oro dev open.
descriptionDescrição curta.
groupGrupo do projeto (opcional) — veja abaixo.

Grupos

Settings

CampoDescrição
log_dirDiretório dos logs; default .dev-logs ao lado do config (caminho relativo ou absoluto).
pid_dirDiretório dos pids; default .dev-pids, mesmo critério.
enforce_unique_portsCom true, o start fixa a porta configurada no comando: flags do vite/next/wrangler, -- --port para wrappers npm e env PORT/HOST. Sem ele, o comando roda como está.