primocode 8.42.1 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -37
- package/bin/primocode.js +599 -327
- package/lib/acervo.js +8 -1
- package/lib/act.js +205 -114
- package/lib/api.js +35 -4
- package/lib/boas-vindas.js +31 -192
- package/lib/catalogo.js +60 -60
- package/lib/config.js +1 -1
- package/lib/conta.js +3 -24
- package/lib/diff.js +161 -0
- package/lib/diretor.js +37 -47
- package/lib/entrada.js +545 -0
- package/lib/especialistas.js +2 -2
- package/lib/estudio/assets.js +343 -0
- package/lib/estudio/identidade.js +560 -0
- package/lib/estudio/index.js +565 -0
- package/lib/estudio/plano.js +327 -0
- package/lib/estudio/projeto.js +246 -0
- package/lib/estudio/remotion.js +606 -0
- package/lib/estudio/slides.js +190 -0
- package/lib/estudio/video.js +296 -0
- package/lib/fala.js +13 -1
- package/lib/marca.js +4 -1
- package/lib/marketplace.js +189 -0
- package/lib/permissao.js +137 -0
- package/lib/registro.js +229 -0
- package/lib/skills.js +329 -0
- package/lib/tools.js +51 -181
- package/lib/ui.js +7 -3
- package/lib/voz.js +239 -0
- package/package.json +12 -3
- package/skills/acessibilidade/SKILL.md +28 -0
- package/skills/api-que-nao-quebra/SKILL.md +27 -0
- package/skills/depurar-de-verdade/SKILL.md +29 -0
- package/skills/editar-meu-video/SKILL.md +59 -0
- package/skills/escrever-em-portugues/SKILL.md +28 -0
- package/skills/git-limpo/SKILL.md +28 -0
- package/skills/motion-de-primeira/SKILL.md +62 -0
- package/skills/pagina-que-converte/SKILL.md +28 -0
- package/skills/performance-web/SKILL.md +28 -0
- package/skills/revisao-antes-de-entregar/SKILL.md +27 -0
- package/skills/slides-que-prendem/SKILL.md +40 -0
- package/studio/edge.py +16 -66
- package/studio/narrar.py +274 -0
- package/studio/pessoa.py +167 -0
- package/voz/primo_voz/__init__.py +0 -0
- package/voz/primo_voz/__main__.py +325 -0
- package/voz/primo_voz/escuta.py +235 -0
- package/voz/primo_voz/orbe.py +216 -0
- package/lib/audio-livre.js +0 -177
- package/lib/chaves.js +0 -149
- package/lib/claude-engine.js +0 -631
- package/lib/codex-engine.js +0 -208
- package/lib/remotion.js +0 -663
- package/lib/studio.js +0 -960
- package/studio/PRIMOCODE.md +0 -58
- package/studio/README.md +0 -154
- package/studio/__pycache__/edge.cpython-311.pyc +0 -0
- package/studio/__pycache__/elevenlabs.cpython-311.pyc +0 -0
- package/studio/__pycache__/voz.cpython-311.pyc +0 -0
- package/studio/arquivos/corte-teste-de-camera-fb823.json +0 -57
- package/studio/ferramentas/00-protocolo.md +0 -125
- package/studio/ferramentas/01-modelos.md +0 -270
- package/studio/ferramentas/README.md +0 -32
- package/studio/ferramentas/corte.md +0 -919
- package/studio/ferramentas/grade.md +0 -92
- package/studio/ferramentas/prisma.md +0 -107
- package/studio/ferramentas/prosa.md +0 -86
- package/studio/ferramentas/tela.md +0 -93
- package/studio/ferramentas/traco.md +0 -79
- package/studio/server.py +0 -2254
- package/studio/studio.log +0 -57
- package/studio/voz.py +0 -388
- package/studio/web/analise.html +0 -52
- package/studio/web/core.css +0 -1167
- package/studio/web/fontes/bebas.woff2 +0 -0
- package/studio/web/fontes/grotesk-700.woff2 +0 -0
- package/studio/web/fontes/inter-400.woff2 +0 -0
- package/studio/web/fontes/inter-700.woff2 +0 -0
- package/studio/web/fontes/jetbrains-400.woff2 +0 -0
- package/studio/web/fontes/playfair-700.woff2 +0 -0
- package/studio/web/fontes.css +0 -23
- package/studio/web/home.html +0 -217
- package/studio/web/js/analise.js +0 -510
- package/studio/web/js/audio.js +0 -607
- package/studio/web/js/editor.js +0 -1802
- package/studio/web/js/exportar.js +0 -222
- package/studio/web/js/ferramentas.js +0 -108
- package/studio/web/js/icones.js +0 -120
- package/studio/web/js/midia.js +0 -157
- package/studio/web/js/narracao.js +0 -325
- package/studio/web/js/player.js +0 -903
- package/studio/web/js/render-grade.js +0 -243
- package/studio/web/js/render-prosa.js +0 -104
- package/studio/web/js/render.js +0 -1852
- package/studio/web/js/sfx.js +0 -233
- package/studio/web/js/video.js +0 -464
- package/studio/web/js/voz-neural.js +0 -152
- package/studio/web/render.css +0 -1352
- package/studio/web/tf.html +0 -15
- package/studio/web/tool.html +0 -78
- package/studio/web/view.html +0 -27
package/README.md
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
# PrimoCode
|
|
1
|
+
# PrimoCode v9.0.0
|
|
2
2
|
|
|
3
3
|
Agente de engenharia brasileiro para o terminal, no estilo Claude Code.
|
|
4
4
|
Cria arquivos de verdade, roda comandos, **controla o navegador e o desktop** —
|
|
5
5
|
e lembra do que fez entre uma sessão e outra.
|
|
6
6
|
|
|
7
|
-
**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
do Claude ou do GPT escolhe isso na abertura, com as setinhas, e passa a usar a
|
|
11
|
-
assinatura dele.
|
|
7
|
+
**A API já vem configurada.** Entrou na sua conta Conecta Primo AI, pode usar: não há provedor para escolher, chave para colar nem teto de gasto seu. Os modelos são os grátis do
|
|
8
|
+
OpenRouter, e cada apelido (`top`/`main`/`fast`) é uma **corrente**: se um modelo
|
|
9
|
+
está no limite de pedidos, o próximo atende. Você não vê o erro, e não paga nada.
|
|
12
10
|
|
|
13
11
|
```
|
|
14
|
-
▐▛███▜▌ Primo Code
|
|
12
|
+
▐▛███▜▌ Primo Code v9.0.0
|
|
15
13
|
▝▜█████▛▘ Bem-vindo de volta, Joel
|
|
16
14
|
▘▘ ▝▝ ~/primocode · /dir <pasta> muda
|
|
17
15
|
```
|
|
@@ -29,37 +27,10 @@ veja `/mascot` e `/name`.
|
|
|
29
27
|
| **Memória** | Cada projeto lembra o que foi feito, entre sessões | Esquece ao fechar |
|
|
30
28
|
| **Instalação** | Node puro, **zero dependências** — segundos | Pacotes e dependências |
|
|
31
29
|
| **Cara própria** | Mascote, nome e temas que você escolhe | Fixo |
|
|
32
|
-
| **Modelos** |
|
|
30
|
+
| **Modelos** | Escolhidos pelo produto, não por você: `/effort` regula o esforço e o modelo sai daí | Preso ao provedor do fabricante |
|
|
33
31
|
|
|
34
32
|
Em uma frase: **é o poder de um agente de código no terminal, em português, controlando o seu computador de verdade — sem você precisar configurar chave de API nenhuma.**
|
|
35
33
|
|
|
36
|
-
## Vídeo e apresentação: o diretor entra antes da produção
|
|
37
|
-
|
|
38
|
-
Quando o pedido é de vídeo, reels, teaser ou apresentação narrada, o PrimoCode
|
|
39
|
-
não sai montando cena: ele chama primeiro o **diretor** — uma IA que só
|
|
40
|
-
estrutura. Ela devolve o roteiro cena a cena com a **narração escrita para ser
|
|
41
|
-
falada**, a duração, a transição, o movimento de cada cena, a voz (perfil e
|
|
42
|
-
instrução de leitura) e a lista de imagens, logos e música a buscar. Só depois
|
|
43
|
-
disso a produção começa, e ela segue a pauta em vez de inventar.
|
|
44
|
-
|
|
45
|
-
A mídia é de verdade: foto com licença aberta (Openverse), logo em SVG da marca
|
|
46
|
-
(Wikimedia Commons) e, com chave própria, a busca de imagens do Google pela API
|
|
47
|
-
oficial. Música e efeito sonoro vêm do `buscar_audio`, que baixa e já traz o
|
|
48
|
-
crédito; a identidade de uma empresa — logo, cor, paleta, fontes e frase — o
|
|
49
|
-
`marca_da_empresa` lê do site dela. Tudo o que desce guarda a licença ao lado do
|
|
50
|
-
arquivo, e os créditos saem prontos para a cena final. Recorte de fundo com
|
|
51
|
-
`rembg`, quando instalado.
|
|
52
|
-
|
|
53
|
-
O quadro também se move: cada cena aceita uma **câmera** (`aproximar`,
|
|
54
|
-
`empurrar`, `pan-direita`, `balanco`…) e cada elemento uma **profundidade**, e
|
|
55
|
-
aí as camadas andam em velocidades diferentes — é o que separa motion de slide
|
|
56
|
-
animado. Junto com as chaves em 3D, as curvas com nome e o som por elemento,
|
|
57
|
-
dá para montar no navegador o que antes pedia After Effects.
|
|
58
|
-
|
|
59
|
-
O motor não é gosto: vídeo curto sai pelo estúdio, em segundos, sem instalar
|
|
60
|
-
nada; vídeo longo, canal alfa, ProRes ou fps alto viram projeto **Remotion** na
|
|
61
|
-
sua pasta — e a resposta sempre diz por que escolheu.
|
|
62
|
-
|
|
63
34
|
## Instalação
|
|
64
35
|
|
|
65
36
|
**macOS / Linux / WSL** — um comando, e ele resolve tudo (inclusive instalar o Node, se faltar):
|
|
@@ -232,6 +203,36 @@ Variáveis de ambiente úteis:
|
|
|
232
203
|
- `CHROME_PATH` / `PRIMOCODE_CHROME` — aponta para um Chrome fora do caminho padrão
|
|
233
204
|
- `PRIMOCODE_BROWSER_HEADLESS=1` — roda o navegador sem janela (CI/servidor)
|
|
234
205
|
|
|
206
|
+
## O Estúdio: vídeo, slides e arte
|
|
207
|
+
|
|
208
|
+
Sete ferramentas (`estudio_projeto`, `estudio_plano`, `estudio_midia`,
|
|
209
|
+
`estudio_narrar`, `estudio_video`, `estudio_render`, `estudio_site`), um
|
|
210
|
+
renderizador só — o **Remotion** — e nenhum template. Não há tema pronto,
|
|
211
|
+
layout pronto nem fundo pronto: o plano é feito de **primitivas** (texto,
|
|
212
|
+
forma, imagem, vídeo, ícone, legenda, componente) com keyframes e câmera
|
|
213
|
+
própria por cena, e é a IA que compõe cada vídeo do zero. Lista fechada de
|
|
214
|
+
seis temas é template com outro nome, e o resultado dela é todo vídeo sair
|
|
215
|
+
igual.
|
|
216
|
+
|
|
217
|
+
Antes de produzir entra o **diretor** (`planejar_producao`): uma conversa
|
|
218
|
+
própria que decide arco, narração falada cena a cena, voz, direção de arte e
|
|
219
|
+
a mídia a buscar — e só então o produtor monta as cenas. Ele existe porque
|
|
220
|
+
quem está montando o JSON já gastou a atenção no JSON, e é ali que o roteiro
|
|
221
|
+
vira legenda de slide ("Vantagens", "Nossos serviços") em vez de virar fala.
|
|
222
|
+
|
|
223
|
+
De onde vem o material, tudo sem chave de API:
|
|
224
|
+
|
|
225
|
+
| O quê | Fonte |
|
|
226
|
+
|---|---|
|
|
227
|
+
| Ícones | **Iconify** — 200 mil ícones, 150 coleções |
|
|
228
|
+
| Imagens e som | **Openverse** (licença aberta); Pexels/Freesound entram por cima quando há chave |
|
|
229
|
+
| Fontes | **Google Fonts** inteiro |
|
|
230
|
+
| Logo de marca | **Simple Icons** → o site da empresa → **Wikimedia Commons** |
|
|
231
|
+
| Identidade visual | o próprio site: cor, paleta, tipografia e o que a marca diz de si |
|
|
232
|
+
|
|
233
|
+
A licença desce junto de tudo, num `.licenca.json` ao lado do arquivo:
|
|
234
|
+
descobrir depois de publicar que a foto exigia crédito é tarde.
|
|
235
|
+
|
|
235
236
|
## Subagentes
|
|
236
237
|
|
|
237
238
|
Para tarefas com partes independentes, o agente delega:
|
|
@@ -289,10 +290,13 @@ primocode -f app.js "onde está o bug?" # com arquivo anexado
|
|
|
289
290
|
| `/dir <caminho>` | Trabalha numa pasta que já existe, onde você quiser |
|
|
290
291
|
| `/project` | Lista projetos. `/project <nome>` cria em `~/primocode` |
|
|
291
292
|
| `/mode primocode\|chat\|auto` | Alterna o modo (fica guardado) |
|
|
292
|
-
| `/
|
|
293
|
+
| `/voice` | Modo voz: uma orb, você fala, ele faz. O cérebro é o mesmo do terminal |
|
|
294
|
+
| `/skills` · `/marketplace` | O que ele sabe fazer bem. Tela navegável pelas setas, e "New Skill" para escrever a sua |
|
|
295
|
+
| `/connectors` | Quem está atendendo os seus pedidos (só mostra — não há o que configurar) |
|
|
296
|
+
| `/effort` | O esforço do agente, num slider (←/→, Enter confirma): do `low` ao `ultracode`. O modelo sai daí — não há provedor nem chave para configurar |
|
|
293
297
|
| `/attach <arquivo>` | Anexa arquivo ao próximo pedido |
|
|
294
298
|
| `/detach` · `/files` | Remove / lista anexos |
|
|
295
|
-
| `/
|
|
299
|
+
| `/all` | Lista as 46 ferramentas que ele sabe usar, por grupo |
|
|
296
300
|
| `/tree [n]` | Árvore do projeto atual |
|
|
297
301
|
| `/read <arquivo>` | Mostra um arquivo do projeto |
|
|
298
302
|
| `/run <comando>` | Executa no shell, dentro da pasta do projeto |
|