ganbatte-os 0.2.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.
Files changed (200) hide show
  1. package/AGENTS.md +46 -0
  2. package/CLAUDE.md +31 -0
  3. package/GEMINI.md +17 -0
  4. package/LICENSE +21 -0
  5. package/README.md +141 -0
  6. package/agents/profiles/architect.md +13 -0
  7. package/agents/profiles/dev.md +13 -0
  8. package/agents/profiles/devops.md +12 -0
  9. package/agents/profiles/ganbatte-os-master.md +444 -0
  10. package/agents/profiles/index.json +14 -0
  11. package/agents/profiles/po.md +7 -0
  12. package/agents/profiles/qa.md +456 -0
  13. package/agents/profiles/sm.md +7 -0
  14. package/agents/profiles/squad-creator.md +7 -0
  15. package/agents/profiles/ux-design-expert.md +14 -0
  16. package/config.json +15 -0
  17. package/docs/curation.md +60 -0
  18. package/docs/gos_installation_guide.md +114 -0
  19. package/docs/ide-compatibility.md +20 -0
  20. package/docs/plan/plan-git-operations.md +51 -0
  21. package/docs/plan-distribuicao-publica.md +360 -0
  22. package/docs/stacks/stack-git-operations.md +154 -0
  23. package/docs/toolchain-map.md +18 -0
  24. package/integrations/README.md +42 -0
  25. package/integrations/antigravity/README.md +29 -0
  26. package/integrations/antigravity/command-map.json +29 -0
  27. package/integrations/claude/README.md +35 -0
  28. package/integrations/claude/agent-map.json +46 -0
  29. package/integrations/claude/command-map.json +32 -0
  30. package/integrations/claude/litellm-proxy.md +93 -0
  31. package/integrations/claude/mcp-specifics.md +121 -0
  32. package/integrations/codex/README.md +29 -0
  33. package/integrations/codex/command-map.json +29 -0
  34. package/integrations/cursor/README.md +8 -0
  35. package/integrations/cursor/command-map.json +11 -0
  36. package/integrations/gemini/README.md +13 -0
  37. package/integrations/gemini/command-map.json +11 -0
  38. package/integrations/kilo-code/README.md +7 -0
  39. package/integrations/kilo-code/command-map.json +11 -0
  40. package/integrations/opencode/README.md +91 -0
  41. package/integrations/opencode/command-map.json +46 -0
  42. package/integrations/registry.json +20 -0
  43. package/manifests/g-os-runtime-manifest.json +39 -0
  44. package/manifests/gos-install-manifest.json +46 -0
  45. package/opencode.json +7 -0
  46. package/package.json +51 -0
  47. package/playbooks/feature-development-playbook.md +239 -0
  48. package/playbooks/sprint-planner-playbook.md +127 -0
  49. package/playbooks/squad-pipeline-runner.md +196 -0
  50. package/playbooks/ssh-multi-account-setup.md +185 -0
  51. package/prompts/01-search.md +18 -0
  52. package/prompts/02-spec.md +19 -0
  53. package/prompts/03-tasks.md +15 -0
  54. package/prompts/04-code.md +10 -0
  55. package/prompts/05-reviews.md +11 -0
  56. package/rules/plan-mode.md +60 -0
  57. package/scripts/cli/gos-cli.js +679 -0
  58. package/scripts/hooks/pre-commit-validate.js +201 -0
  59. package/scripts/integrations/check-ide-compat.js +44 -0
  60. package/scripts/integrations/setup-ide-adapters.js +87 -0
  61. package/scripts/tools/clickup-preprocess.js +218 -0
  62. package/scripts/tools/clickup.js +1058 -0
  63. package/skills/agent-teams/SKILL.md +78 -0
  64. package/skills/agent-teams/presets/team-all.yaml +14 -0
  65. package/skills/agent-teams/presets/team-fullstack.yaml +17 -0
  66. package/skills/agent-teams/presets/team-ide-minimal.yaml +9 -0
  67. package/skills/agent-teams/presets/team-no-ui.yaml +12 -0
  68. package/skills/agent-teams/presets/team-qa-focused.yaml +83 -0
  69. package/skills/clickup/SKILL.md +151 -0
  70. package/skills/component-dedup/SKILL.md +101 -0
  71. package/skills/design-to-code/SKILL.md +255 -0
  72. package/skills/figma-implement-design/SKILL.md +227 -0
  73. package/skills/figma-make-analyzer/SKILL.md +140 -0
  74. package/skills/frontend-dev/SKILL.md +271 -0
  75. package/skills/git-ssh-setup/SKILL.md +164 -0
  76. package/skills/interface-design/SKILL.md +350 -0
  77. package/skills/interface-design/references/audit.md +76 -0
  78. package/skills/interface-design/references/craft-examples.md +134 -0
  79. package/skills/interface-design/references/critique.md +92 -0
  80. package/skills/interface-design/references/extract.md +92 -0
  81. package/skills/interface-design/references/principles.md +348 -0
  82. package/skills/interface-design/references/templates/system-precision.md +73 -0
  83. package/skills/interface-design/references/templates/system-warmth.md +67 -0
  84. package/skills/interface-design/references/validation.md +137 -0
  85. package/skills/make-code-triage/SKILL.md +135 -0
  86. package/skills/make-version-diff/SKILL.md +87 -0
  87. package/skills/plan-to-tasks/SKILL.md +136 -0
  88. package/skills/react-best-practices/AGENTS.md +2975 -0
  89. package/skills/react-best-practices/SKILL.md +151 -0
  90. package/skills/react-best-practices/metadata.json +15 -0
  91. package/skills/react-best-practices/rules/_sections.md +46 -0
  92. package/skills/react-best-practices/rules/_template.md +28 -0
  93. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  94. package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
  95. package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
  96. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  97. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  98. package/skills/react-best-practices/rules/async-dependencies.md +51 -0
  99. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  100. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  101. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  102. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  103. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  104. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  105. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  106. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  107. package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  108. package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  109. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  110. package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
  111. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  112. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  113. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  114. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  115. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  116. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  117. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  118. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  119. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  120. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  121. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  122. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  123. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  124. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  125. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  126. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  127. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  128. package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  129. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  130. package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  131. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  132. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  133. package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  134. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  135. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  136. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  137. package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  138. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  139. package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  140. package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  141. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  142. package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  143. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  144. package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
  145. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  146. package/skills/react-best-practices/rules/server-cache-react.md +76 -0
  147. package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
  148. package/skills/react-best-practices/rules/server-hoist-static-io.md +142 -0
  149. package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  150. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  151. package/skills/react-doctor/SKILL.md +74 -0
  152. package/skills/registry.json +21 -0
  153. package/skills/sprint-planner/SKILL.md +434 -0
  154. package/squads/design-delivery/README.md +10 -0
  155. package/squads/design-delivery/squad.yaml +30 -0
  156. package/squads/design-delivery/workflows/wf-design-delivery.yaml +27 -0
  157. package/squads/design-squad/README.md +31 -0
  158. package/squads/design-squad/agents/brad-frost.md +185 -0
  159. package/squads/design-squad/agents/dan-mall.md +178 -0
  160. package/squads/design-squad/agents/dave-malouf.md +198 -0
  161. package/squads/design-squad/agents/design-chief.md +109 -0
  162. package/squads/design-squad/agents/design-system-architect.md +109 -0
  163. package/squads/design-squad/agents/ui-engineer.md +102 -0
  164. package/squads/design-squad/agents/ux-designer.md +105 -0
  165. package/squads/design-squad/agents/visual-generator.md +108 -0
  166. package/squads/design-squad/checklists/output-quality.md +76 -0
  167. package/squads/design-squad/config/config.yaml +65 -0
  168. package/squads/design-squad/data/design-patterns-catalog.yaml +276 -0
  169. package/squads/design-squad/data/routing-catalog.yaml +95 -0
  170. package/squads/design-squad/squad.yaml +88 -0
  171. package/squads/design-squad/tasks/audit-design.md +174 -0
  172. package/squads/design-squad/tasks/create-component-spec.md +185 -0
  173. package/squads/design-squad/tasks/create-design-system.md +179 -0
  174. package/squads/design-squad/tasks/design-ux-flow.md +184 -0
  175. package/squads/design-squad/tasks/diagnose.md +138 -0
  176. package/squads/design-squad/tasks/generate-handoff.md +186 -0
  177. package/squads/design-squad/tasks/review.md +133 -0
  178. package/squads/design-squad/tasks/setup-design-ops.md +177 -0
  179. package/squads/design-squad/workflows/wf-design-system-creation.yaml +131 -0
  180. package/squads/design-squad/workflows/wf-feature-design.yaml +114 -0
  181. package/squads/git-operations/README.md +30 -0
  182. package/squads/git-operations/squad.yaml +27 -0
  183. package/squads/git-operations/workflows/wf-safe-commit.yaml +27 -0
  184. package/squads/git-operations/workflows/wf-ssh-setup.yaml +27 -0
  185. package/squads/sprint-planning/agents/sprint-chief.md +47 -0
  186. package/squads/sprint-planning/agents/sprint-planner-agent.md +43 -0
  187. package/squads/sprint-planning/agents/sprint-tracker.md +43 -0
  188. package/squads/sprint-planning/agents/task-importer.md +44 -0
  189. package/squads/sprint-planning/checklists/sprint-readiness.md +27 -0
  190. package/squads/sprint-planning/config/config.yaml +65 -0
  191. package/squads/sprint-planning/data/clickup-field-mapping.yaml +94 -0
  192. package/squads/sprint-planning/squad.yaml +52 -0
  193. package/squads/sprint-planning/tasks/close-sprint.md +43 -0
  194. package/squads/sprint-planning/tasks/create-sprint.md +42 -0
  195. package/squads/sprint-planning/tasks/import-tasks.md +39 -0
  196. package/squads/sprint-planning/tasks/sync-status.md +31 -0
  197. package/squads/sprint-planning/workflows/wf-sprint-creation.yaml +59 -0
  198. package/squads/sprint-planning/workflows/wf-sprint-sync.yaml +35 -0
  199. package/templates/adr-tmpl.yaml +76 -0
  200. package/templates/sprint-clickup.template.md +80 -0
