primocode 7.0.3 → 7.2.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 CHANGED
@@ -1,129 +1,131 @@
1
- # PrimoCode v6.0
1
+ # PrimoCode v7.1.0
2
2
 
3
- **AI coding companion** brasileiro no estilo **Claude Code**. CLI interativa minimalista e poderosa, com streaming, comandos slash, suporte a arquivos anexados, execução de shell e conselho multi-agente (Arquiteto → Engenheiro → Revisor).
3
+ Agente de engenharia brasileiro para o terminal, no estilo Claude Code.
4
+ Cria arquivos de verdade, roda comandos, abre o navegador — e lembra do que fez
5
+ entre uma sessão e outra.
4
6
 
5
- **Novidades v6.0:**
6
- - 🎨 Interface estilo Claude Code — minimalista e elegante
7
- - ⚡ Auto-instalação de Node.js quando não detectado (Y/n)
8
- - 🚀 Pipeline de qualidade máxima com 3 IAs
9
- - 🛠️ Modo Act com tool-calling nativo (write_file, run_shell, browser_*)
10
-
11
- ## Instalação rápida
12
-
13
- ### Linux / macOS / WSL
14
-
15
- ```bash
16
- curl -fsSL https://raw.githubusercontent.com/ConectaPrimoAI/primocode/main/install.sh | bash
17
7
  ```
18
-
19
- ### Windows (CMD ou PowerShell)
20
-
21
- ```cmd
22
- curl -fsSL https://raw.githubusercontent.com/ConectaPrimoAI/primocode/main/install.cmd -o install.cmd && install.cmd
8
+ ╷
9
+ ╭─┴─╮ PrimoCode
10
+ │◕ ◕│ v7.1.0
11
+ ╰───╯ projeto: jogo-de-carro
23
12
  ```
24
13
 
25
- **Se não tiver Node.js:** O instalador pergunta se deseja instalar automaticamente. Digite `Y` para sim.
26
-
27
- ### Manual (qualquer SO)
14
+ ## Instalação
28
15
 
29
16
  ```bash
30
17
  git clone https://github.com/ConectaPrimoAI/primocode.git
31
18
  cd primocode
32
- npm install
33
19
  npm link # registra 'primocode' globalmente
34
20
  primocode
35
21
  ```
36
22
 
37
- Requer **Node.js 18.17+**.
23
+ Requer **Node.js 18.17+**. O CLI não tem dependências — só a stdlib do Node.
38
24
 
39
- ## Uso
25
+ ## Como funciona
40
26
 
41
- ### Modo interativo
27
+ Todo trabalho acontece dentro de uma **pasta de projeto**, em `~/primocode/`:
42
28
 
43
- ```bash
44
- primocode
29
+ ```
30
+ ~/primocode/
31
+ ├── memory-geral.md <- sobre você: nome, preferências, convenções
32
+ ├── jogo-de-carro/
33
+ │ ├── memory.md <- o que este projeto é e o que já foi decidido
34
+ │ ├── index.html
35
+ │ └── src/game.js
36
+ └── site-de-vendas/
37
+ ├── memory.md
38
+ └── ...
45
39
  ```
46
40
 
47
- ### Modo one-shot
41
+ Ao receber o primeiro pedido da sessão, o PrimoCode deriva um nome de projeto
42
+ do que você pediu. Se já existir um projeto parecido, ele **pergunta** antes de
43
+ criar pasta nova:
44
+
45
+ ```
46
+ Primo Code ❯ faça um jogo de carro 2D
47
+
48
+ Já existe um projeto parecido: jogo-de-carro
49
+ ? Continuar nele? (S/n)
50
+ ```
51
+
52
+ Os dois arquivos de memória são lidos no começo de cada tarefa e atualizados no
53
+ fim. É por isso que a IA não esquece o projeto entre sessões.
54
+
55
+ ## Modos
56
+
57
+ | Modo | O que faz |
58
+ |---|---|
59
+ | **Primo Code** (padrão) | Agente completo — cria arquivos, roda comandos, abre o navegador |
60
+ | **Chat** | Conversa pura, sem tools |
61
+
62
+ Alterne com `/mode primocode` ou `/mode chat`.
63
+
64
+ ## Uso
48
65
 
49
66
  ```bash
