🚀 Orquestrador do SquadsCli para terminal, API, MCP e cockpit web.
Este projeto transforma o runtime de squads em um sistema operacional de entrega com:
- 🧠 runtime real do squad e dos agentes
- ⚙️ multiprovider e multimodelo
- 📁 artifacts como fonte da verdade (
PRD,Tech Spec,Tasks,Review, memória) - 🔎 retrieval seletivo para reduzir tokens e melhorar consistência
- 🛰️ server HTTP para integrações
- 🤖 MCP para clientes agent-native
- 🖥️ cockpit web inicial
- 🎬 workflow universal de vídeo para qualquer editor
- executa qualquer squad disponivel no workspace por CLI
- gera
PRD,Tech Spec,TaskseReviewpor workflow - mantém memória incremental por feature
- escolhe
provideremodelexplicitamente por comando - permite escolher o squad por
--squadna CLI e pela interface desktop - expõe
providers,models,doctoreretrieval - publica e instala como pacote privado
- planeja edição de vídeo e gera pacote para vários editores
squadscli- listagem de squads disponíveis:
squadscli squads - criação de squad mínimo:
squadscli squad create meu-squad "Meu Squad" - inspeção visual de squad:
squadscli squad show software-factory - modo REPL estilo terminal com estado de sessão:
squadscli console - launcher desktop visual:
squadscli desktop
Instala e já abre o console no diretório atual:
irm https://raw.githubusercontent.com/Juanblack1/software-factory-cli/master/scripts/install-windows.ps1 | iexO instalador tenta nesta ordem:
- usar
GITHUB_PACKAGES_TOKENse já existir - usar
gh auth tokense o GitHub CLI estiver logado - pedir o token interativamente se ainda faltar
- se o token do
ghnao tiver escopo para packages, ele pede um token manual e tenta de novo
Instala sem abrir automaticamente:
$tmp="$env:TEMP\sf-install.ps1"; iwr https://raw.githubusercontent.com/Juanblack1/software-factory-cli/master/scripts/install-windows.ps1 -OutFile $tmp; & $tmp -NoLaunchSe preferir baixar e executar um arquivo local, use:
scripts\install-windows.cmdRequisitos para o instalador:
- Windows PowerShell
- Node.js 20+
- GitHub token com acesso ao pacote, apenas se
gh auth tokennao estiver disponivel
Baixe o instalador .exe na release mais recente:
software-factory-installer-<versao>.exe
Ao abrir o executavel, ele:
- instala o pacote global do
software-factory - tenta usar
gh auth tokense o GitHub CLI estiver logado - pede token manualmente se necessario
- abre o
software-factory consoleno fim
O executavel da release e gerado a partir do instalador PowerShell com ps2exe.
Baixe o launcher desktop na release mais recente:
Software Factory Desktop <versao>.exe
O launcher desktop oferece:
- seletor visual de pasta
- navegação lateral por views
- views de
Home,Providers,Workflows,Runs,MemoryeSessions - histórico local de sessões
- cards clicáveis de providers, workflows e runs
- composer visual estilo OpenCode para rodar o motor do software-factory
- controles visíveis no composer para trocar
Provider,ModeloeEffortsem sair do prompt - modal de conexão de providers com readiness, modelo ativo, binário e status
- modal de modelos agrupado por provider, com busca e seleção do modelo de IA da próxima execução
- view
Providerscom conector, status do runtime e modelos disponíveis por provider - interface moderna estilo app desktop
- workspace persistido entre aberturas
- execução mais segura com validação de IPC e navegação bloqueada
Tambem pode ser aberto pela CLI:
software-factory desktop --workspace .Suba com:
software-factory serveEndpoints atuais:
GET /healthGET /providersGET /modelsGET /workflowsGET /workflows/:nameGET /artifacts/:namePOST /runs/dry-runPOST /stages/:stage/dry-runPOST /stages/:stage/runPOST /retrieval/dry-runPOST /video/plan/dry-runPOST /video/packagePOST /video/shorts/dry-runPOST /video/shorts
Suba com:
software-factory mcpTools atuais:
software_factory.providerssoftware_factory.modelssoftware_factory.run_drysoftware_factory.stage_drysoftware_factory.retrieval_drysoftware_factory.video_plan_drysoftware_factory.video_packagesoftware_factory.video_shorts_drysoftware_factory.video_shorts
Suba o server e depois:
software-factory webAbra:
http://127.0.0.1:4173
O cockpit inicial mostra:
- health do server
- providers
- models
- workflows
🧭 JuanBlack: liderança de fluxo, gates, aprovações e roteamento📌 Otavio Objetivo: descoberta, clarificação do problema e PRD🧭 Sergio Sprint: backlog executável, ordem de entrega e handoffs✨ Mila Melhorias: melhoria contínua e memória durável do workflow
🔎 Explorer Atlas: pesquisa multimodal e contexto externo💡 Iris Inovacao: benchmark e elevação de barra✍️ Paula Prompt: prompts fortes, enxutos e reutilizáveis
🧩 Yasmin UX: jornada, interface, microcopy e Pencil-first🏗️ Sid Sistematico: system design e topologia do sistema🧠 Tadeu Tech: tech spec, contratos e decisões técnicas
🔌 Mica MCP: skills, MCPs e integrações🗄️ Davi Dados: dados, schema, migrações e acesso⚙️ Bruno Backend: APIs, regras e domínio🖥️ Fernanda Frontend: fluxos, telas e experiência final☁️ Ivo Infra: ambientes, observabilidade e base operacional🚀 Diego Deploy: rollout, monitoramento e rollback🌿 Guto GitHub: branch, commit, PR e trilha de release▲ Vera Vercel: publicação final e smoke de entrega
🔐 Caio Cyber: segurança, auth e mitigação🧪 Tito Testes: testes e smoke técnico🧐 Aline Avalia: aderência a PRD, UX, segurança e testes✅ Quirino Qualidade: critérios de aceite e regressão🗣️ Livia Linguistica: português do Brasil para produto⚡ Pericles Performance: gargalos e otimização🧪 Clara Qualidade: consolidação final de evidências🧐 Rita Revisa: revisão final de coerência e risco
🎨 Pencil first: mudanças visuais relevantes passam pelo Pencil antes do frontend🖼️ Gemini for images: imagens reais usam Gemini Imagen💬 Ask when blocked: dúvida crítica pede pergunta curta, não chute💸 Token discipline:litereduz contexto e força tarefas menores
npm install
npm run build:all
npm install -g ..npmrc:
@juanblack1:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=SEU_TOKENInstalação:
npm install -g @juanblack1/software-factory-clinpm install -g git+ssh://git@github.com/Juanblack1/software-factory-cli.gitExemplo de .env:
SF_PROVIDER=openai
SF_EFFORT=balanced
SF_MODEL=
OPENAI_API_KEY=
OPENAI_MODEL=gpt-5.4
OPENAI_COMPATIBLE_API_KEY=
OPENAI_COMPATIBLE_BASE_URL=
OPENAI_COMPATIBLE_MODEL=
GEMINI_API_KEY=
GEMINI_IMAGE_MODEL=imagen-4.0-generate-001
YOUTUBE_CLIENT_ID=
YOUTUBE_CLIENT_SECRET=
YOUTUBE_REFRESH_TOKEN=
YOUTUBE_OAUTH_PORT=8787
OPENCODE_COMMAND_TEMPLATE=opencode run "Execute the attached software-factory prompt file end-to-end. Ask concise questions if blocking ambiguity remains." --dir "{workspace}" --file "{promptFile}"
OPENCODE_MODEL=
CODEX_COMMAND_TEMPLATE=codex exec -
CODEX_MODEL=
CLAUDE_COMMAND_TEMPLATE=claude -p
CLAUDE_MODEL=
GEMINI_COMMAND_TEMPLATE=gemini -p "{promptFile}"
GEMINI_MODEL=Ver providers detectados:
software-factory providersVer modelos ativos e sugeridos:
software-factory models
software-factory models --provider codexExecutar com provider/model explícitos:
software-factory create-prd --name onboarding --brief "Criar onboarding" --provider openai --model gpt-5.4
software-factory run --name onboarding --brief "Executar fluxo completo" --provider codex --model gpt-5.4 --effort lite
software-factory create-tasks --name onboarding --brief "Quebrar onboarding em tarefas" --provider codex --skills "task-planning,acceptance-gate"Abra a interface moderna de terminal:
software-factory consoleO console agora abre uma TUI simples no estilo Claude/OpenCode:
- barra compacta de contexto no topo
- conversa/resultado no meio
- prompt fixo e claro na parte inferior
- comandos curtos para trocar contexto sem sair da tela
- histórico por setas
- atalhos de terminal
Troca rápida dentro do console:
/compozy
/idea Validar uma ideia de produto
/prd Criar requisitos do onboarding
/techspec Desenhar arquitetura do onboarding
/tasks Quebrar em tarefas executaveis
/execute Implementar as tarefas pendentes
/review Revisar a entrega atual
/fix Corrigir issues de review
/verify Rodar verificacao final com evidencias
/squad list
/squad show
/squad create growth-lab Growth Lab
/squad next
/provider list
/provider next
/provider claude
/providers
/model list
/model sonnet
/model auto
/models
Fluxo mais simples de uso:
- Escolha o squad
- Rode
/provider liste troque o executor, se precisar - Rode
/model liste troque o modelo, se precisar - Digite o brief e pressione Enter
Fluxo Compozy-like dentro do SquadsCli:
/idea -> /prd -> /techspec -> /tasks -> /execute -> /review -> /fix -> /verify
Esses comandos usam os conceitos das skills cy-* do Compozy como orquestracao local:
cy-idea-factory: explora ideia, riscos, alternativas e debate inicialcy-create-prd: gera requisitos de produto e criterios de aceitecy-create-techspec: transforma requisitos em desenho tecnicocy-create-tasks: cria tarefas pequenas, rastreaveis e verificaveiscy-execute-task: executa tarefas com contexto e statuscy-review-round: gera rodada de review estruturadacy-fix-reviews: corrige issues de review com verificacaocy-final-verify: exige evidencia fresca antes de declarar prontocy-workflow-memory: preserva aprendizados entre runs
Gerenciar squads pela CLI:
software-factory squad list
software-factory squad show software-factory
software-factory squad create growth-lab "Growth Lab" --description "Squad para experimentos de produto" --skills "task-planning,code-review"O squad create gera a estrutura mínima carregável:
squads/<code>/squad.yamlsquads/<code>/squad-party.csvsquads/<code>/agents/lead.agent.mdsquads/<code>/pipeline/pipeline.yamlsquads/<code>/pipeline/data/compozy-orchestration.mdsquads/<code>/pipeline/steps/step-*.mdsquads/<code>/_memory/memories.md
Ele mantém uma sessão persistida em .software-factory/console-session.json com:
- provider atual
- model atual
- effort atual
- workflow atual
- stage atual
- skills focadas
- modo dry-run/live
Você pode digitar um brief direto para executar com o estado atual da sessão ou usar slash commands:
/help
/status
/providers
/models
/compozy
/idea Validar uma ideia
/squads
/squad list
/squad show
/squad create growth-lab Growth Lab
/workflows
/history
/skills
/doctor
/provider codex
/model gpt-5.4
/workflow onboarding
/skills set api-design,code-review
/effort lite
/prd Criar onboarding com dashboard inicial
/run Implementar fluxo completo do onboarding
/review Revisar a implementação atual
/reset
/clear
/exit
Exemplo de sessão:
/provider claude
/model sonnet
/workflow onboarding
/skills set task-planning,acceptance-gate
Implementar fluxo completo de onboarding com foco em conversão
Atalhos da TUI:
Tab: alterna o painel direitoUp/Down: navega no histórico do inputEsc: limpa o input atualCtrl+L: limpa o feed visualCtrl+P: abre seletor de providerCtrl+O: abre seletor de modeloCtrl+J: abre seletor de squadCtrl+K: abre seletor de stage
As skills escolhidas por --skills ou /skills set ... entram no prompt como foco operacional da rodada, sem sobrescrever o pacote padrão do squad.
Registrar no Codex:
codex mcp add software-factory -- "%APPDATA%\npm\software-factory.cmd" mcpRegistrar no Claude Code:
claude mcp add -s user software-factory -- "%APPDATA%\npm\software-factory.cmd" mcpValidar:
codex mcp get software-factory
claude mcp get software-factoryDepois disso, o software-factory fica disponível como servidor MCP global nas duas CLIs.
software-factory init --target .software-factory create-prd --name onboarding --brief "Criar onboarding com dashboard inicial"software-factory create-techspec --name onboarding --brief "Detalhar a implementação do onboarding"software-factory create-tasks --name onboarding --brief "Quebrar onboarding em tarefas pequenas" --effort litesoftware-factory run --name onboarding --brief "Executar fluxo completo do onboarding" --provider codex --model gpt-5.4 --effort litePreview sem gravar artifacts:
software-factory run --name onboarding --brief "Executar fluxo completo do onboarding" --dry-runSe quiser salvar o preview para auditoria, use --persist-dry-run. Respostas de providers agora precisam conter as seções obrigatórias do stage (PRD, Tech Spec, Task Breakdown, etc.); saída incompleta falha em vez de gravar artifacts ambíguos.
software-factory run --mode review --name onboarding --brief "Revisar a implementação atual"software-factory run --mode autonomy --name onboarding --brief "Consolidar próximo ciclo"Planejar edição de vídeo para qualquer editor:
software-factory video-plan --name reels-edit --input ./video.mp4 --goal "Criar um reels com cortes rápidos, legenda e foco no gancho inicial" --editor generic --provider codex --model gpt-5.4 --effort liteTambem aceita URL do YouTube como fonte. O CLI usa yt-dlp para baixar o video e reaproveitar legendas quando houver:
software-factory video-plan --name youtube-reels --input "https://www.youtube.com/watch?v=VIDEO_ID" --goal "Planejar cortes para conteudo curto com foco em retencao" --editor capcut --provider codex --model gpt-5.4 --effort liteGerar pacote para editor:
software-factory video-package --name reels-edit --input ./video.mp4 --editor premiere
software-factory video-package --name reels-edit --input ./video.mp4 --editor davinci
software-factory video-package --name reels-edit --input ./video.mp4 --editor capcutGerar highlights e transformar em shorts com manifesto + script ffmpeg:
software-factory video-shorts --name youtube-shorts --input "https://www.youtube.com/watch?v=VIDEO_ID" --goal "Separar os melhores momentos em shorts independentes" --count 5 --min-seconds 20 --max-seconds 45 --editor generic --provider codex --model gpt-5.4Para renderizar automaticamente os cortes base com ffmpeg, adicione --materialize:
software-factory video-shorts --name youtube-shorts --input "https://www.youtube.com/watch?v=VIDEO_ID" --goal "Separar os melhores momentos em shorts independentes" --count 5 --materialize --editor generic --provider codex --model gpt-5.4Se o video for local e voce ja tiver transcript/legenda, informe --transcript-file (.txt, .srt ou .vtt) para a IA localizar os highlights com mais precisao.
Primeiro conecte a conta com OAuth 2.0. O CLI abre o navegador, recebe o callback local e salva as credenciais em .software-factory/youtube/.
software-factory youtube-auth --client-id SEU_CLIENT_ID --client-secret SEU_CLIENT_SECRETDepois publique qualquer video finalizado:
software-factory youtube-upload --file ./.software-factory/workflows/youtube-shorts/video/shorts/generic/rendered/01-gancho-inicial.mp4 --title "Meu short" --description "Descricao do video" --tags shorts,youtube,clips --privacy unlistedCom thumbnail, playlist e agendamento:
software-factory youtube-upload --file ./dist/short.mp4 --title "Meu short" --description "Descricao do video" --thumbnail ./thumb.png --playlist-id PLAYLIST_ID --privacy private --publish-at 2026-04-12T15:00:00ZNotas:
youtube-authtambem aceitaYOUTUBE_CLIENT_IDeYOUTUBE_CLIENT_SECRETvia.envyoutube-uploadreutiliza o refresh token salvo localmente ouYOUTUBE_REFRESH_TOKEN- para playlist e operacoes mais amplas, o CLI pede os escopos
youtube.uploadeyoutube - para baixar videos do YouTube continua sendo necessario ter
yt-dlpnoPATH - para renderizar shorts automaticamente continua sendo necessario ter
ffmpegnoPATH
Editores suportados:
genericcapcutpremieredavincishotcutkdenlivefinal-cut
.software-factory/
workflows/
onboarding/
_brief.md
_prd.md
_techspec.md
_tasks.md
task_01.md
summary.md
memory/
MEMORY.md
onboarding.md
reviews/
reviews-123456/
summary.md
issue_001.md
Implementado hoje:
packages/corepackages/artifact-enginepackages/memory-enginepackages/squad-runtimepackages/provider-runtimepackages/retrievalapps/serverapps/mcpapps/web
Documentação:
docs/software-factory-2.0.mddocs/software-factory-2.0-roadmap.md
npm run build
npm run build:server
npm run build:mcp
npm run build:all
npm test
npm run checkPor padrão, publish faz apenas preview e não inicializa git, commita, cria repo, faz push ou publica pacote:
software-factory publish --repo software-factory-cli --workspace .Para executar de verdade, confirme explicitamente. O push só acontece com working tree limpa:
software-factory publish --repo software-factory-cli --workspace . --yesPara criar commit durante a publicação:
software-factory publish --repo software-factory-cli --workspace . --yes --commit --commit-message "chore: update software factory cli"Por segurança, --commit usa git add -u. Adicione --include-untracked somente se quiser incluir arquivos novos no commit.
Com GitHub Packages:
set GITHUB_PACKAGES_TOKEN=seu_token
software-factory publish --repo software-factory-cli --workspace . --yes --github-packages✅ pronto para uso real por CLI
✅ pronto para uso por HTTP server
✅ pronto para uso por MCP
✅ pronto para planejamento universal de vídeo
✅ pronto para publicação privada e GitHub Packages
O próximo salto natural é endurecer observabilidade, streaming e cockpit visual mais completo sobre o server atual.