@@ -0,0 +1,51 @@
1
+ # Plan: Sistema de Git Operations com SSH Identity e Quality Gate
2
+
3
+ **Data:** 2026-04-01
4
+ **Status:** Implementado
5
+ **Escopo:** .a8z-OS + G-OS
6
+
7
+ ## Problema
8
+
9
+ Dois problemas resolvidos:
10
+
11
+ 1. **Identidade SSH** — Ao gerenciar multiplas contas GitHub via SSH aliases, agentes podem usar a identidade errada ou expor nomes de alias em output. Cada workspace precisa saber qual alias usar, e essa info tem que ficar local (gitignored).
12
+
13
+ 2. **Quality Gate pre-commit** — Commits iam para o repo sem validacao de TypeScript (`tsc --noEmit`) ou testes. Agora o agente roda ambos antes de commitar, e se houver erro, corrige antes de prosseguir.
14
+
15
+ ## Solucao
16
+
17
+ ### Identidade SSH Local
18
+
19
+ Arquivo `ssh-identity.json` gravado em diretorio gitignored (`.gos-local/` ou `.a8z/local/`). Contem o alias SSH, git user e timestamp de validacao. Lido pela skill `commit-dev` antes de cada push.
20
+
21
+ ### Quality Gate Pre-Commit
22
+
23
+ Script `scripts/hooks/pre-commit-validate.js` roda `tsc --noEmit` e testes do projeto. Integrado na skill `commit-dev` como passo obrigatorio antes do commit. Se falhar, o agente corrige e retenta (max 2 vezes).
24
+
25
+ ### Mascaramento de alias
26
+
27
+ Alias SSH reais nao aparecem em nenhum output. Placeholder: `[configured-ssh-identity]`.
28
+
29
+ ## Componentes criados
30
+
31
+ | Componente | Path | Tipo |
32
+ |-----------|------|------|
33
+ | git-ssh-setup | `skills/git-ssh-setup/SKILL.md` | Skill |
34
+ | pre-commit-validate | `scripts/hooks/pre-commit-validate.js` | Script |
35
+ | ssh-multi-account-setup | `playbooks/ssh-multi-account-setup.md` | Playbook |
36
+ | git-operations | `squads/git-operations/` | Squad |
37
+ | wf-ssh-setup | `squads/git-operations/workflows/wf-ssh-setup.yaml` | Workflow |
38
+ | wf-safe-commit | `squads/git-operations/workflows/wf-safe-commit.yaml` | Workflow |
39
+
40
+ ## Componentes modificados
41
+
42
+ | Componente | Path | Mudanca |
43
+ |-----------|------|---------|
44
+ | commit-dev | `skills/git-commit/SKILL.md` | Quality gate + SSH validation + mascaramento |
45
+ | devops agent | `agents/profiles/devops.md` | Comando ssh-setup + principio SSH protection |
46
+ | registries | `skills/registry.json` | Entrada git-ssh-setup |
47
+ | manifestos | `manifests/*.json` | copyMap e modulos atualizados |
48
+
49
+ ## Tasks detalhadas
50
+
51
+ Ver `docs/stacks/stack-git-operations.md`.
@@ -0,0 +1,360 @@
1
+ # Distribuicao Publica do G-OS via GitHub
2
+
3
+ > **Data:** 2026-04-01 | **Status:** Aprovado | **Revisor:** Douglas Oliveira
4
+
5
+ ---
6
+
7
+ ## Objetivo
8
+
9
+ Tornar o G-OS publico e distribuivel via GitHub. Sem NPM private packages.
10
+
11
+ ```bash
12
+ # Instalacao
13
+ git clone https://github.com/imdouglasoliveira/g-os.git meu-workspace
14
+ cd meu-workspace
15
+ node scripts/cli/gos-cli.js init
16
+
17
+ # Atualizacao
18
+ npm run gos:update
19
+ ```
20
+
21
+ ## Arquitetura
22
+
23
+ ```
24
+ GitHub Publico --> git clone --> Workspace Local --> gos init --> Pronto
25
+ --> gos update --> Atualizado
26
+ ```
27
+
28
+ ### Zonas de arquivos
29
+
30
+ | Zona | Update sobrescreve? | Exemplos |
31
+ |------|---------------------|----------|
32
+ | Framework-managed | Sim (auto-resolve) | `agents/`, `skills/`, `scripts/` |
33
+ | User-owned | Nunca | `packages/`, `config.json`, `data/clients/` |
34
+ | Hibrido | Git merge padrao | `CLAUDE.md` |
35
+
36
+ ---
37
+
38
+ ## T-001 — CLI `gos-cli.js`
39
+
40
+ P0 | 8 pts | backend | `scripts/cli/gos-cli.js` (NOVO)
41
+
42
+ CLI zero-dependency em Node.js para gerenciar o workspace G-OS. Alicerce de toda a distribuicao — todos os outros scripts dependem dele. Modelado no `a8z-cli.js`, adaptado para o modelo git-based.
43
+
44
+ Diferente do a8z-framework que se instala DENTRO de projetos via NPM, o G-OS E o workspace. O CLI configura o ambiente pos-clone e gerencia updates via git.
45
+
46
+ ### Comandos
47
+
48
+ | Comando | O que faz |
49
+ |---------|-----------|
50
+ | `gos init` | Setup pos-clone |
51
+ | `gos update` | Fetch + merge de upstream/main |
52
+ | `gos doctor` | Validar integridade |
53
+ | `gos version` | Mostrar versao + checar atualizacao |
54
+
55
+ ### Implementacao
56
+
57
+ **1)** Criar `scripts/cli/gos-cli.js` com shebang `#!/usr/bin/env node`
58
+
59
+ **2)** Utilitarios base (copiar padrao do `a8z-cli.js` linhas 1-150):
60
+ - `readJson()`, `writeJson()`, `ensureDir()`, `pathExists()`
61
+ - `log()`, `info()`, `success()`, `warn()`, `fail()` com cores ANSI
62
+ - `getFlagValue()` para parsing de `--flag=value`
63
+ - `exec()` wrapper para `child_process.execSync`
64
+
65
+ **3)** `cmdInit()`:
66
+ - Validar Node.js >= 18 (`process.version`)
67
+ - Checar se ja inicializado (`.gos-local/install-log.json` existe)
68
+ - Renomear remote `origin` para `upstream`: `git remote rename origin upstream`
69
+ - Criar `.gos-local/` com subdirs: `worktrees/`, `outputs/`, `task-queue/`
70
+ - Criar `packages/` com `.gitkeep` se nao existir
71
+ - Chamar `setup-ide-adapters.js` via `require()` ou `execSync`
72
+ - Chamar `check-ide-compat.js`
73
+ - Merge `.gitignore` (adicionar entradas de `gos-install-manifest.json`)
74
+ - Escrever `.gos-local/install-log.json`:
75
+ ```json
76
+ { "version": "0.2.0", "initializedAt": "2026-04-01T...", "nodeVersion": "v22.x" }
77
+ ```
78
+ - Exibir sucesso + proximos passos
79
+
80
+ **4)** `cmdUpdate()`:
81
+ - Checar `git status --porcelain` — se dirty, rodar `git stash`
82
+ - `git fetch upstream main`
83
+ - Ler manifest para saber quais paths sao framework-managed
84
+ - `git merge upstream/main --no-edit`
85
+ - Conflitos em paths framework-managed: `git checkout --theirs <path>` + `git add <path>`
86
+ - Conflitos em paths user-owned: abortar merge, pop stash, instruir usuario
87
+ - Re-rodar `setup-ide-adapters.js` e `check-ide-compat.js`
88
+ - Pop stash se fez stash
89
+ - Logar em `.gos-local/update-log.json`
90
+ - Mostrar changelog: `git log --oneline <commit-anterior>..HEAD`
91
+
92
+ **5)** `cmdDoctor()`:
93
+ - Ler `manifests/gos-install-manifest.json`
94
+ - Validar cada path em `requiredPaths` existe
95
+ - Validar `agents/profiles/index.json` — cada agent listado tem arquivo
96
+ - Validar `skills/registry.json` — cada skill listada tem SKILL.md
97
+ - Checar IDE adapters via `check-ide-compat.js`
98
+ - Reportar versao de `package.json` e ultimo update
99
+
100
+ **6)** `cmdVersion()`:
101
+ - Ler versao de `package.json`
102
+ - Tentar `git fetch upstream main --dry-run` para checar commits novos
103
+ - Se houver: "Nova versao disponivel. Rode: npm run gos:update"
104
+
105
+ **7)** `main()` com `switch(command)` dispatch
106
+
107
+ ### Aceite
108
+
109
+ - DADO repo clonado QUANDO rodar `gos init` ENTAO remote renomeado, dirs criados, IDEs sincronizadas
110
+ - DADO workspace inicializado QUANDO rodar `gos doctor` ENTAO checks passam sem erro
111
+ - DADO commits novos no upstream QUANDO rodar `gos update` ENTAO merge acontece e IDEs re-sincronizadas
112
+ - DADO mudancas locais QUANDO rodar update ENTAO stash automatico + restaurado apos merge
113
+
114
+ ### Referencia
115
+
116
+ - `e:\Github\.a8z-framework\scripts\cli\a8z-cli.js` — linhas 1-150 (utils), 1598-1731 (init), 1737-1820 (update)
117
+ - `scripts/integrations/setup-ide-adapters.js`
118
+ - `scripts/integrations/check-ide-compat.js`
119
+
120
+ Sem dependencias. DoD: CLI roda sem erros, 4 comandos funcionam, zero deps externas.
121
+
122
+ ---
123
+
124
+ ## T-002 — Install Manifest
125
+
126
+ P0 | 2 pts | backend | `manifests/gos-install-manifest.json` (NOVO)
127
+
128
+ Manifest JSON que classifica arquivos do workspace em zonas (framework-managed vs user-owned). O CLI usa isso para decidir como resolver conflitos durante updates — e o contrato entre framework e usuario.
129
+
130
+ ```json
131
+ {
132
+ "version": "0.2.0",
133
+ "runtime": "gos-design-delivery",
134
+ "preserveUserContent": [
135
+ "packages/", "data/sprints/", "data/clients/", ".gos-local/", "config.json"
136
+ ],
137
+ "frameworkManaged": [
138
+ "agents/", "skills/", "squads/", "templates/", "prompts/",
139
+ "integrations/", "scripts/", "manifests/", "docs/", "playbooks/",
140
+ "AGENTS.md", "CLAUDE.md", "GEMINI.md"
141
+ ],
142
+ "requiredPaths": [
143
+ "agents/profiles/index.json", "skills/registry.json",
144
+ "manifests/g-os-runtime-manifest.json", "scripts/cli/gos-cli.js",
145
+ "scripts/integrations/setup-ide-adapters.js",
146
+ "scripts/integrations/check-ide-compat.js", "AGENTS.md", "CLAUDE.md"
147
+ ],
148
+ "gitignoreEntries": [
149
+ ".gos-local/", ".temp/", ".backups/",
150
+ "packages/*/figma-make/", "packages/*/node_modules/",
151
+ ".env", ".env.local", ".env.*.local"
152
+ ]
153
+ }
154
+ ```
155
+
156
+ Validar: `node -e "require('./manifests/gos-install-manifest.json')"`
157
+
158
+ Sem dependencias. DoD: JSON valido, paths conferem com estrutura real.
159
+
160
+ ---
161
+
162
+ ## T-003 — Atualizar package.json
163
+
164
+ P0 | 1 pt | backend | `package.json` (EDITAR)
165
+
166
+ Remover `"private": true`, adicionar `bin` entry, scripts `gos:*`, e metadata publica.
167
+
168
+ 1. Remover `"private": true`
169
+ 2. Alterar version para `"0.2.0"`
170
+ 3. Adicionar `"bin": { "gos": "scripts/cli/gos-cli.js" }`
171
+ 4. Substituir scripts:
172
+ ```json
173
+ {
174
+ "gos:init": "node scripts/cli/gos-cli.js init",
175
+ "gos:update": "node scripts/cli/gos-cli.js update",
176
+ "gos:doctor": "node scripts/cli/gos-cli.js doctor",
177
+ "gos:version": "node scripts/cli/gos-cli.js version",
178
+ "clickup": "node scripts/tools/clickup.js",
179
+ "sync:ides": "node scripts/integrations/setup-ide-adapters.js",
180
+ "check:ides": "node scripts/integrations/check-ide-compat.js",
181
+ "doctor": "node scripts/cli/gos-cli.js doctor"
182
+ }
183
+ ```
184
+ 5. Adicionar: `"repository"`, `"license": "MIT"`, `"author": "Douglas Oliveira"`
185
+
186
+ Depende de T-001. DoD: JSON valido, scripts rodam, `private` removido.
187
+
188
+ ---
189
+
190
+ ## T-004 — LICENSE
191
+
192
+ P1 | 1 pt | general | `LICENSE` (NOVO)
193
+
194
+ Criar arquivo MIT License com copyright Douglas Oliveira 2026. Conteudo padrao MIT.
195
+
196
+ Sem dependencias. DoD: Arquivo na raiz, GitHub detecta como MIT.
197
+
198
+ ---
199
+
200
+ ## T-005 — README.md publico
201
+
202
+ P1 | 3 pts | general | `README.md` (REESCREVER)
203
+
204
+ Reescrever para audiencia publica — primeira impressao do repositorio.
205
+
206
+ **Secoes obrigatorias:**
207
+ 1. Header com tagline + badges (MIT, Node >= 18)
208
+ 2. O que e o G-OS (2 paragrafos)
209
+ 3. Quick Start (3 comandos: clone, cd, init)
210
+ 4. Modulos incluidos — tabela dos 7 agents, 13 skills, 3 squads (de `g-os-runtime-manifest.json`)
211
+ 5. Atualizando (`npm run gos:update`)
212
+ 6. IDEs suportadas (Claude Code, Codex, Gemini, OpenCode, Antigravity, Cursor, KiloCode)
213
+ 7. Estrutura do workspace (arvore de diretorios)
214
+ 8. Scripts disponiveis (tabela)
215
+ 9. Licenca MIT
216
+
217
+ Acentos pt-BR corretos. Zero conteudo privado.
218
+
219
+ Depende de T-001. DoD: README completo, renderiza no GitHub, nenhum dado privado.
220
+
221
+ ---
222
+
223
+ ## T-006 — .gitignore
224
+
225
+ P1 | 1 pt | general | `.gitignore` (EDITAR)
226
+
227
+ Adicionar ao final:
228
+ ```
229
+ # G-OS local (nao versionado)
230
+ .gos-local/
231
+
232
+ # Conteudo de usuario
233
+ packages/*/node_modules/
234
+ packages/*/figma-make/
235
+ ```
236
+
237
+ Verificar que `.env` e `.env.local` ja estao listados.
238
+
239
+ Sem dependencias. DoD: entradas adicionadas, `git status` nao mostra `.gos-local/`.
240
+
241
+ ---
242
+
243
+ ## T-007 — Workflow PR Check
244
+
245
+ P2 | 2 pts | devops | `.github/workflows/pr-check.yml` (NOVO)
246
+
247
+ ```yaml
248
+ name: PR Check
249
+ on:
250
+ pull_request:
251
+ branches: [beta, main]
252
+ jobs:
253
+ validate:
254
+ runs-on: ubuntu-latest
255
+ steps:
256
+ - uses: actions/checkout@v4
257
+ - uses: actions/setup-node@v4
258
+ with:
259
+ node-version: '22'
260
+ - name: Doctor check
261
+ run: node scripts/cli/gos-cli.js doctor
262
+ - name: IDE compatibility check
263
+ run: node scripts/integrations/check-ide-compat.js
264
+ ```
265
+
266
+ Depende de T-001. DoD: YAML valido, roda em PRs.
267
+
268
+ ---
269
+
270
+ ## T-008 — Atualizar dev-to-beta
271
+
272
+ P2 | 1 pt | devops | `.github/workflows/dev-to-beta.yml` (EDITAR)
273
+
274
+ Adicionar steps ANTES do "Merge dev into beta":
275
+ ```yaml
276
+ - name: Setup Node
277
+ uses: actions/setup-node@v4
278
+ with:
279
+ node-version: '22'
280
+ - name: Doctor check
281
+ run: node scripts/cli/gos-cli.js doctor
282
+ ```
283
+
284
+ Depende de T-001. DoD: doctor roda antes do merge.
285
+
286
+ ---
287
+
288
+ ## T-009 — Sanitizar repo
289
+
290
+ P0 | 3 pts | general
291
+
292
+ Remover conteudo de clientes e dados privados ANTES de tornar publico. Task de seguranca.
293
+
294
+ **Remover:**
295
+ ```bash
296
+ rm -rf packages/fractus/ packages/cursoeduca/ packages/cnpq/ packages/compomente-vue/
297
+ rm -rf supabase/ others/
298
+ rm -f links.txt instrucoes.txt stacks.txt requirements.txt
299
+ ```
300
+
301
+ **Criar:** `packages/.gitkeep` + `packages/README.md` (explicando que projetos ficam ali)
302
+
303
+ **Auditar segredos:**
304
+ ```bash
305
+ grep -rn "CLICKUP_TOKEN\|API_KEY\|SECRET\|PASSWORD\|sk-\|ghp_" . --include="*.js" --include="*.json" --include="*.yaml"
306
+ git ls-files | grep -i env
307
+ ```
308
+
309
+ **Git history:** considerar `git filter-repo` se houver segredos no historico.
310
+
311
+ Sem dependencias. DoD: zero conteudo privado, zero segredos.
312
+
313
+ ---
314
+
315
+ ## T-010 — Replicar em .G-OS/
316
+
317
+ P1 | 2 pts | general
318
+
319
+ Copiar todos os arquivos novos/modificados de `E:\Github\Ganbatte` para `e:\Github\.a8z-framework\.G-OS\`.
320
+
321
+ ```bash
322
+ # Novos
323
+ cp scripts/cli/gos-cli.js .G-OS/scripts/cli/gos-cli.js
324
+ cp manifests/gos-install-manifest.json .G-OS/manifests/gos-install-manifest.json
325
+ cp LICENSE .G-OS/LICENSE
326
+ cp .github/workflows/pr-check.yml .G-OS/.github/workflows/pr-check.yml
327
+
328
+ # Modificados
329
+ cp package.json .G-OS/package.json
330
+ cp README.md .G-OS/README.md
331
+ cp .gitignore .G-OS/.gitignore
332
+ cp .github/workflows/dev-to-beta.yml .G-OS/.github/workflows/dev-to-beta.yml
333
+ ```
334
+
335
+ Validar com `diff` entre os dois repos. NAO commitar em `.G-OS/`.
336
+
337
+ Depende de T-001 a T-009. DoD: diff confirma paridade.
338
+
339
+ ---
340
+
341
+ ## Ordem
342
+
343
+ ```
344
+ Fase 1 (paralelo): T-001, T-002, T-004, T-006, T-009
345
+ Fase 2: T-003, T-005
346
+ Fase 3: T-007, T-008
347
+ Fase 4 (final): T-010
348
+
349
+ Total: 10 tasks, 25 story points
350
+ ```
351
+
352
+ ## Checklist final
353
+
354
+ ```bash
355
+ node scripts/cli/gos-cli.js doctor
356
+ node scripts/cli/gos-cli.js version
357
+ npm run check:ides
358
+ grep -rn "CLICKUP_TOKEN\|API_KEY\|SECRET\|sk-\|ghp_" . --include="*.js" --include="*.json"
359
+ diff -rq . e:/Github/.a8z-framework/.G-OS/ --exclude=node_modules --exclude=.git --exclude=packages
360
+ ```
@@ -0,0 +1,154 @@
1
+ # Stack: Git Operations — SSH Identity + Quality Gate
2
+
3
+ **Ref:** `docs/plan/plan-git-operations.md`
4
+ **Total:** 9 tasks, 5 waves, ~31 pts
5
+
6
+ ---
7
+
8
+ ## Wave 1 — Fundacao (sem dependencias)
9
+
10
+ ### T-101: Criar skill git-ssh-setup (5 pts)
11
+
12
+ Criar `skills/git-ssh-setup/SKILL.md` com frontmatter padrao (name, description, use-when, do-not-use-for, metadata category workflow-automation).
13
+
14
+ Fluxo da skill:
15
+ 1. Detectar framework (G-OS via `.gos-local/`, .a8z via `.a8z/`)
16
+ 2. Checar se `ssh-identity.json` ja existe
17
+ 3. Extrair alias do remote URL (`git remote get-url origin`)
18
+ 4. Validar conexao (`ssh -T git@<alias>`)
19
+ 5. Perguntar nome/email ao usuario
20
+ 6. Gravar `ssh-identity.json` no dir local gitignored
21
+
22
+ Regras de seguranca embutidas: alias real mascarado como `[configured-ssh-identity]`.
23
+
24
+ Replicar em: `.G-OS/skills/git-ssh-setup/SKILL.md` e `Ganbatte/skills/git-ssh-setup/SKILL.md`.
25
+
26
+ **Aceite:** Arquivo existe nos 3 repos. Frontmatter valido. Grep por alias reais retorna zero.
27
+
28
+ ---
29
+
30
+ ### T-102: Criar playbook ssh-multi-account-setup (3 pts)
31
+
32
+ Criar `playbooks/ssh-multi-account-setup.md` baseado no GUIA-SSH-MULTIPLAS-CONTAS.md, genericizado com `<placeholder>` ao inves de nomes reais.
33
+
34
+ 6 fases: Key Generation → SSH Config → GitHub Registration → URL Rewrite → Validation → Workspace Config.
35
+
36
+ Replicar em: `.G-OS/playbooks/` e `Ganbatte/playbooks/`.
37
+
38
+ **Aceite:** Arquivo existe. Grep por `imdouglas|gabriel|fappssh|moradigna|adriano` retorna zero.
39
+
40
+ ---
41
+
42
+ ### T-103: Criar script pre-commit-validate.js (5 pts)
43
+
44
+ Criar `scripts/hooks/pre-commit-validate.js` — Node.js zero-dependency.
45
+
46
+ Funcionalidades:
47
+ - Detectar package manager via lockfiles
48
+ - Se `tsconfig.json` existe: rodar `npx tsc --noEmit`
49
+ - Se package.json tem script test/test:e2e/test:run: rodar testes (com `--run` para vitest)
50
+ - Output JSON: `{ passed, checks: [{name, status, output, duration}], timestamp }`
51
+ - Flags: `--json`, `--skip-tests`, `--skip-tsc`
52
+ - Usar `execFileSync` (sem shell injection)
53
+ - Exit 0 se OK, exit 1 se falha
54
+
55
+ Replicar em: `.G-OS/scripts/hooks/` e `Ganbatte/scripts/hooks/`.
56
+
57
+ **Aceite:** `node scripts/hooks/pre-commit-validate.js --json` retorna JSON valido. Exit code correto.
58
+
59
+ ---
60
+
61
+ ## Wave 2 — Integracao (depende de Wave 1)
62
+
63
+ ### T-104: Aprimorar skill git-commit (5 pts)
64
+
65
+ Editar `skills/git-commit/SKILL.md`:
66
+
67
+ 1. Corrigir linha com alias hardcoded → referenciar `ssh-identity.json`
68
+ 2. Adicionar secao "Pre-Commit Quality Gate" antes do workflow automatico
69
+ 3. Adicionar secao "SSH Identity Validation (Pre-Push)" apos workflow
70
+ 4. Adicionar regra PROIBIDO: expor alias SSH
71
+ 5. Atualizar checklist com "tsc passa?" e "testes passam?"
72
+ 6. Atualizar workflow automatico com passo 0 (quality gate) e passo 5 (SSH validation)
73
+
74
+ **Aceite:** Skill menciona pre-commit-validate.js. Grep por `github-imdouglas` retorna zero.
75
+
76
+ ---
77
+
78
+ ### T-105: Aprimorar agent devops (2 pts)
79
+
80
+ .a8z-OS (`agents/profiles/devops.md`):
81
+ - Adicionar core_principle: SSH Identity Protection
82
+ - Adicionar comandos: ssh-setup, pre-commit-validate
83
+ - Adicionar skill dependency: git-ssh-setup
84
+
85
+ G-OS (`.G-OS/agents/profiles/devops.md`):
86
+ - Expandir com linhas sobre SSH e quality gate
87
+
88
+ Replicar G-OS em Ganbatte.
89
+
90
+ **Aceite:** devops agent lista ssh-setup como comando.
91
+
92
+ ---
93
+
94
+ ## Wave 3 — Squad (depende de Wave 1+2)
95
+
96
+ ### T-106: Criar squad git-operations (5 pts)
97
+
98
+ Criar em `squads/git-operations/`:
99
+ - `squad.yaml` — agents devops+dev, routing matrix com 4 categorias
100
+ - `workflows/wf-ssh-setup.yaml` — 5 fases (detect → key-check → configure → validate → identity)
101
+ - `workflows/wf-safe-commit.yaml` — 5 fases (validate → pre-check → stage → commit → safe-push)
102
+ - `README.md` — documentacao da squad
103
+
104
+ Replicar em `.G-OS/squads/git-operations/` e `Ganbatte/squads/git-operations/`.
105
+
106
+ **Aceite:** Arquivos existem nos 3 repos. YAML valido.
107
+
108
+ ---
109
+
110
+ ## Wave 4 — Registros (depende de todas)
111
+
112
+ ### T-107: Atualizar registries (2 pts)
113
+
114
+ - `.a8z-framework/skills/registry.json`: adicionar entrada git-ssh-setup
115
+ - `.G-OS/skills/registry.json`: adicionar entrada
116
+ - `Ganbatte/skills/registry.json`: adicionar entrada
117
+ - Rodar `npm run sync:skills-registry` se disponivel
118
+
119
+ **Aceite:** `jq '.skills[] | select(.slug=="git-ssh-setup")' skills/registry.json` retorna resultado.
120
+
121
+ ---
122
+
123
+ ### T-108: Atualizar manifestos (2 pts)
124
+
125
+ - `manifests/dev-runtime-manifest.json`: adicionar copyMap git-ssh-setup
126
+ - `.G-OS/manifests/g-os-runtime-manifest.json`: adicionar skill git-ssh-setup e squad git-operations
127
+ - `.G-OS/manifests/gos-install-manifest.json`: ja coberto por `skills/` e `scripts/` no frameworkManaged
128
+
129
+ Replicar G-OS manifestos em Ganbatte.
130
+
131
+ **Aceite:** `npm run doctor` passa.
132
+
133
+ ---
134
+
135
+ ## Wave 5 — Documentacao
136
+
137
+ ### T-109: Criar plano e stack (2 pts)
138
+
139
+ - Criar `docs/plan/plan-git-operations.md` com visao geral
140
+ - Criar `docs/stacks/stack-git-operations.md` com todas as tasks
141
+
142
+ Replicar em `.G-OS/docs/` e `Ganbatte/docs/`.
143
+
144
+ **Aceite:** Arquivos existem nos 3 repos.
145
+
146
+ ---
147
+
148
+ ## Verificacao Final
149
+
150
+ 1. `grep -rn "imdouglas\|gabriel\|fappssh\|moradigna\|adriano" skills/git-ssh-setup/ playbooks/ssh-multi-account-setup.md squads/git-operations/` — zero matches
151
+ 2. `npm run doctor` passa
152
+ 3. `.gos-local/` e `.a8z/local/` estao no .gitignore
153
+ 4. `node scripts/hooks/pre-commit-validate.js --json` retorna JSON valido
154
+ 5. Diff entre `.G-OS/` e Ganbatte confirma paridade
@@ -0,0 +1,18 @@
1
+ # Toolchain Map
2
+
3
+ ## Entradas suportadas
4
+
5
+ - URL ou frame do Figma
6
+ - export do Figma Make
7
+ - codigo gerado pelo Google Stitch
8
+ - screenshot de UI
9
+
10
+ ## Decisao rapida
11
+
12
+ - Figma com acesso estruturado: `figma-implement-design`
13
+ - Screenshot ou referencia visual: `design-to-code`
14
+ - Figma Make bruto: `figma-make-analyzer` -> `make-code-triage` -> `component-dedup`
15
+ - diff entre export antigo e novo do Make: `make-version-diff`
16
+ - Stitch ou codigo gerado por IA: `make-code-triage` -> `frontend-dev` -> `react-doctor`
17
+ - Descoberta e backlog: `sprint-planner`
18
+ - Subida para ClickUp: `clickup`
@@ -0,0 +1,42 @@
1
+ # Integrations Layer (Multi-IDE / Multi-LLM)
2
+
3
+ Este diretório define como o core do G-OS (na raiz) é exposto para cada IDE.
4
+
5
+ ## Princípio
6
+
7
+ - **Core compartilhado**: permanece na raiz (`agents/`, `rules/`, `skills/`, `playbooks/`, `prompts/`, etc.).
8
+ - **Integrações de IDE**: ficam em `integrations/<ide>/` e descrevem aliases/adapters.
9
+ - **Workspace local da IDE** (ex.: `.claude/`): deve ser fino, contendo apenas configuração local e ponte para o core.
10
+
11
+ ## Estrutura
12
+
13
+ ```text
14
+ integrations/
15
+ ├── registry.json # Registro global de integrações e comandos canônicos
16
+ ├── claude/
17
+ │ ├── README.md # Regras do adapter Claude
18
+ │ └── command-map.json # Mapeamento comando-IDE -> artefato core
19
+ ├── codex/
20
+ ├── opencode/
21
+ └── antigravity/
22
+ ```
23
+
24
+ ## Comandos canônicos
25
+
26
+ G-OS usa IDs neutros para comandos compartilhados (ex.: `gos.search`, `gos.spec`, `gos.tasks`, `gos.code`, `gos.review`).
27
+
28
+ Cada IDE mapeia esses IDs para sua forma nativa (slash command, menu, atalho, workflow).
29
+
30
+ ## Perfis de agentes
31
+
32
+ - Fonte canônica: `agents/profiles/`
33
+ - Adapter Claude: `.claude/commands/gos/agents/`
34
+ - Sincronização: `npm run sync:ides`
35
+
36
+ ## Validacao do catalogo de integracoes
37
+
38
+ Use o gate local antes de alterar qualquer `command-map` ou `registry`:
39
+
40
+ ```bash
41
+ npm run check:integrations
42
+ ```
@@ -0,0 +1,29 @@
1
+ # Antigravity Adapter
2
+
3
+ Adapter para ambiente Antigravity.
4
+
5
+ ## Status: Ativo
6
+
7
+ ## Como funciona
8
+
9
+ Antigravity le o diretorio `.antigravity/` na raiz do projeto.
10
+ O script `sync-antigravity-instructions.js` gera `instructions.md` e `config.json` a partir das fontes canonicas do framework.
11
+
12
+ ## Sync
13
+
14
+ ```bash
15
+ npm run sync:antigravity # Gera/atualiza .antigravity/
16
+ npm run check:antigravity # Verifica se esta em sincronia
17
+ ```
18
+
19
+ ## Fontes
20
+
21
+ - `agents/profiles/index.json` — perfis de agentes
22
+ - `skills/registry.json` — skills registradas
23
+ - `rules/*.md` — regras de governanca
24
+ - `playbooks/*.md` — playbooks operacionais
25
+
26
+ ## Referencia
27
+
28
+ - Command map: `integrations/antigravity/command-map.json`
29
+ - Sync script: `scripts/integrations/sync-antigravity-instructions.js`
@@ -0,0 +1,29 @@
1
+ {
2
+ "ide": "antigravity",
3
+ "version": "1.0.0",
4
+ "status": "active",
5
+ "mappings": [
6
+ {
7
+ "canonicalCommand": "gos.search",
8
+ "coreArtifact": "prompts/01-search.md"
9
+ },
10
+ {
11
+ "canonicalCommand": "gos.spec",
12
+ "coreArtifact": "prompts/02-spec.md"
13
+ },
14
+ {
15
+ "canonicalCommand": "gos.tasks",
16
+ "coreArtifact": "prompts/03-tasks.md"
17
+ },
18
+ {
19
+ "canonicalCommand": "gos.code",
20
+ "coreArtifact": "prompts/04-code.md"
21
+ },
22
+ {
23
+ "canonicalCommand": "gos.review",
24
+ "coreArtifact": "prompts/05-reviews.md"
25
+ }
26
+ ]
27
+ }
28
+
29
+