50
- primocode "escreva um endpoint express /users em node"
51
- primocode --agent "refatore este código pra funcional"
52
- primocode -f app.js "por que este código está com bug?"
67
+ primocode # interativo
68
+ primocode "crie um jogo de carro" # one-shot
69
+ primocode -f app.js "onde está o bug?" # com arquivo anexado
53
70
  ```
54
71
 
55
- ### Comandos slash (dentro do modo interativo)
72
+ ## Comandos
56
73
 
57
74
  | Comando | Descrição |
58
75
  |---|---|
59
- | `/help` | Ajuda |
60
- | `/mode normal\|agent` | Alterna modo de resposta |
76
+ | `/project` | Lista projetos. `/project <nome>` cria ou entra em um |
77
+ | `/mode primocode\|chat` | Alterna o modo |
61
78
  | `/model main\|fast` | main = llama-3.3-70b, fast = llama-3.1-8b |
62
- | `/attach <arquivo>` | Anexa arquivo ao próximo prompt |
63
- | `/detach` | Remove anexos |
64
- | `/files` | Lista anexos |
65
- | `/tree [profundidade]` | Árvore do diretório |
66
- | `/read <arquivo>` | Exibe conteúdo |
67
- | `/write <arquivo>` | Salva a última resposta |
68
- | `/apply` | Aplica todos os blocos de código com hint `// filename: xxx` |
69
- | `/run <cmd>` | Executa shell local |
70
- | `/status` | Health check do server |
71
- | `/clear` | Limpa histórico |
72
- | `/cls` | Limpa tela |
79
+ | `/attach <arquivo>` | Anexa arquivo ao próximo pedido |
80
+ | `/detach` · `/files` | Remove / lista anexos |
81
+ | `/tree [n]` | Árvore do projeto atual |
82
+ | `/read <arquivo>` | Mostra um arquivo do projeto |
83
+ | `/run <comando>` | Executa no shell, dentro da pasta do projeto |
84
+ | `/open <arquivo\|url>` | Abre no navegador |
85
+ | `/status` | Health check do servidor |
86
+ | `/clear` · `/cls` | Limpa conversa / tela |
87
+ | `/uninstall` | Remove o PrimoCode (seus projetos ficam) |
73
88
  | `/exit` | Sair |
74
89
 
75
90
  ## Configuração
76
91
 
77
- Config em `~/.primocode/config.json`:
92
+ `~/.primocode/config.json`:
78
93
 
79
94
  ```json
80
95
  {
81
96
  "server": "https://primocode-server.onrender.com",
82
- "model": "main"
97
+ "model": "main",
98
+ "token": null
83
99
  }
84
100
  ```
85
101
 
86
- Ou por variável de ambiente:
102
+ Ou por variável de ambiente — elas têm prioridade:
87
103
 
88
104
  ```bash
89
105
  export PRIMOCODE_SERVER="https://primocode-server.onrender.com"
90
106
  export PRIMOCODE_MODEL="main"
107
+ export PRIMOCODE_TOKEN="..." # só se o servidor exigir
91
108
  ```
92
109
 
93
- ## Modo Agente (conselho de 3 IAs)
94
-
95
- Ative com `--agent` ou `/mode agent`. Roda 3 chamadas encadeadas:
96
-
97
- 1. **Arquiteto** — desenha a estrutura, sem código.
98
- 2. **Engenheiro** — implementa seguindo o plano.
99
- 3. **Revisor** — consolida, corrige, entrega versão final limpa.
100
-
101
- Cada passo é transmitido em tempo real (streaming).
102
-
103
- ## Modo Act (autônomo com tools)
104
-
105
- O modo padrão. A IA pode:
106
- - Criar/editar arquivos (`write_file`)
107
- - Ler arquivos (`read_file`)
108
- - Listar diretórios (`list_dir`)
109
- - Executar comandos shell (`run_shell`)
110
- - Abrir terminal novo (`run_in_new_terminal`)
111
- - Controlar o navegador (`browser_*`)
112
- - Abrir páginas no browser (`open_in_browser`)
110
+ ## Segurança
113
111
 
114
- Tudo sem nunca colar código no chat — apenas resultados.
112
+ Todo caminho que o modelo pede é resolvido **dentro** da pasta do projeto.
113
+ Caminho absoluto ou com `../` é recusado — o agente não escreve fora da sua
114
+ área de trabalho.
115
115
 
116
116
  ## Arquitetura
117
117
 
118
118
  ```
119
- ┌────────────────┐ HTTPS/SSE ┌───────────────────┐ HTTPS ┌──────────┐
120
- │ primocode CLI │ ─────────────► │ primocode-server │ ─────────► │ Groq │
121
- │ (seu terminal)│ ◄───────────── │ (Render) │ ◄───────── │ API │
122
- └────────────────┘ streaming └───────────────────┘ └──────────┘
119
+ ┌────────────────┐ HTTPS/SSE ┌───────────────────┐ HTTPS ┌──────────┐
120
+ │ primocode CLI │ ─────────────► │ primocode-server │ ────────► │ Groq │
121
+ │ (seu terminal)│ ◄───────────── │ (Render) │ ◄──────── │ API │
122
+ └────────────────┘ └───────────────────┘ └──────────┘
123
+ executa as tools monta o prompt
124
+ localmente e fala com o modelo
123
125
  ```
124
126
 
125
- - CLI: zero dependências (só stdlib do Node).
126
- - Server: Express + `groq-sdk`, streaming SSE.
127
+ As tools rodam **no seu computador** — o servidor nunca toca nos seus arquivos.
128
+ Ele decide o que fazer; o CLI faz e devolve o resultado.
127
129
 
128
130
  ## Licença
129
131