@hiperplano/aluy-cli 1.0.0-rc.180 → 1.0.0-rc.182
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/LICENSE +19 -5
- package/README.md +75 -72
- package/dist-bundle/bin/aluy.js +174 -151
- package/dist-bundle/index.js +37 -14
- package/package.json +2 -2
package/LICENSE
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
mas isto NÃO é uma concessão de licença de código aberto. Uso, cópia, modificação
|
|
5
|
-
ou redistribuição fora da organização exigem autorização expressa por escrito.
|
|
3
|
+
Copyright (c) 2026 Hiperplano
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -5,110 +5,113 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<
|
|
8
|
+
<p align="center">
|
|
9
|
+
<b>Um agente de terminal que roda na sua máquina, com a sua chave.</b><br>
|
|
10
|
+
Sem intermediário, sem metering, sem mandar o seu código para o servidor de ninguém.
|
|
11
|
+
</p>
|
|
9
12
|
|
|
10
13
|
<p align="center">
|
|
11
|
-
|
|
14
|
+
<a href="https://www.npmjs.com/package/@hiperplano/aluy-cli"><img alt="npm" src="https://img.shields.io/npm/v/@hiperplano/aluy-cli?color=%23cc3534&label=npm"></a>
|
|
15
|
+
<a href="LICENSE"><img alt="Licença MIT" src="https://img.shields.io/badge/licen%C3%A7a-MIT-blue"></a>
|
|
16
|
+
<a href="https://github.com/hiperplano/aluy-cli/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/hiperplano/aluy-cli/actions/workflows/ci.yml/badge.svg?branch=main"></a>
|
|
17
|
+
<img alt="Node >= 20" src="https://img.shields.io/node/v/@hiperplano/aluy-cli">
|
|
18
|
+
<img alt="Linux · macOS · Windows" src="https://img.shields.io/badge/-Linux%20%C2%B7%20macOS%20%C2%B7%20Windows-informational">
|
|
12
19
|
</p>
|
|
13
20
|
|
|
14
21
|
---
|
|
15
22
|
|
|
16
|
-
O **Aluy CLI** é um agente de terminal: ele lê e edita arquivos, executa
|
|
17
|
-
comandos, busca no seu código e conduz seu próprio **loop de ferramentas** — tudo
|
|
18
|
-
numa TUI rica, com uma **engine de permissão** onde todo efeito passa por uma
|
|
19
|
-
catraca antes de acontecer.
|
|
20
|
-
|
|
21
|
-
Você usa o **seu próprio modelo** (BYO): qualquer provider compatível com a API da
|
|
22
|
-
OpenAI, com a sua própria credencial — direto, sem intermediário e sem metering.
|
|
23
|
-
_(Por enquanto o aluy roda só local, com a sua chave.)_
|
|
24
|
-
|
|
25
|
-
## Instalação
|
|
26
|
-
|
|
27
23
|
```bash
|
|
28
24
|
npm install -g @hiperplano/aluy-cli
|
|
29
|
-
aluy onboard #
|
|
25
|
+
aluy onboard # instalador guiado: idioma, provider, modelo
|
|
30
26
|
aluy # abre a sessão
|
|
31
27
|
```
|
|
32
28
|
|
|
33
|
-
O
|
|
34
|
-
|
|
35
|
-
opcionais. Funciona em **Linux, macOS e Windows** — o terminal recomendado é o
|
|
36
|
-
[WezTerm](https://wezterm.org), mas qualquer terminal moderno serve.
|
|
37
|
-
|
|
38
|
-
## Uso
|
|
29
|
+
O **Aluy CLI** lê e edita arquivos, executa comandos, busca no seu código e conduz
|
|
30
|
+
o próprio loop de ferramentas numa TUI rica. Você aponta o objetivo; ele trabalha.
|
|
39
31
|
|
|
40
32
|
```bash
|
|
41
|
-
aluy
|
|
42
|
-
aluy "
|
|
43
|
-
aluy
|
|
44
|
-
aluy --
|
|
45
|
-
aluy --continue # retoma a sessão mais recente deste diretório
|
|
33
|
+
aluy "migre os testes de jest para vitest" # um objetivo, e acompanhe
|
|
34
|
+
aluy -p "liste os TODOs" --output-format json # headless, para script e CI
|
|
35
|
+
aluy --plan "como eu quebraria esse módulo?" # só lê e analisa, zero efeito
|
|
36
|
+
aluy --continue # retoma de onde parou
|
|
46
37
|
```
|
|
47
38
|
|
|
48
|
-
|
|
39
|
+
## Por que este, e não outro
|
|
49
40
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
| `/rename` · `/theme` · `/lang` | nome+cor da sessão, tema, idioma |
|
|
57
|
-
| `/memory` · `/compact` · `/history` | memória, compactação de contexto, histórico |
|
|
41
|
+
**A chave é sua, e o caminho é direto.** Nove providers no catálogo — Anthropic,
|
|
42
|
+
OpenAI, OpenRouter, Google, DeepSeek, Groq, Mistral, xAI e Ollama — ou qualquer
|
|
43
|
+
endpoint compatível com a API da OpenAI. Não há servidor nosso no meio: o seu
|
|
44
|
+
código e o seu prompt vão do seu terminal para o provider que **você** escolheu.
|
|
45
|
+
A credencial nunca fica em claro — vai para o keychain do SO ou, onde ele não
|
|
46
|
+
existe, para um cofre cifrado que não funciona em outra máquina.
|
|
58
47
|
|
|
59
|
-
|
|
48
|
+
**Uma catraca, e só uma.** Todo tool-call passa por um ponto único de
|
|
49
|
+
interceptação antes de virar efeito, com negação por padrão. Não é uma convenção:
|
|
50
|
+
é uma fronteira travada no lint e coberta por teste, e a engine que a hospeda não
|
|
51
|
+
pode nem importar a TUI. Quando você quiser velocidade em vez de perguntas, o
|
|
52
|
+
`--yolo` existe; quando quiser o contrário, o `--plan` deixa tudo read-only.
|
|
60
53
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
A credencial fica **só no keychain do SO** (macOS Keychain · Windows Credential
|
|
66
|
-
Manager · Linux Secret Service) — nunca em arquivo, `.env` ou log.
|
|
67
|
-
- **MCP** — conecta servers MCP (`~/.aluy/mcp.json` global e `.mcp.json` do projeto),
|
|
68
|
-
compatível com o ecossistema; o onboard ainda oferece pré-instalar alguns (Playwright,
|
|
69
|
-
Filesystem, Memory, …).
|
|
70
|
-
- **Complementos opcionais** (modo turbo) — memória persistente, modelos locais via
|
|
71
|
-
Ollama e gestão de contexto, instaláveis no onboard ou depois com `aluy bootstrap`.
|
|
72
|
-
Guia completo (instalação, problemas comuns, instalação manual): [docs/turbo.md](docs/turbo.md).
|
|
54
|
+
**O trabalho continua sem você.** Um serviço é um diretório com um `service.md`:
|
|
55
|
+
horário, orçamento, autonomia e canal. Ele acorda sozinho, abre um turno, respeita
|
|
56
|
+
o teto de tokens — e, quando precisa de uma decisão que não é dele, **pergunta pelo
|
|
57
|
+
Telegram e espera**, em vez de chutar. Você responde do celular e ele retoma.
|
|
73
58
|
|
|
74
|
-
|
|
59
|
+
**Fala com o resto do ecossistema.** Servers MCP (globais e por projeto), sub-agentes
|
|
60
|
+
em `.md`, skills, workflows, hooks e plugins. E ele lê o `AGENTS.md` e o `CLAUDE.md`
|
|
61
|
+
do seu repositório junto com o `ALUY.md` — eles compõem, não competem, então adotar
|
|
62
|
+
o aluy não obriga a reescrever o que você já tem.
|
|
75
63
|
|
|
76
|
-
|
|
64
|
+
## Documentação
|
|
77
65
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| `
|
|
66
|
+
| | |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| [Comandos](docs/comandos.md) | subcomandos, flags e os 46 slash-commands |
|
|
69
|
+
| [Configuração](docs/configuracao.md) | `~/.aluy/`, precedência, hooks, arquivos de projeto |
|
|
70
|
+
| [Serviços](docs/comandos.md#serviços) | o `service.md` e o runner contínuo |
|
|
71
|
+
| [MCP](docs/mcp.md) | conectar servers, e o que isso implica |
|
|
72
|
+
| [Modo turbo](docs/turbo.md) | memória persistente, Ollama, gestão de contexto |
|
|
73
|
+
| [Compatibilidade](docs/config-compat.md) | conviver com a config de outros agentes |
|
|
83
74
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
commands e skills.
|
|
75
|
+
`aluy --help` traz tudo isso no terminal, e `aluy doctor` diz o que está quebrado
|
|
76
|
+
e como consertar.
|
|
87
77
|
|
|
88
|
-
##
|
|
78
|
+
## Segurança
|
|
89
79
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
| **`@hiperplano/aluy-cli-core`** | Engine **portável** do agente (loop · tools · permissão). Sem Ink, sem I/O de terminal. Hospeda o ponto único de interceptação de tool-calls. |
|
|
93
|
-
| **`@hiperplano/aluy-cli`** | TUI (**Ink**) + binário **`aluy`** + wiring. Consome `@hiperplano/aluy-cli-core`. |
|
|
80
|
+
O aluy roda **na sua máquina, com os seus privilégios**. Três coisas que vale saber
|
|
81
|
+
antes de usar:
|
|
94
82
|
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
- Um **server MCP** de terceiro roda com os seus privilégios e **sem sandbox** — ele
|
|
84
|
+
pode ler o seu filesystem. Plugue só os que você confia.
|
|
85
|
+
- O **`--yolo`** aprova tudo automaticamente. É útil e é perigoso; a escolha é sua.
|
|
86
|
+
- Credencial **nunca** vai para arquivo em claro, log ou `.env`, e o `gitleaks` roda
|
|
87
|
+
na CI para garantir que nenhuma vaze para o repositório.
|
|
97
88
|
|
|
98
|
-
|
|
89
|
+
Encontrou uma vulnerabilidade? Abra uma
|
|
90
|
+
[issue](https://github.com/hiperplano/aluy-cli/issues) marcando como sensível, ou
|
|
91
|
+
fale com os mantenedores antes de divulgar.
|
|
92
|
+
|
|
93
|
+
## Contribuir
|
|
94
|
+
|
|
95
|
+
PRs são bem-vindos. O [CONTRIBUTING.md](CONTRIBUTING.md) tem o essencial:
|
|
99
96
|
|
|
100
97
|
```bash
|
|
101
|
-
|
|
102
|
-
npm
|
|
103
|
-
npm run lint
|
|
98
|
+
git clone https://github.com/hiperplano/aluy-cli && cd aluy-cli
|
|
99
|
+
npm install && npm run build
|
|
104
100
|
npm test
|
|
105
|
-
node packages/cli/dist/bin/aluy.js --help
|
|
106
101
|
```
|
|
107
102
|
|
|
108
|
-
|
|
103
|
+
Duas regras que não relaxamos: **a CI é honesta** (nada de `|| true` ou
|
|
104
|
+
`continue-on-error` — gate vermelho bloqueia o merge) e **a fronteira do core é
|
|
105
|
+
real** (`@hiperplano/aluy-cli-core` não importa Ink nem faz I/O de terminal,
|
|
106
|
+
travado no eslint e em teste).
|
|
107
|
+
|
|
108
|
+
O histórico de cada versão está no [CHANGELOG.md](CHANGELOG.md).
|
|
109
|
+
|
|
110
|
+
## Estado
|
|
109
111
|
|
|
110
|
-
|
|
112
|
+
`1.0.0-rc` — em uso diário, com release frequente. A superfície de comandos está
|
|
113
|
+
estável; o que ainda muda vem anotado no CHANGELOG a cada rc.
|
|
111
114
|
|
|
112
115
|
## Licença
|
|
113
116
|
|
|
114
|
-
|
|
117
|
+
[MIT](LICENSE) © Hiperplano
|