@seedgrid/ai-toolkit 0.3.0 → 0.3.1
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 +17 -6
- package/dist/cli.js +7 -1
- package/dist/commands/selfinstall.js +63 -0
- package/docs/formato.md +1 -1
- package/docs/instalacao.md +1 -1
- package/package.json +1 -1
- package/seedgridKB/SeedGrid/Extensions/Catalogo-de-propriedades.md +971 -971
- package/seedgridKB/SeedGrid/Extensions/audit/Configuracao-Rust.md +93 -93
- package/seedgridKB/SeedGrid/Extensions/resilience/Configuracao.md +186 -186
- package/seedgridKB/SeedGrid/Extensions/resilience/Visao-geral.md +112 -112
- package/seedgridKB/SeedGrid/SeedGrid-components/Indice.md +323 -323
- package/seedgridKB/SeedGrid/SeedGrid-components/editor/API.md +103 -103
- package/seedgridKB/SeedGrid/SeedGrid-components/editor/Visao-geral.md +86 -86
- package/seedgridKB/SeedGrid/SeedGrid-components/gadgets/Exemplos.md +629 -629
- package/seedgridKB/SeedGrid/SeedGrid-components/inputs-texto/Visao-geral.md +123 -123
- package/seedgridKB/SeedGrid/SeedGrid-components/navegacao-e-overlay/Exemplos.md +59 -59
- package/seedgridKB/manifest.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,17 @@ Fonte versionada de **agentes (papéis), skills, regras, templates, referências
|
|
|
4
4
|
|
|
5
5
|
O toolkit **não** é um orquestrador de modelos: não chama APIs da OpenAI ou da Anthropic, não guarda credenciais e não escolhe fornecedores. Ele instala instruções e configurações; a ferramenta de IA executa e coordena o trabalho.
|
|
6
6
|
|
|
7
|
-
>
|
|
7
|
+
> Pacote público no npm como `@seedgrid/ai-toolkit` (licença MIT); código em https://github.com/SeedGrid/seedgrid-ai. A versão do pacote e a do conteúdo instalado são a mesma.
|
|
8
|
+
|
|
9
|
+
## Instalação rápida
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @seedgrid/ai-toolkit@latest install # uma vez por máquina: instala o comando seedgrid-ai (npm install -g)
|
|
13
|
+
cd /caminho/do/projeto
|
|
14
|
+
seedgrid-ai init # instala o toolkit no projeto
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Depois é só `seedgrid-ai update`, `seedgrid-ai status`, `seedgrid-ai doctor`, `seedgrid-ai review` etc. (`seedgrid-ai --help` lista tudo). Sem instalar o comando, qualquer comando também funciona com `npx @seedgrid/ai-toolkit <comando>`. Abra uma **sessão nova** do Claude Code ou do Codex depois de instalar no projeto.
|
|
8
18
|
|
|
9
19
|
## O que é instalado
|
|
10
20
|
|
|
@@ -66,6 +76,7 @@ seedgrid-ai init --target both --mode shared
|
|
|
66
76
|
## Comandos
|
|
67
77
|
|
|
68
78
|
```bash
|
|
79
|
+
seedgrid-ai install # instala o comando seedgrid-ai na máquina (npm install -g)
|
|
69
80
|
seedgrid-ai init --target both --mode shared # padrão; idempotente
|
|
70
81
|
seedgrid-ai init --target both --mode native # também registra subagentes nativos
|
|
71
82
|
seedgrid-ai init --source ./seedgridKB --dry-run # fonte local (desenvolvimento), só o plano
|
|
@@ -118,15 +129,15 @@ Seleção de papéis e delegação são comportamentos orientados por instruçõ
|
|
|
118
129
|
|
|
119
130
|
## Uso via npm
|
|
120
131
|
|
|
121
|
-
Depois que a versão for publicada:
|
|
122
|
-
|
|
123
132
|
```bash
|
|
133
|
+
npx @seedgrid/ai-toolkit@latest install # instala o comando seedgrid-ai nesta máquina (uma vez; repita para atualizar o comando)
|
|
124
134
|
cd /caminho/do/projeto
|
|
125
|
-
|
|
126
|
-
|
|
135
|
+
seedgrid-ai init --target both # primeira instalação no projeto
|
|
136
|
+
seedgrid-ai update # leva o projeto ao conteúdo da versão do comando instalado
|
|
137
|
+
npx @seedgrid/ai-toolkit@latest update # ou: usa a versão mais recente sem instalar nada
|
|
127
138
|
```
|
|
128
139
|
|
|
129
|
-
|
|
140
|
+
`install` executa `npm install -g @seedgrid/ai-toolkit@<versão deste CLI>` e confere se `seedgrid-ai` ficou no PATH; não toca em nenhum projeto (`--dry-run` mostra o comando). Se der erro de permissão, configure um prefixo global do npm para o seu usuário ou continue usando `npx`. Se houver versão mais nova publicada, `init`, `update` e `status` avisam e, no terminal, perguntam se devem usá-la (`[Y/n]`); desative com `--no-update-check`. Detalhes em [docs/instalacao.md](docs/instalacao.md#aviso-de-versão-nova). O pacote leva o CLI compilado e o conteúdo; a versão do pacote identifica o conteúdo instalado, e `update` nunca baixa conteúdo por conta própria. Faça commit do resultado no projeto: o restante da equipe recebe tudo pelo Git, sem rodar o CLI.
|
|
130
141
|
|
|
131
142
|
## Repositório e publicação
|
|
132
143
|
|
package/dist/cli.js
CHANGED
|
@@ -7,15 +7,18 @@ import { doctorCommand } from './commands/doctor.js';
|
|
|
7
7
|
import { initCommand } from './commands/init.js';
|
|
8
8
|
import { removeCommand } from './commands/remove.js';
|
|
9
9
|
import { reviewCommand } from './commands/review.js';
|
|
10
|
+
import { selfInstallCommand } from './commands/selfinstall.js';
|
|
10
11
|
import { statusCommand } from './commands/status.js';
|
|
11
12
|
import { updateCommand } from './commands/update.js';
|
|
12
13
|
import { validateCommand } from './commands/validate.js';
|
|
13
14
|
import { cliVersion } from './core/env.js';
|
|
15
|
+
import { TOOL_NAME } from './core/lock.js';
|
|
14
16
|
import { ToolkitError } from './core/types.js';
|
|
15
17
|
import { checkLatest, confirm, isInteractive, npxCommandLine, runPublishedVersion, } from './core/updates.js';
|
|
16
18
|
const HELP = `seedgrid-ai — instala o SeedGrid AI Toolkit em projetos locais (Claude Code e Codex)
|
|
17
19
|
|
|
18
20
|
Comandos:
|
|
21
|
+
install Instala o comando seedgrid-ai nesta máquina (npm install -g), para usar sem npx; não altera nenhum projeto
|
|
19
22
|
init Instala o toolkit (regras, papéis, skills, base de conhecimento) no projeto; idempotente
|
|
20
23
|
update Leva o projeto ao conteúdo da versão do CLI em execução (use npx @seedgrid/ai-toolkit@latest para a mais nova)
|
|
21
24
|
status Mostra versões, opções e divergências da instalação
|
|
@@ -26,6 +29,7 @@ Comandos:
|
|
|
26
29
|
help Mostra esta ajuda
|
|
27
30
|
|
|
28
31
|
Uso:
|
|
32
|
+
seedgrid-ai install [--dry-run]
|
|
29
33
|
seedgrid-ai init [--target claude|codex|both] [--mode shared|native] [--source <pasta>] [--dry-run]
|
|
30
34
|
seedgrid-ai update [--target ...] [--mode ...] [--source <pasta>] [--dry-run]
|
|
31
35
|
seedgrid-ai status
|
|
@@ -46,10 +50,12 @@ Opções comuns:
|
|
|
46
50
|
--no-update-check Não consulta o npm por versões mais novas (também: SEEDGRID_AI_NO_UPDATE_CHECK=1)
|
|
47
51
|
--version, --help
|
|
48
52
|
|
|
53
|
+
Primeira vez: npx @seedgrid/ai-toolkit@latest install (depois use seedgrid-ai init, update, ... sem npx)
|
|
49
54
|
Padrões do init: --target both --mode shared (ou as opções do lock existente).
|
|
50
55
|
Em terminal interativo, init/update/status perguntam se devem usar uma versão mais nova publicada no npm.
|
|
51
56
|
Conflitos abortam a operação inteira (código de saída 2); nada é sobrescrito.`;
|
|
52
57
|
const COMMANDS = {
|
|
58
|
+
install: { handler: selfInstallCommand, allowed: ['dry-run'] },
|
|
53
59
|
init: { handler: initCommand, allowed: ['target', 'mode', 'source', 'dry-run'] },
|
|
54
60
|
update: { handler: updateCommand, allowed: ['target', 'mode', 'source', 'dry-run'] },
|
|
55
61
|
status: { handler: statusCommand, allowed: [] },
|
|
@@ -174,7 +180,7 @@ export async function main(argv) {
|
|
|
174
180
|
}
|
|
175
181
|
}
|
|
176
182
|
function updateNotice(info, args) {
|
|
177
|
-
return `Aviso: versão ${info.latest} disponível no npm (este CLI: ${info.current}). Para usá-la: ${npxCommandLine(info.latest, args)}`;
|
|
183
|
+
return `Aviso: versão ${info.latest} disponível no npm (este CLI: ${info.current}). Para usá-la: ${npxCommandLine(info.latest, args)}. Para atualizar o comando seedgrid-ai instalado na máquina: npx ${TOOL_NAME}@latest install`;
|
|
178
184
|
}
|
|
179
185
|
/** Repassa o comando para a versão publicada mais nova. */
|
|
180
186
|
async function delegate(info, args) {
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { cliVersion } from '../core/env.js';
|
|
3
|
+
import { TOOL_NAME } from '../core/lock.js';
|
|
4
|
+
import { EXIT_ERROR, EXIT_OK } from './common.js';
|
|
5
|
+
/** Executa um comando fixo (sem entrada do usuário) e devolve o resultado. shell é necessário para npm.cmd no Windows. */
|
|
6
|
+
function runFixed(command, timeoutMs) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
const child = exec(command, { timeout: timeoutMs, windowsHide: true, maxBuffer: 16 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
9
|
+
const e = err;
|
|
10
|
+
resolve({ code: e ? (typeof e.code === 'number' ? e.code : null) : 0, stdout: stdout.toString(), stderr: stderr.toString() });
|
|
11
|
+
});
|
|
12
|
+
child.stdin?.end();
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Instala o comando `seedgrid-ai` na máquina (npm install -g), na versão deste CLI.
|
|
17
|
+
* Depois, os demais comandos ficam disponíveis sem npx. Não toca em nenhum projeto.
|
|
18
|
+
*/
|
|
19
|
+
export async function selfInstallCommand(opts) {
|
|
20
|
+
const version = cliVersion();
|
|
21
|
+
const command = `npm install -g ${TOOL_NAME}@${version}`;
|
|
22
|
+
const base = { command: 'install', version, npmCommand: command };
|
|
23
|
+
if (opts.dryRun) {
|
|
24
|
+
return {
|
|
25
|
+
exitCode: EXIT_OK,
|
|
26
|
+
report: { ...base, dryRun: true },
|
|
27
|
+
lines: [`Executaria: ${command}`, 'Nada foi instalado (--dry-run).'],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const run = opts.npmRunner ?? runFixed;
|
|
31
|
+
const result = await run(command, 5 * 60 * 1000);
|
|
32
|
+
if (result.code !== 0) {
|
|
33
|
+
const detail = (result.stderr.trim() || result.stdout.trim() || '(sem saída)').split('\n').slice(-8).join('\n');
|
|
34
|
+
return {
|
|
35
|
+
exitCode: EXIT_ERROR,
|
|
36
|
+
report: { ...base, ok: false, code: result.code, stderr: result.stderr },
|
|
37
|
+
lines: [
|
|
38
|
+
`Não foi possível instalar com "${command}" (código ${result.code ?? 'desconhecido'}).`,
|
|
39
|
+
detail,
|
|
40
|
+
'',
|
|
41
|
+
'Se for permissão, configure um prefixo global do npm para o seu usuário ou rode o terminal com a permissão necessária.',
|
|
42
|
+
'Sem instalar, você ainda pode usar: npx @seedgrid/ai-toolkit <comando>',
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const check = await run('seedgrid-ai --version', 30 * 1000);
|
|
47
|
+
const found = check.code === 0 && check.stdout.trim() === version;
|
|
48
|
+
return {
|
|
49
|
+
exitCode: EXIT_OK,
|
|
50
|
+
report: { ...base, ok: true, onPath: found },
|
|
51
|
+
lines: [
|
|
52
|
+
`Instalado: ${TOOL_NAME}@${version} (comando seedgrid-ai).`,
|
|
53
|
+
found
|
|
54
|
+
? 'O comando já está disponível neste terminal.'
|
|
55
|
+
: 'Se "seedgrid-ai" não for reconhecido, abra um novo terminal ou confira se a pasta global do npm (npm prefix -g) está no PATH.',
|
|
56
|
+
'',
|
|
57
|
+
'Próximos passos, na pasta do projeto:',
|
|
58
|
+
' seedgrid-ai init # instala o toolkit no projeto',
|
|
59
|
+
' seedgrid-ai --help # lista todos os comandos',
|
|
60
|
+
`Para atualizar o próprio comando no futuro: npx ${TOOL_NAME}@latest install`,
|
|
61
|
+
],
|
|
62
|
+
};
|
|
63
|
+
}
|
package/docs/formato.md
CHANGED
|
@@ -57,7 +57,7 @@ Arquivos e pastas que começam com ponto são ignorados.
|
|
|
57
57
|
```json
|
|
58
58
|
{
|
|
59
59
|
"schemaVersion": 2,
|
|
60
|
-
"contentVersion": "0.3.
|
|
60
|
+
"contentVersion": "0.3.1",
|
|
61
61
|
"toolkitBase": "SeedGrid/Toolkit",
|
|
62
62
|
"components": [
|
|
63
63
|
{ "id": "agents", "type": "agents", "files": ["agents/arquiteto.md"] },
|
package/docs/instalacao.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Instalação em projetos
|
|
2
2
|
|
|
3
|
-
Os exemplos usam `seedgrid-ai`.
|
|
3
|
+
Os exemplos usam o comando `seedgrid-ai`. Para tê-lo na máquina: `npx @seedgrid/ai-toolkit@latest install` (executa `npm install -g`, uma vez; repita para atualizar o comando). Sem instalar, troque `seedgrid-ai` por `npx @seedgrid/ai-toolkit`; em desenvolvimento do toolkit, por `node <pasta-do-toolkit>/dist/cli.js`.
|
|
4
4
|
|
|
5
5
|
## Primeira instalação
|
|
6
6
|
|
package/package.json
CHANGED