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.
- package/AGENTS.md +46 -0
- package/CLAUDE.md +31 -0
- package/GEMINI.md +17 -0
- package/LICENSE +21 -0
- package/README.md +141 -0
- package/agents/profiles/architect.md +13 -0
- package/agents/profiles/dev.md +13 -0
- package/agents/profiles/devops.md +12 -0
- package/agents/profiles/ganbatte-os-master.md +444 -0
- package/agents/profiles/index.json +14 -0
- package/agents/profiles/po.md +7 -0
- package/agents/profiles/qa.md +456 -0
- package/agents/profiles/sm.md +7 -0
- package/agents/profiles/squad-creator.md +7 -0
- package/agents/profiles/ux-design-expert.md +14 -0
- package/config.json +15 -0
- package/docs/curation.md +60 -0
- package/docs/gos_installation_guide.md +114 -0
- package/docs/ide-compatibility.md +20 -0
- package/docs/plan/plan-git-operations.md +51 -0
- package/docs/plan-distribuicao-publica.md +360 -0
- package/docs/stacks/stack-git-operations.md +154 -0
- package/docs/toolchain-map.md +18 -0
- package/integrations/README.md +42 -0
- package/integrations/antigravity/README.md +29 -0
- package/integrations/antigravity/command-map.json +29 -0
- package/integrations/claude/README.md +35 -0
- package/integrations/claude/agent-map.json +46 -0
- package/integrations/claude/command-map.json +32 -0
- package/integrations/claude/litellm-proxy.md +93 -0
- package/integrations/claude/mcp-specifics.md +121 -0
- package/integrations/codex/README.md +29 -0
- package/integrations/codex/command-map.json +29 -0
- package/integrations/cursor/README.md +8 -0
- package/integrations/cursor/command-map.json +11 -0
- package/integrations/gemini/README.md +13 -0
- package/integrations/gemini/command-map.json +11 -0
- package/integrations/kilo-code/README.md +7 -0
- package/integrations/kilo-code/command-map.json +11 -0
- package/integrations/opencode/README.md +91 -0
- package/integrations/opencode/command-map.json +46 -0
- package/integrations/registry.json +20 -0
- package/manifests/g-os-runtime-manifest.json +39 -0
- package/manifests/gos-install-manifest.json +46 -0
- package/opencode.json +7 -0
- package/package.json +51 -0
- package/playbooks/feature-development-playbook.md +239 -0
- package/playbooks/sprint-planner-playbook.md +127 -0
- package/playbooks/squad-pipeline-runner.md +196 -0
- package/playbooks/ssh-multi-account-setup.md +185 -0
- package/prompts/01-search.md +18 -0
- package/prompts/02-spec.md +19 -0
- package/prompts/03-tasks.md +15 -0
- package/prompts/04-code.md +10 -0
- package/prompts/05-reviews.md +11 -0
- package/rules/plan-mode.md +60 -0
- package/scripts/cli/gos-cli.js +679 -0
- package/scripts/hooks/pre-commit-validate.js +201 -0
- package/scripts/integrations/check-ide-compat.js +44 -0
- package/scripts/integrations/setup-ide-adapters.js +87 -0
- package/scripts/tools/clickup-preprocess.js +218 -0
- package/scripts/tools/clickup.js +1058 -0
- package/skills/agent-teams/SKILL.md +78 -0
- package/skills/agent-teams/presets/team-all.yaml +14 -0
- package/skills/agent-teams/presets/team-fullstack.yaml +17 -0
- package/skills/agent-teams/presets/team-ide-minimal.yaml +9 -0
- package/skills/agent-teams/presets/team-no-ui.yaml +12 -0
- package/skills/agent-teams/presets/team-qa-focused.yaml +83 -0
- package/skills/clickup/SKILL.md +151 -0
- package/skills/component-dedup/SKILL.md +101 -0
- package/skills/design-to-code/SKILL.md +255 -0
- package/skills/figma-implement-design/SKILL.md +227 -0
- package/skills/figma-make-analyzer/SKILL.md +140 -0
- package/skills/frontend-dev/SKILL.md +271 -0
- package/skills/git-ssh-setup/SKILL.md +164 -0
- package/skills/interface-design/SKILL.md +350 -0
- package/skills/interface-design/references/audit.md +76 -0
- package/skills/interface-design/references/craft-examples.md +134 -0
- package/skills/interface-design/references/critique.md +92 -0
- package/skills/interface-design/references/extract.md +92 -0
- package/skills/interface-design/references/principles.md +348 -0
- package/skills/interface-design/references/templates/system-precision.md +73 -0
- package/skills/interface-design/references/templates/system-warmth.md +67 -0
- package/skills/interface-design/references/validation.md +137 -0
- package/skills/make-code-triage/SKILL.md +135 -0
- package/skills/make-version-diff/SKILL.md +87 -0
- package/skills/plan-to-tasks/SKILL.md +136 -0
- package/skills/react-best-practices/AGENTS.md +2975 -0
- package/skills/react-best-practices/SKILL.md +151 -0
- package/skills/react-best-practices/metadata.json +15 -0
- package/skills/react-best-practices/rules/_sections.md +46 -0
- package/skills/react-best-practices/rules/_template.md +28 -0
- package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/react-best-practices/rules/server-hoist-static-io.md +142 -0
- package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/skills/react-doctor/SKILL.md +74 -0
- package/skills/registry.json +21 -0
- package/skills/sprint-planner/SKILL.md +434 -0
- package/squads/design-delivery/README.md +10 -0
- package/squads/design-delivery/squad.yaml +30 -0
- package/squads/design-delivery/workflows/wf-design-delivery.yaml +27 -0
- package/squads/design-squad/README.md +31 -0
- package/squads/design-squad/agents/brad-frost.md +185 -0
- package/squads/design-squad/agents/dan-mall.md +178 -0
- package/squads/design-squad/agents/dave-malouf.md +198 -0
- package/squads/design-squad/agents/design-chief.md +109 -0
- package/squads/design-squad/agents/design-system-architect.md +109 -0
- package/squads/design-squad/agents/ui-engineer.md +102 -0
- package/squads/design-squad/agents/ux-designer.md +105 -0
- package/squads/design-squad/agents/visual-generator.md +108 -0
- package/squads/design-squad/checklists/output-quality.md +76 -0
- package/squads/design-squad/config/config.yaml +65 -0
- package/squads/design-squad/data/design-patterns-catalog.yaml +276 -0
- package/squads/design-squad/data/routing-catalog.yaml +95 -0
- package/squads/design-squad/squad.yaml +88 -0
- package/squads/design-squad/tasks/audit-design.md +174 -0
- package/squads/design-squad/tasks/create-component-spec.md +185 -0
- package/squads/design-squad/tasks/create-design-system.md +179 -0
- package/squads/design-squad/tasks/design-ux-flow.md +184 -0
- package/squads/design-squad/tasks/diagnose.md +138 -0
- package/squads/design-squad/tasks/generate-handoff.md +186 -0
- package/squads/design-squad/tasks/review.md +133 -0
- package/squads/design-squad/tasks/setup-design-ops.md +177 -0
- package/squads/design-squad/workflows/wf-design-system-creation.yaml +131 -0
- package/squads/design-squad/workflows/wf-feature-design.yaml +114 -0
- package/squads/git-operations/README.md +30 -0
- package/squads/git-operations/squad.yaml +27 -0
- package/squads/git-operations/workflows/wf-safe-commit.yaml +27 -0
- package/squads/git-operations/workflows/wf-ssh-setup.yaml +27 -0
- package/squads/sprint-planning/agents/sprint-chief.md +47 -0
- package/squads/sprint-planning/agents/sprint-planner-agent.md +43 -0
- package/squads/sprint-planning/agents/sprint-tracker.md +43 -0
- package/squads/sprint-planning/agents/task-importer.md +44 -0
- package/squads/sprint-planning/checklists/sprint-readiness.md +27 -0
- package/squads/sprint-planning/config/config.yaml +65 -0
- package/squads/sprint-planning/data/clickup-field-mapping.yaml +94 -0
- package/squads/sprint-planning/squad.yaml +52 -0
- package/squads/sprint-planning/tasks/close-sprint.md +43 -0
- package/squads/sprint-planning/tasks/create-sprint.md +42 -0
- package/squads/sprint-planning/tasks/import-tasks.md +39 -0
- package/squads/sprint-planning/tasks/sync-status.md +31 -0
- package/squads/sprint-planning/workflows/wf-sprint-creation.yaml +59 -0
- package/squads/sprint-planning/workflows/wf-sprint-sync.yaml +35 -0
- package/templates/adr-tmpl.yaml +76 -0
- 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
|
+
|