invos 2.0.5 → 2.0.6
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/bin/invos.js +8 -0
- package/kit/.agents/skills/analisar-dados/SKILL.md +1 -1
- package/kit/.agents/skills/anuncio-google/SKILL.md +1 -1
- package/kit/.agents/skills/atualizar/SKILL.md +1 -1
- package/kit/.agents/skills/carrossel/SKILL.md +1 -1
- package/kit/.agents/skills/email-profissional/SKILL.md +1 -1
- package/kit/.agents/skills/instalar/SKILL.md +1 -1
- package/kit/.agents/skills/mapear-rotinas/SKILL.md +1 -1
- package/kit/.agents/skills/publicar-tema/SKILL.md +1 -1
- package/kit/.agents/skills/relatorio-ads/SKILL.md +1 -1
- package/kit/.agents/skills/responder-avaliacoes/SKILL.md +1 -1
- package/kit/.agents/skills/salvar/SKILL.md +2 -2
- package/kit/.agents/skills/seo/SKILL.md +1 -1
- package/kit/CHANGELOG.md +17 -0
- package/kit/INVOS.json +1 -1
- package/kit/README.md +101 -33
- package/package.json +1 -1
- package/src/resolve-kit.js +2 -2
package/bin/invos.js
CHANGED
|
@@ -51,6 +51,14 @@ async function main() {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
// Valida o comando ANTES de resolver o kit — erro de digitação
|
|
55
|
+
// não pode ser mascarado por "kit não encontrado".
|
|
56
|
+
if (!['init', 'install', 'update', 'doctor'].includes(cmd)) {
|
|
57
|
+
console.error('Unknown:', cmd);
|
|
58
|
+
help();
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
|
|
54
62
|
const kitRoot = resolveKitRoot();
|
|
55
63
|
const kit = loadManifest(resolve(kitRoot, 'INVOS.json'));
|
|
56
64
|
if (!kit) {
|
|
@@ -17,7 +17,7 @@ Skill de uma função só: garantir que o trabalho do usuário está no GitHub.
|
|
|
17
17
|
Detectar com `git rev-parse --is-inside-work-tree`. Se falhar:
|
|
18
18
|
|
|
19
19
|
1. Perguntar:
|
|
20
|
-
> "Esse é o primeiro
|
|
20
|
+
> "Esse é o primeiro sync. Você já tem um repositório criado no GitHub pra esse workspace?
|
|
21
21
|
> 1. Sim, me passa a URL (ex: https://github.com/usuario/nome.git)
|
|
22
22
|
> 2. Não, vou criar agora — me dá um nome pro repositório (ex: meu-invos)"
|
|
23
23
|
|
|
@@ -45,5 +45,5 @@ Detectar com `git rev-parse --is-inside-work-tree`. Se falhar:
|
|
|
45
45
|
|
|
46
46
|
- Nunca usar `--force` sem o usuário pedir explicitamente
|
|
47
47
|
- Nunca rodar `git reset --hard` ou outras destrutivas sem confirmação clara
|
|
48
|
-
- Se o push falhar por divergência (
|
|
48
|
+
- Se o push falhar por divergência (remoto tem commits — inclusive no primeiro push, quando o GitHub criou README/licença), avisar o usuário e oferecer `git pull --rebase` antes de tentar de novo
|
|
49
49
|
- Se o usuário ainda não tiver `git` configurado (`user.name` / `user.email`), perguntar e configurar com `git config --global` na primeira vez
|
package/kit/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Todas as mudanças notáveis no INVOS. Formato baseado em [Keep a Changelog](https://keepachangelog.com/).
|
|
4
4
|
|
|
5
|
+
## [2.0.6] - 2026-08-23
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- BOM UTF-8 removido de 11 `SKILL.md` do kit — quebrava o frontmatter em parsers estritos de skill
|
|
9
|
+
- `/salvar`: typo no prompt de primeiro sync; divergência no primeiro push (README/licença do GitHub) agora orientada explicitamente
|
|
10
|
+
- CLI valida comando desconhecido **antes** de resolver o kit — erro correto em qualquer ambiente
|
|
11
|
+
- `resolveKitRoot`: fallback dev apontava pra `packages/` em vez da raiz do repo (caminho relativo errado pós-reestruturação)
|
|
12
|
+
- Smoke test resolve o kit no layout atual (raiz) com fallback pro bundled — 5/5
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- `INVOS.json` do kit volta a acompanhar a versão do CLI (2.0.1 → 2.0.6)
|
|
16
|
+
|
|
17
|
+
## [2.0.5] - 2026-07-29
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- `CHANGELOG.md` incluído no bundle do kit
|
|
21
|
+
|
|
5
22
|
## [2.0.4] - 2026-07-29
|
|
6
23
|
|
|
7
24
|
### Fixed
|
package/kit/INVOS.json
CHANGED
package/kit/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</pre>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
|
-
<b>
|
|
17
|
+
<b>Você já usa IA. Agora é hora de ter um cofundador de IA trabalhando por você.</b>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
<p align="center">
|
|
@@ -25,40 +25,70 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
**Usar IA é o nível 1.** A IA trabalha *com* você: responde quando você pergunta,
|
|
29
|
+
esquece tudo na próxima sessão, e para quando você para.
|
|
30
|
+
|
|
31
|
+
**Ter um cofundador de IA é o nível 2.** Ele trabalha *por* você: sabe quem você é,
|
|
32
|
+
o que importa hoje e o que foi decidido ontem. Prioriza o dia, rascunha proposta no
|
|
33
|
+
teu tom, audita posicionamento, cria conteúdo — com memória que não esquece.
|
|
34
|
+
|
|
35
|
+
INVOS leva qualquer agente de IA do nível 1 ao nível 2. Zero programação — se você
|
|
36
|
+
abre o Claude Code ou o Codex e responde a uma entrevista, já basta. Em ~10 minutos seu
|
|
37
|
+
cofundador de IA está rodando e sabe quem você é.
|
|
38
|
+
|
|
39
|
+
### A diferença, lado a lado
|
|
40
|
+
|
|
41
|
+
| Nível 1 · ferramenta de apoio | Nível 2 · cofundador de IA |
|
|
42
|
+
|---|---|
|
|
43
|
+
| A IA como copiloto: trabalha **com** você | Trabalha **por** você, no automático |
|
|
44
|
+
| Só responde quando você pergunta | Você dá o objetivo, ele executa de ponta a ponta |
|
|
45
|
+
| Faz uma tarefa por vez, e só quando você especifica | Trabalha todos os dias, 24/7 |
|
|
46
|
+
| Você precisa saber exatamente o que pedir | Sabe quem você é, o que importa hoje e o que decidiu ontem |
|
|
47
|
+
| Sem você no meio, ela não faz nada | Opera fluxos e áreas inteiras por você |
|
|
48
|
+
| Esquece tudo na próxima sessão | Memória viva — decisões, clientes, histórico |
|
|
31
49
|
|
|
32
50
|
---
|
|
33
51
|
|
|
34
|
-
##
|
|
52
|
+
## Início rápido (3 passos)
|
|
35
53
|
|
|
36
|
-
**1.
|
|
54
|
+
**1. Crie seu projeto**
|
|
37
55
|
```bash
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Isso gera uma pasta com a estrutura completa: memória, skills, templates.
|
|
56
|
+
# Pasta nova
|
|
57
|
+
npx invos init --name meu-negocio
|
|
41
58
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
`AGENTS.md`. Dentro do chat do agente, roda:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
/instalar
|
|
59
|
+
# Pasta existente
|
|
60
|
+
cd meu-projeto && npx invos init
|
|
48
61
|
```
|
|
49
62
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
**2. Abra no seu agente de IA e rode `/instalar`**
|
|
64
|
+
|
|
65
|
+
O agente faz uma entrevista rápida e monta a memória do seu negócio.
|
|
53
66
|
|
|
54
67
|
**3. Pronto. Seu cofundador já sabe quem você é.**
|
|
55
68
|
|
|
56
|
-
|
|
57
|
-
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Agentes suportados
|
|
72
|
+
|
|
73
|
+
| Agente | Funciona? | Como ativar |
|
|
74
|
+
|--------|-----------|-------------|
|
|
75
|
+
| Claude Code | ✅ | `CLAUDE.md` carrega automaticamente |
|
|
76
|
+
| Cursor | ✅ | `AGENTS.md` carrega automaticamente |
|
|
77
|
+
| OpenCode | ✅ | `AGENTS.md` carrega automaticamente |
|
|
78
|
+
| Codex CLI | ✅ | `AGENTS.md` carrega automaticamente |
|
|
79
|
+
| Grok | ✅ | `AGENTS.md` carrega automaticamente |
|
|
80
|
+
| Gemini CLI | ✅ | `AGENTS.md` carrega automaticamente |
|
|
81
|
+
|
|
82
|
+
Qualquer agente que leia `AGENTS.md` funciona.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Comandos do agente
|
|
58
87
|
|
|
59
88
|
| Comando | O que faz |
|
|
60
89
|
|---------|-----------|
|
|
61
90
|
| `/abrir` | Carrega seu contexto no início da sessão |
|
|
91
|
+
| `/instalar` | Entrevista + monta memória do negócio (primeira vez) |
|
|
62
92
|
| `/carrossel` | Cria post educativo pro Instagram |
|
|
63
93
|
| `/salvar` | Commit + push no GitHub |
|
|
64
94
|
| `/atualizar` | Sincroniza contexto com mudanças recentes |
|
|
@@ -69,10 +99,16 @@ o contexto. Pede o que precisar:
|
|
|
69
99
|
| `/mapear-rotinas` | Transforma tarefas repetitivas em skills |
|
|
70
100
|
| `/novo-projeto` | Cria pasta isolada por cliente |
|
|
71
101
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Comandos da CLI
|
|
105
|
+
|
|
106
|
+
| Comando | O que faz |
|
|
107
|
+
|---------|-----------|
|
|
108
|
+
| `npx invos init` | Cria projeto novo com kit completo |
|
|
109
|
+
| `npx invos install` | Instala no projeto atual |
|
|
110
|
+
| `npx invos update` | Atualiza kit (preserva memória e dados) |
|
|
111
|
+
| `npx invos doctor` | Diagnostica instalação + avisa se tem versão nova |
|
|
76
112
|
|
|
77
113
|
---
|
|
78
114
|
|
|
@@ -87,27 +123,59 @@ projeto/
|
|
|
87
123
|
├── marca/ ← Cores, fontes, logo (pra posts visuais)
|
|
88
124
|
├── marketing/ ← Conteúdo e campanhas que as skills geram
|
|
89
125
|
├── saidas/ ← Documentos, propostas, relatórios prontos
|
|
90
|
-
|
|
91
|
-
└── packages/cli/ ← Código do CLI (`npx invos`)
|
|
126
|
+
└── templates/ ← Perfis pré-formatados (solopreneur, agência…)
|
|
92
127
|
```
|
|
93
128
|
|
|
94
|
-
Tudo em **Markdown puro** — portável, editável
|
|
129
|
+
Tudo em **Markdown puro** — portável, editável, versionado no Git.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Exemplos do que dá pra fazer
|
|
134
|
+
|
|
135
|
+
- **Criar carrossel pro Instagram** → `/carrossel` sobre tendências do seu nicho
|
|
136
|
+
- **Escrever proposta comercial** → no seu tom, com dados do cliente
|
|
137
|
+
- **Auditar posicionamento** → advisorboard analisa e sugere ajustes
|
|
138
|
+
- **Analisar planilha** → `/analisar-dados` gera relatório com insights
|
|
139
|
+
- **Criar conteúdo de lançamento** → hormozi-squad monta oferta completa
|
|
140
|
+
- **Email profissional** → no seu tom, pra qualquer contexto
|
|
95
141
|
|
|
96
142
|
---
|
|
97
143
|
|
|
98
144
|
## Por que INVOS?
|
|
99
145
|
|
|
100
|
-
- **Cofundador, não ferramenta:** ele sabe quem você é, o que importa hoje, e executa
|
|
101
|
-
- **
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
146
|
+
- **Cofundador, não ferramenta:** ele sabe quem você é, o que importa hoje, e executa
|
|
147
|
+
- **Nível 2, não nível 1:** IA que trabalha *por* você, não *com* você
|
|
148
|
+
- **Rapidez:** cofundador rodando em ~10 minutos — entrevista, memória, pronto
|
|
149
|
+
- **Funciona em qualquer agente:** Claude, Cursor, Grok, Codex, OpenCode
|
|
150
|
+
- **Skills plugáveis:** ative só o que precisa, crie as suas
|
|
151
|
+
- **Memória viva:** seus dados ficam em Markdown no seu repo. Portável, sua
|
|
152
|
+
- **Grátis:** MIT. Sem lock-in, sem surpresa
|
|
153
|
+
- **Sem programação:** feito pra quem toca o negócio — o agente guia a instalação
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Troubleshooting
|
|
158
|
+
|
|
159
|
+
| Problema | Solução |
|
|
160
|
+
|----------|---------|
|
|
161
|
+
| `command not found: invos` | Use `npx invos` (com npx, não npm) |
|
|
162
|
+
| Skills não aparecem no Claude Code | Rode `npx invos doctor --fix` |
|
|
163
|
+
| Memória sumiu depois de update | Seus dados em `_memoria/` são preservados. Rode `/abrir` |
|
|
164
|
+
| Quero versão específica | `npx invos@2.0.5 init` |
|
|
165
|
+
| Erro no install | Rode `npx invos doctor` e veja o diagnóstico |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Contribuindo
|
|
170
|
+
|
|
171
|
+
- **Bug report ou sugestão** → [Issues](https://github.com/felipenalves/InvOS/issues)
|
|
172
|
+
- **Dúvida ou discussão** → [Discussões](https://github.com/felipenalves/InvOS/discussions)
|
|
105
173
|
|
|
106
174
|
---
|
|
107
175
|
|
|
108
176
|
## Licença
|
|
109
177
|
|
|
110
|
-
MIT
|
|
178
|
+
MIT — use, estude, modifique, compartilhe. Construído por [Felipe Natanael](https://github.com/felipenalves).
|
|
111
179
|
|
|
112
180
|
---
|
|
113
181
|
|
package/package.json
CHANGED
package/src/resolve-kit.js
CHANGED
|
@@ -34,8 +34,8 @@ export function resolveKitRoot() {
|
|
|
34
34
|
const bundled = resolve(__dirname, '../kit');
|
|
35
35
|
if (existsSync(resolve(bundled, 'INVOS.json'))) return bundled;
|
|
36
36
|
|
|
37
|
-
//
|
|
38
|
-
const v2 = resolve(__dirname, '
|
|
37
|
+
// src/ → ../../.. = raiz do repo (kit na raiz no layout dev)
|
|
38
|
+
const v2 = resolve(__dirname, '../../..');
|
|
39
39
|
if (existsSync(resolve(v2, 'INVOS.json'))) return v2;
|
|
40
40
|
|
|
41
41
|
console.error(`
|