ganbatte-os 0.2.22 → 0.2.24

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.
@@ -19,7 +19,16 @@ const { execFileSync, execSync } = require('node:child_process');
19
19
  // Constantes
20
20
  // ---------------------------------------------------------------------------
21
21
 
22
- const VERSION = '0.2.2';
22
+ function readPackageVersion() {
23
+ try {
24
+ const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', '..', '..', 'package.json'), 'utf8'));
25
+ return pkg.version || 'unknown';
26
+ } catch {
27
+ return 'unknown';
28
+ }
29
+ }
30
+
31
+ const VERSION = readPackageVersion();
23
32
  const UPSTREAM_REMOTE = 'upstream';
24
33
  const UPSTREAM_BRANCH = 'main';
25
34
  const LOCAL_DIR = '.gos-local';
@@ -213,7 +222,7 @@ function cmdInit(root, args) {
213
222
  }
214
223
 
215
224
  // 6. Sync IDE adapters
216
- const ideSetupScript = path.join(root, 'scripts', 'integrations', 'setup-ide-adapters.js');
225
+ const ideSetupScript = path.join(root, '.gos', 'scripts', 'integrations', 'setup-ide-adapters.js');
217
226
  if (pathExists(ideSetupScript)) {
218
227
  log('Sincronizando IDE adapters...');
219
228
  runNode(ideSetupScript, { cwd: root });
@@ -231,7 +240,7 @@ function cmdInit(root, args) {
231
240
  }
232
241
 
233
242
  // 7. Validar IDEs
234
- const ideCheckScript = path.join(root, 'scripts', 'integrations', 'check-ide-compat.js');
243
+ const ideCheckScript = path.join(root, '.gos', 'scripts', 'integrations', 'check-ide-compat.js');
235
244
  if (pathExists(ideCheckScript)) {
236
245
  runNode(ideCheckScript, { cwd: root, ignoreError: true });
237
246
  }
@@ -316,10 +325,15 @@ function cmdInstall(args) {
316
325
  cmdInit(targetRoot, args);
317
326
 
318
327
  // 4. Garantir que o remote upstream existe caso tenha sido instalado via npx
328
+ if (!pathExists(path.join(targetRoot, '.git'))) {
329
+ info('Diretorio nao e um repositorio git. Pulando configuracao de remote.');
330
+ info('Inicialize com: git init && git remote add upstream https://github.com/adrianomorais-ganbatte/g-os.git');
331
+ return;
332
+ }
319
333
  const remotes = gitCapture(['remote'], { cwd: targetRoot });
320
334
  if (!remotes.includes(UPSTREAM_REMOTE)) {
321
335
  try {
322
- git(['remote', 'add', UPSTREAM_REMOTE, 'https://github.com/adrianomorais-ganbatte/ganbatte-os.git'], { cwd: targetRoot });
336
+ git(['remote', 'add', UPSTREAM_REMOTE, 'https://github.com/adrianomorais-ganbatte/g-os.git'], { cwd: targetRoot, quiet: true });
323
337
  ok(`Remote "${UPSTREAM_REMOTE}" adicionado.`);
324
338
  } catch {
325
339
  warn(`Nao foi possivel adicionar o remote "${UPSTREAM_REMOTE}". Configure manualmente.`);
@@ -428,7 +442,7 @@ function cmdUpdate(root, args) {
428
442
  const commitAfter = gitCapture(['rev-parse', '--short', 'HEAD'], { cwd: root });
429
443
 
430
444
  // 6. Re-sync IDEs
431
- const ideSetupScript = path.join(root, 'scripts', 'integrations', 'setup-ide-adapters.js');
445
+ const ideSetupScript = path.join(root, '.gos', 'scripts', 'integrations', 'setup-ide-adapters.js');
432
446
  if (pathExists(ideSetupScript)) {
433
447
  log('Re-sincronizando IDE adapters...');
434
448
  runNode(ideSetupScript, { cwd: root, quiet: true });
@@ -444,7 +458,7 @@ function cmdUpdate(root, args) {
444
458
  }
445
459
 
446
460
  // 7. Validar IDEs
447
- const ideCheckScript = path.join(root, 'scripts', 'integrations', 'check-ide-compat.js');
461
+ const ideCheckScript = path.join(root, '.gos', 'scripts', 'integrations', 'check-ide-compat.js');
448
462
  if (pathExists(ideCheckScript)) {
449
463
  runNode(ideCheckScript, { cwd: root, ignoreError: true, quiet: true });
450
464
  }
@@ -547,7 +561,7 @@ function cmdDoctor(root) {
547
561
  }
548
562
 
549
563
  // 6. IDE adapters
550
- const ideCheckScript = path.join(root, 'scripts', 'integrations', 'check-ide-compat.js');
564
+ const ideCheckScript = path.join(root, '.gos', 'scripts', 'integrations', 'check-ide-compat.js');
551
565
  if (pathExists(ideCheckScript)) {
552
566
  try {
553
567
  execFileSync(process.execPath, [ideCheckScript], { encoding: 'utf8', stdio: 'pipe', cwd: root });
@@ -694,8 +708,8 @@ Flags:
694
708
  --no-stash Nao fazer stash automatico (update)
695
709
 
696
710
  Exemplos:
697
- npx ganbatte-os install
698
- node scripts/cli/gos-cli.js init
711
+ npx -p ganbatte-os gos install
712
+ node .gos/scripts/cli/gos-cli.js init
699
713
  npm run gos:update
700
714
  npm run gos:doctor
701
715
  `);
package/README.md CHANGED
@@ -12,17 +12,26 @@ O **ganbatte-os** organiza agentes de IA, skills e squads num workspace pronto p
12
12
 
13
13
  ## Quick Start
14
14
 
15
- ### 1. Instalação (Recomendado)
16
- Para transformar qualquer diretório em um workspace ganbatte-os:
15
+ ### 1. Instalação (Recomendado — via GitHub)
17
16
 
18
17
  ```bash
19
18
  mkdir meu-projeto && cd meu-projeto
20
- npx ganbatte-os install
19
+ git init
20
+ npm install github:adrianomorais-ganbatte/g-os
21
+ ./node_modules/.bin/gos install
21
22
  ```
22
23
 
23
- > [!TIP]
24
- > Durante o desenvolvimento ou para usar a versão mais recente, você pode instalar diretamente do GitHub:
25
- > `npx adrianomorais-ganbatte/g-os#main install`
24
+ > [!IMPORTANT]
25
+ > **Use install via GitHub enquanto ajustamos o publish no npm registry.** A metadata `bin` esta sendo filtrada pelo registry, quebrando `npx ganbatte-os` e `npm install -g`. Track em [docs/ganbatte-os-test-report-2026-04-20.md](./docs/ganbatte-os-test-report-2026-04-20.md).
26
+
27
+ ### 1b. Instalação via npm (workaround)
28
+
29
+ ```bash
30
+ mkdir meu-projeto && cd meu-projeto
31
+ git init
32
+ npm install ganbatte-os
33
+ node ./node_modules/ganbatte-os/.gos/scripts/cli/gos-cli.js install
34
+ ```
26
35
 
27
36
  ### 2. Pós-Instalação
28
37
  Após rodar o install, o framework criará uma estrutura limpa na sua raiz:
@@ -34,26 +43,31 @@ Após rodar o install, o framework criará uma estrutura limpa na sua raiz:
34
43
 
35
44
  A partir da raiz do seu projeto, você pode gerenciar o framework:
36
45
 
37
- | Comando | Alias | O que faz |
38
- |---------|-------|-----------|
39
- | `npm run gos:init` | `npm run ganbatte-os:init` | Setup pos-clone (remote, dirs, IDEs, sync framework pai) |
40
- | `npm run gos:update` | `npm run ganbatte-os:update` | Fetch upstream + merge + re-sync IDEs + sync framework pai |
41
- | `npm run gos:doctor` | `npm run ganbatte-os:doctor` | Valida integridade do workspace e IDEs |
42
- | `npm run gos:version` | `npm run ganbatte-os:version` | Mostra versao e checa atualizacoes |
43
- | `npm run sync:ides` | — | Regenera adapters para Claude, Gemini, Cursor e outras |
44
- | `npm run check:ides` | — | Valida compatibilidade dos IDE adapters |
45
- | `npm run clickup` | — | CLI ClickUp (tarefas, sprints, status) |
46
- | `npm run doctor` | — | Alias direto para gos:doctor |
46
+ | Comando | O que faz |
47
+ |---------|-----------|
48
+ | `npm run gos:init` | Setup pos-clone (remote, dirs, IDEs, sync framework pai) |
49
+ | `npm run gos:update` | Fetch upstream + merge + re-sync IDEs + sync framework pai |
50
+ | `npm run gos:doctor` | Valida integridade do workspace e IDEs |
51
+ | `npm run gos:version` | Mostra versao e checa atualizacoes |
52
+ | `npm run sync:ides` | Regenera adapters para Claude, Gemini, Cursor e outras |
53
+ | `npm run check:ides` | Valida compatibilidade dos IDE adapters |
54
+ | `npm run clickup` | CLI ClickUp (tarefas, sprints, status) |
55
+ | `npm run doctor` | Alias direto para gos:doctor |
56
+
57
+ ### Via CLI global (`gos`)
47
58
 
48
- ### Via npx (instalacao/atualizacao)
59
+ Apos `npm install -g ganbatte-os`:
49
60
 
50
61
  | Comando | O que faz |
51
62
  |---------|-----------|
52
- | `npx ganbatte-os install` | Instala framework em diretorio novo |
53
- | `npx ganbatte-os init` | Inicializa workspace existente |
54
- | `npx ganbatte-os update` | Atualiza framework |
55
- | `npx ganbatte-os doctor` | Health-check |
56
- | `npx ganbatte-os version` | Versao instalada |
63
+ | `gos install` | Instala framework em diretorio novo |
64
+ | `gos init` | Inicializa workspace existente |
65
+ | `gos update` | Atualiza framework |
66
+ | `gos doctor` | Health-check |
67
+ | `gos version` | Versao instalada |
68
+
69
+ > [!NOTE]
70
+ > A pasta `.agent/` que pode aparecer na raiz do workspace e criada pela IDE Google Antigravity / Gemini Code Assist — nao faz parte do setup padrao do ganbatte-os.
57
71
 
58
72
  ## Estrutura do Workspace
59
73
 
package/package.json CHANGED
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "name": "ganbatte-os",
3
- "version": "0.2.22",
3
+ "version": "0.2.24",
4
4
  "description": "Framework operacional para design-to-code, squads de entrega e sprint sync com ClickUp.",
5
5
  "bin": {
6
- "ganbatte-os": ".gos/scripts/cli/gos-cli.js",
7
6
  "gos": ".gos/scripts/cli/gos-cli.js"
8
7
  },
9
8
  "scripts": {
10
- "ganbatte-os:init": "node .gos/scripts/cli/gos-cli.js init",
11
- "ganbatte-os:update": "node .gos/scripts/cli/gos-cli.js update",
12
- "ganbatte-os:doctor": "node .gos/scripts/cli/gos-cli.js doctor",
13
- "ganbatte-os:version": "node .gos/scripts/cli/gos-cli.js version",
14
9
  "gos:init": "node .gos/scripts/cli/gos-cli.js init",
15
10
  "gos:update": "node .gos/scripts/cli/gos-cli.js update",
16
11
  "gos:doctor": "node .gos/scripts/cli/gos-cli.js doctor",
@@ -30,10 +25,11 @@
30
25
  "license": "MIT",
31
26
  "author": "Adriano Morais",
32
27
  "files": [
33
- ".gos/",
28
+ ".gos/**/*",
34
29
  "AGENTS.md",
35
30
  "CLAUDE.md",
36
31
  "GEMINI.md",
37
- "README.md"
32
+ "README.md",
33
+ "LICENSE"
38
34
  ]
39
35
  }