@pathbit/agentdevkit 0.0.8 → 0.0.10
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/.pbai4devs/COMPATIBILIDADE.md +4 -2
- package/.pbai4devs/INSTRUCTIONS.md +4 -0
- package/.pbai4devs/commands/sincronizar/COMMAND.md +4 -3
- package/.pbai4devs/rules/documentacao/RULE.md +4 -0
- package/.pbai4devs/rules/qualidade/RULE.md +4 -2
- package/.pbai4devs/scripts/README.md +3 -3
- package/.pbai4devs/scripts/inspecionar-projeto/README.md +31 -0
- package/.pbai4devs/scripts/inspecionar-projeto/SCRIPT.mjs +142 -1
- package/.pbai4devs/scripts/inspecionar-projeto/tests/TEST.mjs +168 -1
- package/.pbai4devs/scripts/lib/native-paths.mjs +35 -0
- package/.pbai4devs/scripts/sincronizar-agentes/README.md +3 -0
- package/.pbai4devs/scripts/sincronizar-agentes/SCRIPT.mjs +73 -29
- package/.pbai4devs/scripts/sincronizar-agentes/tests/COEXISTENCE.mjs +190 -0
- package/.pbai4devs/scripts/sincronizar-agentes/tests/HUMAN_OWNERSHIP.mjs +8 -2
- package/.pbai4devs/scripts/sincronizar-agentes/tests/TEST.mjs +28 -28
- package/.pbai4devs/scripts/verificar-recursos/SCRIPT.mjs +56 -8
- package/.pbai4devs/scripts/verificar-recursos/tests/TEST.mjs +92 -1
- package/.pbai4devs/skills/produto/criar-design-doc/SKILL.md +2 -0
- package/.pbai4devs/skills/produto/criar-prd/SKILL.md +2 -0
- package/.pbai4devs/skills/produto/criar-ux-ui/SKILL.md +2 -0
- package/.pbai4devs/skills/projeto/atualizar-documentacao/SKILL.md +18 -4
- package/.pbai4devs/skills/projeto/configurar-projeto/SKILL.md +2 -0
- package/.pbai4devs/skills/projeto/criar-recurso/SKILL.md +1 -0
- package/.pbai4devs/skills/projeto/sincronizar-agentes/SKILL.md +3 -2
- package/.pbai4devs/skills/specs/criar-spec/SKILL.md +1 -0
- package/.pbai4devs/skills/specs/gerenciar-roadmap/SKILL.md +2 -1
- package/.pbai4devs/templates/README.md +4 -1
- package/.pbai4devs/templates/configuracao/TEMPLATE.md +6 -0
- package/CHANGELOG.md +18 -0
- package/README.en.md +18 -5
- package/README.es.md +19 -6
- package/README.md +16 -3
- package/docs/README.md +4 -2
- package/docs/guides/README.md +3 -1
- package/docs/guides/cli.md +5 -0
- package/docs/guides/documentation.md +63 -0
- package/docs/guides/installation.md +71 -14
- package/docs/guides/prerequisites.md +123 -0
- package/docs/guides/resources.md +6 -5
- package/docs/guides/tools-and-testing.md +2 -1
- package/docs/guides/troubleshooting.md +29 -13
- package/docs/guides/workflow.md +2 -0
- package/docs/maintainers/README.md +1 -1
- package/docs/maintainers/maintenance.md +8 -4
- package/docs/maintainers/packages.md +45 -13
- package/docs/product/design.md +12 -0
- package/docs/product/prd.md +4 -1
- package/docs/product/roadmap.md +4 -0
- package/docs/specs/README.md +3 -0
- package/docs/specs/dual-registry/SPEC.md +43 -0
- package/docs/specs/v0.0.10/README.md +9 -0
- package/docs/specs/v0.0.10/SPEC.md +42 -0
- package/docs/specs/v0.0.9/README.md +9 -0
- package/docs/specs/v0.0.9/SPEC.md +68 -0
- package/package.json +3 -2
- package/src/cli.mjs +3 -0
- package/src/i18n.mjs +3 -0
- package/src/install.mjs +84 -16
|
@@ -20,6 +20,39 @@ function checkedStat(root, location) {
|
|
|
20
20
|
return item;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
function checkedPath(root, path) {
|
|
24
|
+
if (typeof path !== 'string' || !path || isAbsolute(path) || /[\\\x00-\x1f\x7f:]/.test(path) || path.split('/').some(part => !part || part === '.' || part === '..')) fail(`Caminho gerenciado invalido: ${path}`);
|
|
25
|
+
let location = root;
|
|
26
|
+
for (const part of path.split('/')) { location = join(location, part); checkedStat(root, location); }
|
|
27
|
+
return location;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function ownership(root) {
|
|
31
|
+
const file = checkedPath(root, '.pbai4devs/estado/agentdevkit.json');
|
|
32
|
+
if (!checkedStat(root, file)) return null;
|
|
33
|
+
const readState = location => {
|
|
34
|
+
try { return JSON.parse(readFileSync(location, 'utf8')); }
|
|
35
|
+
catch { fail(`Estado invalido: ${normalize(relative(root, location))}`); }
|
|
36
|
+
};
|
|
37
|
+
const state = readState(file);
|
|
38
|
+
const validMap = value => value && typeof value === 'object' && !Array.isArray(value)
|
|
39
|
+
&& Object.values(value).every(hash => typeof hash === 'string' && /^[a-f0-9]{64}$/.test(hash));
|
|
40
|
+
if (state?.schemaVersion !== 1 || !validMap(state.files) || !validMap(state.blocks)) fail('Estado de propriedade invalido.');
|
|
41
|
+
const files = { ...state.files };
|
|
42
|
+
const derivedFile = checkedPath(root, '.pbai4devs/estado/derived.json');
|
|
43
|
+
if (checkedStat(root, derivedFile)) {
|
|
44
|
+
const derived = readState(derivedFile);
|
|
45
|
+
if (derived?.schemaVersion !== 1 || !validMap(derived.entries) || Object.keys(derived.entries).some(path => !['AGENTS.md', 'CLAUDE.md', 'GEMINI.md'].includes(path))
|
|
46
|
+
|| !validMap(derived.outputs ?? {}) || Object.keys(derived.outputs ?? {}).some(path => !/^\.[a-z0-9][a-z0-9-]*\/(?:skills|rules|agents)\.json$/.test(path))) fail('Estado de entradas derivadas invalido.');
|
|
47
|
+
Object.assign(files, derived.entries, derived.outputs);
|
|
48
|
+
}
|
|
49
|
+
for (const path of [...Object.keys(files), ...Object.keys(state.blocks)]) {
|
|
50
|
+
const location = checkedPath(root, path);
|
|
51
|
+
if (!checkedStat(root, location)?.isFile()) fail(`Arquivo gerenciado ausente: ${path}`);
|
|
52
|
+
}
|
|
53
|
+
return { files, blocks: state.blocks };
|
|
54
|
+
}
|
|
55
|
+
|
|
23
56
|
export function registryRoots(root) {
|
|
24
57
|
checkedStat(root, join(root, '.pbai4devs'));
|
|
25
58
|
const file = join(root, '.pbai4devs/espelhos.conf');
|
|
@@ -44,7 +77,7 @@ function walk(root, location, files, { skipTools = true } = {}) {
|
|
|
44
77
|
} else if (item.isFile() && ['.md', '.mdc'].includes(extname(location).toLowerCase())) files.add(location);
|
|
45
78
|
}
|
|
46
79
|
|
|
47
|
-
export function collectMarkdown(root, registry = registryRoots(root)) {
|
|
80
|
+
export function collectMarkdown(root, registry = registryRoots(root), { installed = ownership(root) } = {}) {
|
|
48
81
|
const agents = join(root, '.pbai4devs');
|
|
49
82
|
checkedStat(root, agents);
|
|
50
83
|
for (const directory of readdirSync(agents, { withFileTypes: true })) {
|
|
@@ -54,10 +87,18 @@ export function collectMarkdown(root, registry = registryRoots(root)) {
|
|
|
54
87
|
if (item?.isDirectory() && !checkedStat(root, join(location, 'README.md'))?.isFile()) fail(`README ausente: .pbai4devs/${directory.name}/`);
|
|
55
88
|
}
|
|
56
89
|
const files = new Set();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
90
|
+
if (installed) {
|
|
91
|
+
walk(root, agents, files);
|
|
92
|
+
for (const path of Object.keys(installed.files)) {
|
|
93
|
+
const file = checkedPath(root, path);
|
|
94
|
+
if (['.md', '.mdc'].includes(extname(path).toLowerCase())) files.add(file);
|
|
95
|
+
}
|
|
96
|
+
} else {
|
|
97
|
+
const rootMarkdown = readdirSync(root).filter(name => ['.md', '.mdc'].includes(extname(name).toLowerCase()));
|
|
98
|
+
const sources = ['.pbai4devs', 'docs', 'src', 'bin', 'tests', 'scripts', 'examples',
|
|
99
|
+
'.github/PULL_REQUEST_TEMPLATE.md', '.github/ISSUE_TEMPLATE', ...rootMarkdown];
|
|
100
|
+
for (const name of [...sources, ...registry.paths]) walk(root, resolve(root, name), files);
|
|
101
|
+
}
|
|
61
102
|
const tools = join(agents, 'tools');
|
|
62
103
|
if (checkedStat(root, tools)) {
|
|
63
104
|
const guide = join(tools, 'README.md');
|
|
@@ -154,8 +195,14 @@ export function checkCatalog(root, build = buildCatalog) {
|
|
|
154
195
|
return result.catalog;
|
|
155
196
|
}
|
|
156
197
|
|
|
157
|
-
export function checkAgentExtras(root, agents) {
|
|
198
|
+
export function checkAgentExtras(root, agents, { installed = null } = {}) {
|
|
158
199
|
for (const agent of agents) {
|
|
200
|
+
if (installed) {
|
|
201
|
+
const files = Object.keys(installed.files).filter(path => path.startsWith(`${agent}/`));
|
|
202
|
+
if (files.some(path => auxiliary.some(name => path === `${agent}/${name}` || path.startsWith(`${agent}/${name}/`)))) fail(`Auxiliar gerenciado indevido em ${agent}`);
|
|
203
|
+
if (files.some(path => ['README.md', 'INSTRUCTIONS.md'].includes(basename(path)))) fail(`Guia gerenciado indevido em ${agent}`);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
159
206
|
for (const name of auxiliary) if (existsSync(join(root, agent, name))) fail(`Auxiliar indevido em ${agent}/${name}`);
|
|
160
207
|
const files = new Set();
|
|
161
208
|
walk(root, join(root, agent), files);
|
|
@@ -183,14 +230,15 @@ export function checkLint(root, files, run = spawnSync) {
|
|
|
183
230
|
|
|
184
231
|
export function verifyResources({ root = projectRoot, sourceOnly = false, synchronize = checkSynchronization, lint = checkLint, catalogCheck = checkCatalog } = {}) {
|
|
185
232
|
requireNode();
|
|
233
|
+
const installed = sourceOnly ? null : ownership(root);
|
|
186
234
|
const built = sourceOnly ? buildCatalog(root) : null;
|
|
187
235
|
if (!sourceOnly) { synchronize(root); catalogCheck(root); }
|
|
188
236
|
const registry = sourceOnly ? { agents: [], paths: [] } : registryRoots(root);
|
|
189
|
-
const files = collectMarkdown(root, registry);
|
|
237
|
+
const files = collectMarkdown(root, registry, { installed });
|
|
190
238
|
const virtualPaths = new Set(sourceOnly ? [...built.outputs.keys(), '.pbai4devs/espelhos.conf'] : []);
|
|
191
239
|
checkMarkdown(root, files, { virtualPaths });
|
|
192
240
|
checkResourceReferences(root, files);
|
|
193
|
-
checkAgentExtras(root, registry.agents);
|
|
241
|
+
checkAgentExtras(root, registry.agents, { installed });
|
|
194
242
|
return { files, messages: [...lint(root, files), 'recursos=passed'] };
|
|
195
243
|
}
|
|
196
244
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
|
-
import { mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, symlinkSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { lstatSync, mkdirSync, mkdtempSync, readFileSync, readlinkSync, readdirSync, rmSync, symlinkSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
3
4
|
import { join, relative } from 'node:path';
|
|
4
5
|
import { spawnSync } from 'node:child_process';
|
|
5
6
|
import test from 'node:test';
|
|
@@ -40,6 +41,16 @@ function resourceFixture(t) {
|
|
|
40
41
|
}
|
|
41
42
|
const verify = root => verifyResources({ root, synchronize() {}, catalogCheck() {}, lint: () => ['lint=fixture'] });
|
|
42
43
|
|
|
44
|
+
function installedFixture(t) {
|
|
45
|
+
const context = resourceFixture(t);
|
|
46
|
+
context.file('.pbai4devs/estado/README.md');
|
|
47
|
+
const generated = '.agents/skills/managed/SKILL.md';
|
|
48
|
+
context.file(generated, document('# Gerado\n'));
|
|
49
|
+
const files = { [generated]: createHash('sha256').update(readFileSync(join(context.root, generated))).digest('hex') };
|
|
50
|
+
context.file('.pbai4devs/estado/agentdevkit.json', JSON.stringify({ schemaVersion: 1, version: '0.0.9', language: 'pt', files, blocks: {} }));
|
|
51
|
+
return { ...context, generated };
|
|
52
|
+
}
|
|
53
|
+
|
|
43
54
|
function writeCatalog(root) {
|
|
44
55
|
for (const [path, content] of buildCatalog(root).outputs) { mkdirSync(join(root, path, '..'), { recursive: true }); writeFileSync(join(root, path), content); }
|
|
45
56
|
}
|
|
@@ -96,6 +107,86 @@ test('coleta source-only ignora exemplos gerados e clientes, sem exigir Git', t
|
|
|
96
107
|
for (const path of result.files) assert.doesNotMatch(relative(root, path), /examples[\\/]generated|node_modules|TEST-RESULTS|\.github[\\/]skills|\.codex/);
|
|
97
108
|
});
|
|
98
109
|
|
|
110
|
+
test('instalação valida somente fontes e Markdown próprio, preservando conteúdo humano', t => {
|
|
111
|
+
const { root, file, generated } = installedFixture(t);
|
|
112
|
+
const own = ['README.md', 'AGENTS.md', 'docs/product.md', 'src/README.md', '.codex/README.md', '.codex/templates/custom.md', '.codex/skills/human/SKILL.md'];
|
|
113
|
+
for (const path of own) file(path, '# Texto humano sem frontmatter\n\n[Link próprio](missing-human-file.md)\n');
|
|
114
|
+
let linted;
|
|
115
|
+
const result = verifyResources({ root, synchronize() {}, catalogCheck() {}, lint(_root, files) { linted = files; return ['lint=fixture']; } });
|
|
116
|
+
assert.ok(result.files.includes(join(root, generated)));
|
|
117
|
+
assert.ok(result.files.includes(join(root, '.pbai4devs/skills/exemplo/SKILL.md')));
|
|
118
|
+
for (const path of own) assert.equal(result.files.includes(join(root, path)), false, path);
|
|
119
|
+
assert.deepEqual(linted, result.files);
|
|
120
|
+
file('.pbai4devs/skills/exemplo/SKILL.md', '# Fonte do kit inválida\n');
|
|
121
|
+
assert.throws(() => verify(root), /Frontmatter\/H1 invalido: .pbai4devs\/skills\/exemplo\/SKILL.md/);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
test('instalação não atravessa links humanos de entradas e skills', t => {
|
|
125
|
+
const { root, file } = installedFixture(t);
|
|
126
|
+
file('AGENTS.md', '# Instrução humana sem frontmatter\n');
|
|
127
|
+
file('own-docs/README.md', '# README humano\n');
|
|
128
|
+
file('own-skills/human/SKILL.md', '# Skill humana\n');
|
|
129
|
+
rmSync(join(root, '.codex/skills'), { recursive: true });
|
|
130
|
+
const links = [['CLAUDE.md', 'AGENTS.md', 'file'], ['README.md', 'own-docs/README.md', 'file'], ['.codex/skills', '../own-skills', 'dir']];
|
|
131
|
+
for (const [path, target, type] of links) {
|
|
132
|
+
try { symlinkSync(type === 'dir' && process.platform === 'win32' ? join(root, 'own-skills') : target, join(root, path), process.platform === 'win32' && type === 'dir' ? 'junction' : type); }
|
|
133
|
+
catch (error) {
|
|
134
|
+
if (process.platform === 'win32' && ['EPERM', 'EACCES'].includes(error.code)) { t.skip('Sem permissão para criar links no Windows.'); return; }
|
|
135
|
+
throw error;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const before = links.map(([path]) => readlinkSync(join(root, path)));
|
|
139
|
+
const result = verify(root);
|
|
140
|
+
for (const [path] of links) {
|
|
141
|
+
assert.equal(lstatSync(join(root, path)).isSymbolicLink(), true);
|
|
142
|
+
assert.equal(result.files.includes(join(root, path)), false);
|
|
143
|
+
}
|
|
144
|
+
assert.deepEqual(links.map(([path]) => readlinkSync(join(root, path))), before);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
test('instalação recusa caminho gerenciado substituído por link', t => {
|
|
148
|
+
const { root, file, generated } = installedFixture(t);
|
|
149
|
+
const target = file('external.md', '# Conteúdo externo\n');
|
|
150
|
+
rmSync(join(root, generated));
|
|
151
|
+
try { symlinkSync(target, join(root, generated), 'file'); }
|
|
152
|
+
catch (error) {
|
|
153
|
+
if (process.platform === 'win32' && ['EPERM', 'EACCES'].includes(error.code)) { t.skip('Sem permissão para criar links no Windows.'); return; }
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
assert.throws(() => verify(root), /Link simbolico: .agents\/skills\/managed\/SKILL.md/);
|
|
157
|
+
assert.equal(readFileSync(target, 'utf8'), '# Conteúdo externo\n');
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
test('instalação confere entradas derivadas sem aplicar lint a blocos humanos', t => {
|
|
161
|
+
const { root, file } = installedFixture(t);
|
|
162
|
+
const contents = document('# Entrada gerada\n');
|
|
163
|
+
file('GEMINI.md', contents);
|
|
164
|
+
file('.pbai4devs/estado/derived.json', JSON.stringify({ schemaVersion: 1, entries: { 'GEMINI.md': createHash('sha256').update(contents).digest('hex') } }));
|
|
165
|
+
file('AGENTS.md', '# Instruções humanas sem frontmatter\n\n<!-- BEGIN AGENTDEVKIT -->\nLeia as fontes.\n<!-- END AGENTDEVKIT -->\n');
|
|
166
|
+
const statePath = join(root, '.pbai4devs/estado/agentdevkit.json');
|
|
167
|
+
const state = JSON.parse(readFileSync(statePath, 'utf8'));
|
|
168
|
+
state.blocks['AGENTS.md'] = createHash('sha256').update('bloco registrado').digest('hex');
|
|
169
|
+
state.files['.pbai4devs/skills/exemplo/SKILL.md'] = createHash('sha256').update('fonte anterior').digest('hex');
|
|
170
|
+
writeFileSync(statePath, JSON.stringify(state));
|
|
171
|
+
const result = verify(root);
|
|
172
|
+
assert.ok(result.files.includes(join(root, 'GEMINI.md')));
|
|
173
|
+
assert.equal(result.files.includes(join(root, 'AGENTS.md')), false);
|
|
174
|
+
assert.ok(result.files.includes(join(root, '.pbai4devs/skills/exemplo/SKILL.md')));
|
|
175
|
+
file('GEMINI.md', document('# Fonte sincronizada com hash de instalação anterior\n'));
|
|
176
|
+
assert.ok(verify(root).files.includes(join(root, 'GEMINI.md')));
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
test('instalação também protege manifestos registrados em derived.outputs', t => {
|
|
180
|
+
const { root, file } = installedFixture(t);
|
|
181
|
+
const manifest = '.agents/skills.json';
|
|
182
|
+
const contents = '{"entries":[]}\n';
|
|
183
|
+
file(manifest, contents);
|
|
184
|
+
file('.pbai4devs/estado/derived.json', JSON.stringify({ schemaVersion: 1, entries: {}, outputs: { [manifest]: createHash('sha256').update(contents).digest('hex') } }));
|
|
185
|
+
assert.ok(!verify(root).files.includes(join(root, manifest)));
|
|
186
|
+
rmSync(join(root, manifest));
|
|
187
|
+
assert.throws(() => verify(root), /Arquivo gerenciado ausente: .agents\/skills.json/);
|
|
188
|
+
});
|
|
189
|
+
|
|
99
190
|
test('catalogo derivado cobre recursos e detecta JSON editado sem reescrever', t => {
|
|
100
191
|
const { root, file } = resourceFixture(t);
|
|
101
192
|
file('.pbai4devs/commands/inspecionar/COMMAND.md', document('# Inspecionar\n\n[Script](../../scripts/inspecionar/SCRIPT.mjs).\n'));
|
|
@@ -6,6 +6,8 @@ description: Define e revisa o design técnico do produto com o usuário.
|
|
|
6
6
|
# Criar design técnico
|
|
7
7
|
|
|
8
8
|
Siga `.pbai4devs/rules/qualidade/RULE.md` ao criar arquivos Markdown.
|
|
9
|
+
Antes de escrever, use `atualizar-documentacao` para ler e reaproveitar documentos
|
|
10
|
+
existentes; aplique o template somente às lacunas.
|
|
9
11
|
|
|
10
12
|
Consulte `.pbai4devs/estado/configuracao/ESTADO.md` e confira o PRD aprovado
|
|
11
13
|
e UX/UI aprovado ou não aplicável com justificativa,
|
|
@@ -6,6 +6,8 @@ description: Define e revisa o documento de requisitos do produto com o usuário
|
|
|
6
6
|
# Criar PRD
|
|
7
7
|
|
|
8
8
|
Siga `.pbai4devs/rules/qualidade/RULE.md` ao criar arquivos Markdown.
|
|
9
|
+
Antes de escrever, use `atualizar-documentacao` para ler e reaproveitar documentos
|
|
10
|
+
existentes; aplique o template somente às lacunas.
|
|
9
11
|
|
|
10
12
|
Confira a preparação em `.pbai4devs/estado/configuracao/ESTADO.md`. Se não estiver
|
|
11
13
|
concluída e comprovada, encaminhe a `configurar-projeto` para a fase
|
|
@@ -6,6 +6,8 @@ description: Define ou justifica a não aplicação de UX e interface com o usu
|
|
|
6
6
|
# Criar UX/UI
|
|
7
7
|
|
|
8
8
|
Siga `.pbai4devs/rules/qualidade/RULE.md` ao criar arquivos Markdown.
|
|
9
|
+
Antes de escrever, use `atualizar-documentacao` para ler e reaproveitar documentos
|
|
10
|
+
existentes; aplique o template somente às lacunas.
|
|
9
11
|
|
|
10
12
|
Consulte `.pbai4devs/estado/configuracao/ESTADO.md` e confira o PRD
|
|
11
13
|
com `status: aprovado` e a
|
|
@@ -5,9 +5,21 @@ description: Atualiza documentos afetados e sua coerência com a entrega.
|
|
|
5
5
|
|
|
6
6
|
# Atualizar documentação
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Antes de escrever, execute `inspecionar-projeto` por `executar-script` e consulte
|
|
9
|
+
`documentation`. Abra os documentos relevantes: o inventário não substitui a
|
|
10
|
+
leitura nem comprova aprovação. Confira também o diff e os critérios da tarefa.
|
|
11
|
+
Reúna no início somente dúvidas que os arquivos não respondem.
|
|
12
|
+
|
|
13
|
+
Proponha por caminho: manter, complementar uma seção ou criar arquivo ausente.
|
|
14
|
+
Reutilize nomes, formatos, decisões, links e estrutura existentes; um documento
|
|
15
|
+
como `ARCHITECTURE.md` pode cumprir o papel de design sem ser renomeado.
|
|
16
|
+
Organize primeiro por índices e links. Não apague, mova ou substitua arquivos
|
|
17
|
+
para padronizá-los. Acrescente apenas fatos comprovados e preserve o conteúdo
|
|
18
|
+
anterior; trate contradições com o usuário antes de editar.
|
|
19
|
+
|
|
20
|
+
Use o [catálogo](../../../templates/README.md) como lista de lacunas, nunca como
|
|
21
|
+
substituto de um documento existente. Crie somente o que a fase e o pedido
|
|
22
|
+
exigem; ausência de respostas não autoriza inventar PRD, design ou aprovação.
|
|
11
23
|
|
|
12
24
|
Confira README da raiz/pastas, AGENTS/CLAUDE/GEMINI, contribuição, notas de versão,
|
|
13
25
|
produto/design/specs, ADRs, configuração/exemplos e comentários/docstrings
|
|
@@ -17,7 +29,9 @@ Segurança pública depende de suporte e canal confirmado, sem dados fictícios.
|
|
|
17
29
|
|
|
18
30
|
Registre por caminho a decisão `updated`, `no-impact` ou `not-applicable`, com
|
|
19
31
|
justificativa, no relatório da entrega ou no resultado da tarefa. Verifique
|
|
20
|
-
links e exemplos;
|
|
32
|
+
links e exemplos; compare o conteúdo anterior e confirme que arquivos fora
|
|
33
|
+
do plano permanecem intactos. Repetir a tarefa não deve duplicar seções.
|
|
34
|
+
Código de teste é versionado, evidências ficam ignoradas.
|
|
21
35
|
|
|
22
36
|
Acione o [revisor](../../../agents/revisor/AGENT.md) em leitura com o diff,
|
|
23
37
|
documentos, critérios e provas. Aplique os achados pertinentes e peça nova
|
|
@@ -17,6 +17,8 @@ as ferramentas e rode o diagnóstico. Isso não escolhe a stack da aplicação.
|
|
|
17
17
|
|
|
18
18
|
## Preparar o projeto
|
|
19
19
|
|
|
20
|
+
Antes de criar estado ou documentos, faça o inventário de `atualizar-documentacao`.
|
|
21
|
+
Mapeie os documentos já existentes aos seus papéis, sem reiniciar o produto.
|
|
20
22
|
Reúna dúvidas no início e aproveite decisões existentes. Quando o projeto
|
|
21
23
|
começar, crie ou retome `.pbai4devs/estado/configuracao/ESTADO.md` pelo modelo.
|
|
22
24
|
Combine os arquivos `prd`, `ux_ui`, `design`, `roadmap` e diretórios `releases`,
|
|
@@ -7,6 +7,7 @@ description: Encaminha criações e cria documentos, modelos ou novos recursos.
|
|
|
7
7
|
|
|
8
8
|
Se o pedido for um modelo, trabalhe em `.pbai4devs/templates/` sem iniciar a
|
|
9
9
|
definição do produto. Encaminhe documentos reais à skill correspondente.
|
|
10
|
+
Para documentos, comece pelo inventário e plano de `atualizar-documentacao`.
|
|
10
11
|
|
|
11
12
|
Confira se o recurso já existe e use a skill específica quando disponível:
|
|
12
13
|
`criar-skill`, `criar-agente`, `criar-comando`, `criar-regra`, `criar-prd`,
|
|
@@ -21,8 +21,9 @@ com as fontes, detectando inclusões, alterações, remoções e links inválido
|
|
|
21
21
|
Os `.gitignore` de `.pbai4devs` e dos clientes também são gerados dos
|
|
22
22
|
[modelos](../../../templates/gitignore/TEMPLATE.md). Preserve regras próprias
|
|
23
23
|
fora do bloco gerenciado; `--check` identifica blocos ausentes ou divergentes.
|
|
24
|
-
`--force` repara
|
|
25
|
-
|
|
24
|
+
`--force` repara conflitos gerenciados com backup local em `.agent-tests/`.
|
|
25
|
+
Preserve recursos nativos humanos, inclusive colisões de nomes; links humanos
|
|
26
|
+
são opacos e nunca devem ser atravessados. Confira `preserved` no JSON da CLI.
|
|
26
27
|
Não apague raízes inteiras: workflows, configurações nativas e a origem ficam
|
|
27
28
|
fora da limpeza. `--check` só confere, sem corrigir nem criar backups.
|
|
28
29
|
|
|
@@ -5,6 +5,7 @@ description: Cria uma spec de incremento, esclarecendo requisitos e dúvidas com
|
|
|
5
5
|
|
|
6
6
|
# Criar spec
|
|
7
7
|
|
|
8
|
+
Antes de escrever, aplique o inventário e plano de `atualizar-documentacao`.
|
|
8
9
|
Leia os caminhos em `.pbai4devs/estado/configuracao/ESTADO.md`. Exija PRD/design
|
|
9
10
|
aprovados e UX/UI aprovado ou não aplicável com justificativa aprovada.
|
|
10
11
|
Confira evidências, atualidade e decisões essenciais ao incremento; se faltar
|
|
@@ -10,7 +10,8 @@ mostre preparação, releases, specs e tarefas com dependências e bloqueios.
|
|
|
10
10
|
Use `[ ]`, `[-]` e `[x]` conforme evidências; informe estados desconhecidos.
|
|
11
11
|
Sem roadmap, diga que ainda não foi criado. Não conclua entregas sem prova.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Antes de alterar documentos, aplique o inventário de `atualizar-documentacao`.
|
|
14
|
+
Ao planejar ou atualizar, use o modelo só para lacunas no caminho acordado. Registre
|
|
14
15
|
objetivos, prioridades, etapas, dependências e pendências de PRD, UX/UI e design.
|
|
15
16
|
Mantenha referências e estados coerentes ao aprovar ou revisar documentos;
|
|
16
17
|
não invente escopo, datas ou releases. Identifique as specs do primeiro entregável
|
|
@@ -30,7 +30,10 @@ enquanto o usuário estiver preparando somente a estrutura dos agentes.
|
|
|
30
30
|
| [SECURITY][security] | Suporte público | Política/suporte mudar. |
|
|
31
31
|
| [Comando][comando] | Recurso agêntico | Entrada ou fluxo mudar. |
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Antes, inventarie e leia os documentos existentes com `atualizar-documentacao`.
|
|
34
|
+
Use os modelos como lista de lacunas. Copie somente artefatos aplicáveis ainda
|
|
35
|
+
ausentes; nunca substitua documentos existentes. Remova placeholders e confirme
|
|
36
|
+
fatos nos novos arquivos; preserve nomes, formatos, seções e decisões anteriores.
|
|
34
37
|
README acompanha o projeto desde a preparação; documentos de produto surgem
|
|
35
38
|
após descoberta. Segurança depende de suporte e canal realmente definidos.
|
|
36
39
|
|
|
@@ -24,6 +24,12 @@ documentos:
|
|
|
24
24
|
|
|
25
25
|
# Configuração do projeto
|
|
26
26
|
|
|
27
|
+
## Documentos existentes
|
|
28
|
+
|
|
29
|
+
- Inventário e leitura inicial: a registrar antes de criar documentos.
|
|
30
|
+
- Caminhos e papéis reaproveitados: a definir; não impor novos nomes.
|
|
31
|
+
- Lacunas e complementos acordados: a definir, preservando o conteúdo anterior.
|
|
32
|
+
|
|
27
33
|
## Preparação
|
|
28
34
|
|
|
29
35
|
- Evidências e pendências: a definir.
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ description: Alterações verificáveis por versão do AgentDevKit.
|
|
|
4
4
|
|
|
5
5
|
# Changelog
|
|
6
6
|
|
|
7
|
+
## 0.0.10 — 2026-11-12
|
|
8
|
+
|
|
9
|
+
- Mesmo pacote publicado no npm e GitHub Packages, com versão e bytes iguais.
|
|
10
|
+
- Instalação via npx nos dois registries, com credenciais isoladas por destino.
|
|
11
|
+
- Guias de pré-requisitos para Windows, macOS e Linux, incluindo Node/npm.
|
|
12
|
+
- README, wiki e notas de release com os dois caminhos de instalação.
|
|
13
|
+
- Diagnóstico de mapeamentos antigos de registry sem apagar configurações.
|
|
14
|
+
|
|
15
|
+
## 0.0.9 — 2026-11-12
|
|
16
|
+
|
|
17
|
+
- Links e configurações humanos preservados na instalação dos agentes.
|
|
18
|
+
- Colisões com recursos nativos próprios não são sobrescritas pelo kit.
|
|
19
|
+
- Sincronização mantém recursos humanos, inclusive com `--force`.
|
|
20
|
+
- Caminhos preservados são informados sem registrar propriedade indevida.
|
|
21
|
+
- Matriz OSS verifica agentes preexistentes e sincronização independente.
|
|
22
|
+
- Inventário e fluxo documental exigem leitura e complementos sem substituição.
|
|
23
|
+
- Exercícios documentais cobrem projetos reais e um projeto vazio.
|
|
24
|
+
|
|
7
25
|
## 0.0.8 — 2026-11-11
|
|
8
26
|
|
|
9
27
|
- Preservação de arquivos humanos que parecem apontamentos gerados.
|
package/README.en.md
CHANGED
|
@@ -18,12 +18,21 @@ See the [supported clients][clients].
|
|
|
18
18
|
|
|
19
19
|
## Start in your project
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Use Node.js 24+ with npm. The [prerequisites guide][prerequisites] explains
|
|
22
|
+
installation on Windows, macOS and Linux.
|
|
23
|
+
|
|
24
|
+
From your project folder, install through **npm**, without logging in:
|
|
22
25
|
|
|
23
26
|
```console
|
|
24
27
|
npx @pathbit/agentdevkit init
|
|
25
28
|
```
|
|
26
29
|
|
|
30
|
+
Or use **GitHub Packages**, after [authenticating with GitHub][github-install]:
|
|
31
|
+
|
|
32
|
+
```console
|
|
33
|
+
npx --registry=https://npm.pkg.github.com @pathbit/agentdevkit init
|
|
34
|
+
```
|
|
35
|
+
|
|
27
36
|
Choose your coding agents when prompted, or pass `--agents codex,claude`.
|
|
28
37
|
The project saves your selection; use `agents` to view or change it later.
|
|
29
38
|
Without interaction or a saved choice, the default is `all` clients.
|
|
@@ -32,9 +41,9 @@ Then open the project in your coding agent and ask:
|
|
|
32
41
|
|
|
33
42
|
> Read AGENTS.md and use the proximos-passos skill to guide my next steps.
|
|
34
43
|
|
|
35
|
-
See [installation](docs/guides/installation.md) for
|
|
36
|
-
and updates.
|
|
37
|
-
[v0.0.
|
|
44
|
+
See [installation](docs/guides/installation.md) for runtime preparation, previews
|
|
45
|
+
and updates. Both [package registries][packages] provide the same version;
|
|
46
|
+
the [v0.0.10 release][release] retains artifacts and checksums for verification.
|
|
38
47
|
No global installation is required.
|
|
39
48
|
The CLI supports `pt`, `en` and `es`; it saves your selection per project.
|
|
40
49
|
|
|
@@ -42,8 +51,10 @@ The CLI supports `pt`, `en` and `es`; it saves your selection per project.
|
|
|
42
51
|
|
|
43
52
|
| I want to… | Read |
|
|
44
53
|
| --- | --- |
|
|
54
|
+
| Prepare Node.js and npm | [Prerequisites][prerequisites] |
|
|
45
55
|
| Understand the kit | [Documentation wiki](docs/README.md) |
|
|
46
56
|
| Plan or resume a project | [Workflow](docs/guides/workflow.md) |
|
|
57
|
+
| Improve existing documentation | [Inventory and additions](docs/guides/documentation.md) |
|
|
47
58
|
| Create a skill or command | [Resources](docs/guides/resources.md) |
|
|
48
59
|
| Install tools and verify work | [Tools and tests][tests] |
|
|
49
60
|
| Look up options or fix an error | [CLI][cli] · [Troubleshooting][help] |
|
|
@@ -78,7 +89,7 @@ forms. See [how to participate](docs/maintainers/community.md).
|
|
|
78
89
|
agent to read `AGENTS.md`.
|
|
79
90
|
|
|
80
91
|
[clients]: .pbai4devs/COMPATIBILIDADE.md
|
|
81
|
-
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.
|
|
92
|
+
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.10
|
|
82
93
|
[npm-package]: https://www.npmjs.com/package/@pathbit/agentdevkit
|
|
83
94
|
[npm-badge]: https://img.shields.io/npm/v/%40pathbit%2Fagentdevkit
|
|
84
95
|
[license-badge]: https://img.shields.io/badge/license-MIT-blue
|
|
@@ -87,3 +98,5 @@ agent to read `AGENTS.md`.
|
|
|
87
98
|
[help]: docs/guides/troubleshooting.md
|
|
88
99
|
[issues]: https://github.com/pathbit/AgentDevKit/issues/new/choose
|
|
89
100
|
[packages]: docs/maintainers/packages.md
|
|
101
|
+
[prerequisites]: docs/guides/prerequisites.md
|
|
102
|
+
[github-install]: docs/guides/installation.md#github-packages
|
package/README.es.md
CHANGED
|
@@ -18,12 +18,21 @@ son locales y no se versionan.
|
|
|
18
18
|
|
|
19
19
|
## Empezar en tu proyecto
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Usa Node.js 24+ con npm. La [guía de requisitos][prerequisites] explica
|
|
22
|
+
la instalación en Windows, macOS y Linux.
|
|
23
|
+
|
|
24
|
+
Desde la carpeta de tu proyecto, instala mediante **npm**, sin iniciar sesión:
|
|
22
25
|
|
|
23
26
|
```console
|
|
24
27
|
npx @pathbit/agentdevkit init
|
|
25
28
|
```
|
|
26
29
|
|
|
30
|
+
O usa **GitHub Packages**, después de [autenticarte en GitHub][github-install]:
|
|
31
|
+
|
|
32
|
+
```console
|
|
33
|
+
npx --registry=https://npm.pkg.github.com @pathbit/agentdevkit init
|
|
34
|
+
```
|
|
35
|
+
|
|
27
36
|
Elige tus agentes en la pregunta inicial o usa `--agents codex,claude`.
|
|
28
37
|
La selección se guarda en el proyecto; `agents` permite consultarla o cambiarla.
|
|
29
38
|
Sin interacción ni selección anterior, el valor predeterminado es `all`.
|
|
@@ -32,10 +41,10 @@ Después, abre el proyecto en tu agente y pide:
|
|
|
32
41
|
|
|
33
42
|
> Lee AGENTS.md y usa la skill proximos-passos para orientar mi trabajo.
|
|
34
43
|
|
|
35
|
-
La [guía de instalación](docs/guides/installation.md) incluye
|
|
36
|
-
simulación y actualización.
|
|
37
|
-
|
|
38
|
-
la [release v0.0.
|
|
44
|
+
La [guía de instalación](docs/guides/installation.md) incluye preparación del
|
|
45
|
+
runtime, simulación y actualización. Los dos [registros][packages] ofrecen
|
|
46
|
+
la misma versión;
|
|
47
|
+
la [release v0.0.10][release] conserva artefactos y checksums para verificarlos.
|
|
39
48
|
No requiere instalación global.
|
|
40
49
|
La CLI guarda el idioma `pt`, `en` o `es` por proyecto.
|
|
41
50
|
|
|
@@ -43,8 +52,10 @@ La CLI guarda el idioma `pt`, `en` o `es` por proyecto.
|
|
|
43
52
|
|
|
44
53
|
| Quiero… | Leer |
|
|
45
54
|
| --- | --- |
|
|
55
|
+
| Preparar Node.js y npm | [Requisitos][prerequisites] |
|
|
46
56
|
| Entender el kit | [Wiki](docs/README.md) |
|
|
47
57
|
| Planificar o retomar un proyecto | [Flujo](docs/guides/workflow.md) |
|
|
58
|
+
| Mejorar documentación existente | [Inventario y complementos](docs/guides/documentation.md) |
|
|
48
59
|
| Crear una skill o comando | [Recursos](docs/guides/resources.md) |
|
|
49
60
|
| Instalar herramientas y verificar | [Herramientas y pruebas][tests] |
|
|
50
61
|
| Consultar opciones o resolver un error | [CLI][cli] · [Soluciones][help] |
|
|
@@ -80,7 +91,7 @@ formularios. Consulta [cómo participar](docs/maintainers/community.md).
|
|
|
80
91
|
al agente que lea `AGENTS.md`.
|
|
81
92
|
|
|
82
93
|
[clients]: .pbai4devs/COMPATIBILIDADE.md
|
|
83
|
-
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.
|
|
94
|
+
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.10
|
|
84
95
|
[npm-package]: https://www.npmjs.com/package/@pathbit/agentdevkit
|
|
85
96
|
[npm-badge]: https://img.shields.io/npm/v/%40pathbit%2Fagentdevkit
|
|
86
97
|
[license-badge]: https://img.shields.io/badge/license-MIT-blue
|
|
@@ -89,3 +100,5 @@ al agente que lea `AGENTS.md`.
|
|
|
89
100
|
[help]: docs/guides/troubleshooting.md
|
|
90
101
|
[issues]: https://github.com/pathbit/AgentDevKit/issues/new/choose
|
|
91
102
|
[packages]: docs/maintainers/packages.md
|
|
103
|
+
[prerequisites]: docs/guides/prerequisites.md
|
|
104
|
+
[github-install]: docs/guides/installation.md#github-packages
|
package/README.md
CHANGED
|
@@ -16,12 +16,22 @@ fica em `src/`, os testes em `tests/` e os recursos compartilhados em
|
|
|
16
16
|
|
|
17
17
|
## Começar em um projeto
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Prepare [Node.js 24+ e npm](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/prerequisites.md) no Windows, macOS ou
|
|
20
|
+
Linux. Na pasta do seu projeto, instale pelo **npm público**, sem login:
|
|
20
21
|
|
|
21
22
|
```console
|
|
22
23
|
npx @pathbit/agentdevkit init
|
|
23
24
|
```
|
|
24
25
|
|
|
26
|
+
Ou use **GitHub Packages**, após [autenticar no GitHub][github-install]:
|
|
27
|
+
|
|
28
|
+
```console
|
|
29
|
+
npx --registry=https://npm.pkg.github.com @pathbit/agentdevkit init
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Os dois registries oferecem o mesmo pacote. O GitHub exige token para download,
|
|
33
|
+
mesmo sendo público; o npm continua sendo a opção sem login.
|
|
34
|
+
|
|
25
35
|
Escolha os agentes na pergunta inicial ou informe `--agents codex,claude`.
|
|
26
36
|
A escolha fica salva no projeto; `agents` permite consultá-la ou alterá-la.
|
|
27
37
|
Sem interação ou escolha anterior, o padrão é `all` (todos os clientes).
|
|
@@ -32,7 +42,7 @@ Depois, abra o projeto no seu agente e peça:
|
|
|
32
42
|
|
|
33
43
|
Windows, instalação sem Node, simulação e atualização estão no
|
|
34
44
|
[guia de instalação](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/installation.md). A distribuição usa a
|
|
35
|
-
versão publicada no [npm
|
|
45
|
+
versão publicada no [npm e GitHub Packages][packages] e na [release v0.0.10][release],
|
|
36
46
|
sem instalação global. Instalação e atualização usam o pacote do registro;
|
|
37
47
|
os arquivos da release servem para conferir os artefatos publicados.
|
|
38
48
|
O idioma da CLI pode ser `pt`, `en` ou `es`.
|
|
@@ -41,8 +51,10 @@ O idioma da CLI pode ser `pt`, `en` ou `es`.
|
|
|
41
51
|
|
|
42
52
|
| Quero… | Ler |
|
|
43
53
|
| --- | --- |
|
|
54
|
+
| Preparar Node/npm e instalar o kit | [Pré-requisitos](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/prerequisites.md) · [Instalação](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/installation.md) |
|
|
44
55
|
| Entender e começar | [Wiki](https://github.com/pathbit/AgentDevKit/blob/master/docs/README.md) |
|
|
45
56
|
| Planejar ou retomar um projeto | [Fluxo de trabalho](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/workflow.md) |
|
|
57
|
+
| Evoluir documentos existentes | [Inventário e complementos](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/documentation.md) |
|
|
46
58
|
| Criar uma skill ou comando | [Recursos](https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/resources.md) |
|
|
47
59
|
| Instalar ferramentas e comprovar uma entrega | [Ferramentas e testes][tests] |
|
|
48
60
|
| Consultar opções ou resolver um erro | [CLI][cli] · [Soluções][help] |
|
|
@@ -89,7 +101,8 @@ ao seu agente para ler `AGENTS.md`.
|
|
|
89
101
|
[help]: https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/troubleshooting.md
|
|
90
102
|
[issues]: https://github.com/pathbit/AgentDevKit/issues/new/choose
|
|
91
103
|
[packages]: https://github.com/pathbit/AgentDevKit/blob/master/docs/maintainers/packages.md
|
|
92
|
-
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.
|
|
104
|
+
[release]: https://github.com/pathbit/AgentDevKit/releases/tag/v0.0.10
|
|
93
105
|
[npm-package]: https://www.npmjs.com/package/@pathbit/agentdevkit
|
|
94
106
|
[npm-badge]: https://img.shields.io/npm/v/%40pathbit%2Fagentdevkit
|
|
95
107
|
[license-badge]: https://img.shields.io/badge/license-MIT-blue
|
|
108
|
+
[github-install]: https://github.com/pathbit/AgentDevKit/blob/master/docs/guides/installation.md#github-packages
|
package/docs/README.md
CHANGED
|
@@ -22,15 +22,17 @@ pode trocar de agente sem manter várias cópias das mesmas instruções.
|
|
|
22
22
|
|
|
23
23
|
| Objetivo | Caminho |
|
|
24
24
|
| --- | --- |
|
|
25
|
-
|
|
|
25
|
+
| Preparar o computador | [Node/npm no Windows, macOS e Linux](guides/prerequisites.md) |
|
|
26
|
+
| Primeiro uso | [Instalar via npm ou GitHub Packages][install] → [seguir o fluxo][flow] |
|
|
26
27
|
| Projeto em andamento | [Instalar com simulação][install] → [retomar][flow] |
|
|
28
|
+
| Evoluir documentação existente | [Inventariar e complementar](guides/documentation.md) |
|
|
27
29
|
| Personalizar agentes | [Recursos][resources] → [compatibilidade][clients] |
|
|
28
30
|
| Executar ou verificar algo | [CLI](guides/cli.md) → [ferramentas e testes][tests] |
|
|
29
31
|
| Corrigir uma dificuldade | [Soluções e recuperação](guides/troubleshooting.md) |
|
|
30
32
|
| Contribuir com o kit | [Contribuir][contrib] → [design](product/design.md) |
|
|
31
33
|
| Desenvolver e experimentar | [Guia rápido][development] → [exemplos][examples] |
|
|
32
34
|
| Preparar uma versão | [Manutenção e releases](maintainers/maintenance.md) |
|
|
33
|
-
| Publicar
|
|
35
|
+
| Publicar o pacote nos dois registries | [npm e GitHub Packages](maintainers/packages.md) |
|
|
34
36
|
| Relatar um bug ou propor melhoria | [Participar](maintainers/community.md) |
|
|
35
37
|
|
|
36
38
|
## Entenda os termos
|
package/docs/guides/README.md
CHANGED
|
@@ -4,9 +4,11 @@ description: Guias de instalação, uso e verificação do AgentDevKit.
|
|
|
4
4
|
|
|
5
5
|
# Guias de uso
|
|
6
6
|
|
|
7
|
-
- [
|
|
7
|
+
- [Pré-requisitos: Node/npm no Windows, macOS e Linux](prerequisites.md)
|
|
8
|
+
- [Instalação: npm e GitHub Packages](installation.md)
|
|
8
9
|
- [Comandos da CLI](cli.md)
|
|
9
10
|
- [Fluxo de trabalho](workflow.md)
|
|
11
|
+
- [Evoluir documentação existente](documentation.md)
|
|
10
12
|
- [Recursos dos agentes](resources.md)
|
|
11
13
|
- [Ferramentas e testes](tools-and-testing.md)
|
|
12
14
|
- [Solução de problemas](troubleshooting.md)
|
package/docs/guides/cli.md
CHANGED
|
@@ -10,6 +10,9 @@ Execute o pacote do npm público por `npx`, sem login:
|
|
|
10
10
|
npx @pathbit/agentdevkit --help
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
Para GitHub Packages, autentique conforme a [instalação](installation.md#github-packages)
|
|
14
|
+
e use o prefixo `npx --registry=https://npm.pkg.github.com` nos mesmos comandos.
|
|
15
|
+
|
|
13
16
|
Nas tabelas, `agentdevkit` representa esse executável. No checkout das fontes,
|
|
14
17
|
use `npm run cli -- <comando>` ou `node bin/agentdevkit.mjs`.
|
|
15
18
|
Esse código não é copiado ao projeto
|
|
@@ -77,6 +80,8 @@ do separador. `--help` e `--version` do kit não exigem um projeto instalado.
|
|
|
77
80
|
As respostas incluem `ok`, `command`, `version`, `language`, `target` e
|
|
78
81
|
`next`. Conforme a operação, há seleção, plano, conflitos, backup e erros.
|
|
79
82
|
Leia os campos estruturados, não dependa da tradução da mensagem.
|
|
83
|
+
`preserved` lista caminhos nativos humanos mantidos pelo projeto, com o motivo.
|
|
84
|
+
Eles não integram os arquivos gerenciados e não são substituídos por `--force`.
|
|
80
85
|
|
|
81
86
|
| Código | Significado |
|
|
82
87
|
| --- | --- |
|