From 594d7f430535a0c42d7b0511841b5f0f4f34016f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CTami-Andrade=E2=80=9D?= <“tami.andrade@cora.com.br”> Date: Mon, 22 Jun 2026 18:13:19 -0300 Subject: [PATCH] feat: campos de governanca (owners + repo backoffice-*) no module.json - module.json: owners, descricao em PT, platform.repo padronizado backoffice-* - chart registration-configmap: encaminha repository (=platform.repo) + owners - skills onboarding/check-module: descrevem os novos campos, naming backoffice-*, descricao em portugues e name/group sempre preenchidos Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/check-module/SKILL.md | 10 +++++++--- .claude/skills/onboarding/SKILL.md | 6 ++++-- charts/my-module/templates/registration-configmap.yaml | 2 ++ module.json | 5 +++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.claude/skills/check-module/SKILL.md b/.claude/skills/check-module/SKILL.md index 6dd82f7..6e41c54 100644 --- a/.claude/skills/check-module/SKILL.md +++ b/.claude/skills/check-module/SKILL.md @@ -29,6 +29,8 @@ ID=$(jq -r '.id' module.json) NAME=$(jq -r '.name' module.json) DESC=$(jq -r '.description // ""' module.json) GROUP=$(jq -r '.group' module.json) +OWNERS=$(jq -c '.owners // []' module.json) +REPO=$(jq -r '.platform.repo // ""' module.json) HAS_NAV=$(jq -r '(.navigation // []) | length > 0' module.json) HAS_PERSP=$(jq -r '(.perspectives // []) | length > 0' module.json) ``` @@ -42,9 +44,11 @@ Acumule cada problema numa lista (`PROBLEMS`). Severity: `error` impede deploy, O dev clonou o template e esqueceu de editar: - `id == "my-module"` → warn "id ainda e o default do template" -- `name == "My Module"` → warn -- `description == "Module description"` → warn -- `platform.repo` contem `corabank/platform-module-my-module` → warn +- `name == "My Module"` → warn (preencha o nome real do modulo) +- `description == "Module description"` ou `description == "Descrição do módulo"` → warn (personalize, **em portugues**) +- `owners` vazio `[]` ou contem o default `"Squad responsável"` → warn "defina os owners reais (squads/areas responsaveis)" +- `platform.repo` contem `corabank/platform-module-my-module` ou `corabank/backoffice-my-module` (default) → warn +- `platform.repo` cujo nome (segmento apos `/`) **nao comeca com `backoffice-`** → warn: o `platform setup` rejeita repos fora do padrao `corabank/backoffice-*`. Ex: `REPO_NAME=${REPO##*/}; [[ "$REPO_NAME" == backoffice-* ]] || PROBLEMS+=("aviso: platform.repo deve seguir corabank/backoffice-* (got $REPO)")` ### 2.2 — Campos obrigatorios (severity: error) diff --git a/.claude/skills/onboarding/SKILL.md b/.claude/skills/onboarding/SKILL.md index e6d632a..87a0548 100644 --- a/.claude/skills/onboarding/SKILL.md +++ b/.claude/skills/onboarding/SKILL.md @@ -67,14 +67,16 @@ Leia o `module.json` atual e explique cada campo: |:------|:----------| | `id` | Identificador unico do modulo (usado em imagens Docker, charts, ArgoCD) | | `name` | Nome exibido na sidebar | +| `description` | Descricao do modulo, **em portugues** — exibida no catalogo do Developer Portal | | `group` | Agrupamento na sidebar e namespace no Kubernetes | +| `owners` | Squads/areas responsaveis pelo modulo (texto livre, ex: `["Squad Risco"]`) — exibido no catalogo e nos cards da home | | `permissions` | Permissoes RBAC que o modulo usa | | `navigation` | Itens de menu na sidebar | | `healthCheck` | Endpoint de health do backend (se houver) | | `platform.shellApiUrl` | URL do Shell API (usado pela CLI `platform setup`) | -| `platform.repo` | Repo GitHub do modulo (usado para ativar Woodpecker) | +| `platform.repo` | Repo GitHub do modulo, no padrao `corabank/backoffice-*` (reusado como `repository` no catalogo; o `platform setup` rejeita repos cujo nome nao comece com `backoffice-`) | -**Primeira coisa a fazer:** editar `module.json` com os dados do seu modulo (`id`, `name`, `group`, `permissions`, `platform.repo`). +**Primeira coisa a fazer:** editar `module.json` com os dados do seu modulo (`id`, `name`, `group`, `description`, `owners`, `permissions`, `platform.repo`). Sempre preencha `name` e `group` com valores reais (nao deixe o default), escreva a `description` **em portugues**, defina `owners` (squads/areas responsaveis) e nomeie o repo no padrao `corabank/backoffice-`. Apos editar o `module.json`, peca ao dev para rodar `/onboarding customize` (ou se ele confirmar, rode voce mesmo) para aplicar a personalizacao nos arquivos derivados do `id` e do nome do repo. Ver "Passo de customizacao" abaixo. diff --git a/charts/my-module/templates/registration-configmap.yaml b/charts/my-module/templates/registration-configmap.yaml index 139d971..6d4777a 100644 --- a/charts/my-module/templates/registration-configmap.yaml +++ b/charts/my-module/templates/registration-configmap.yaml @@ -16,6 +16,8 @@ "navigation" $nav "bundle_url" (printf "/modules/%s/module.js" $manifest.id) "health_url" (printf "/modules/%s/health" $manifest.id) + "repository" $manifest.platform.repo + "owners" (default (list) $manifest.owners) }} apiVersion: v1 kind: ConfigMap diff --git a/module.json b/module.json index 7d9666a..38f7b7c 100644 --- a/module.json +++ b/module.json @@ -2,7 +2,8 @@ "$schema": "https://raw.githubusercontent.com/corabank/platform-backoffice-shell/main/packages/shell-contract/module.schema.json", "id": "my-module", "name": "My Module", - "description": "Module description", + "description": "Descrição do módulo", + "owners": ["Squad responsável"], "version": "0.1.0", "group": "operations", "order": 20, @@ -18,6 +19,6 @@ "healthCheck": "/health", "platform": { "shellApiUrl": "https://backoffice.stage.cora.team", - "repo": "corabank/platform-module-my-module" + "repo": "corabank/backoffice-my-module" } }