@fprad0/skill-master-mcp 0.0.10 → 0.0.12
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/CHANGELOG.md +12 -1
- package/README.md +59 -10
- package/VERSION.md +3 -3
- package/bin/lib/client-config.mjs +293 -0
- package/bin/lib/menu-core.mjs +509 -131
- package/bin/lib/skill-installation.mjs +215 -0
- package/bin/skill-master-bootstrap-global.mjs +2 -1
- package/bin/skill-master-doctor.mjs +92 -32
- package/bin/skill-master-install-global-skills.mjs +4 -42
- package/bin/skill-master-install-project-skills.mjs +97 -0
- package/bin/skill-master-menu.mjs +91 -6
- package/bin/skill-master-register-clients.mjs +91 -115
- package/docs/operations/GUIA_MULTI_COMPUTADOR.md +262 -0
- package/docs/operations/GUIA_NPM_PUBLICO.md +147 -0
- package/docs/operations/MENU_VISUAL_EVIDENCE_2026-06-28.md +66 -0
- package/docs/operations/assets/menu-frame-compact.html +76 -0
- package/docs/operations/assets/menu-frame-compact.png +0 -0
- package/docs/operations/assets/menu-frame-large.html +84 -0
- package/docs/operations/assets/menu-frame-large.png +0 -0
- package/docs/operations/assets/menu-frame-running.html +80 -0
- package/docs/operations/assets/menu-frame-running.png +0 -0
- package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -0
- package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyan-hud-frame-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/cyberpunk-pattern-sheet.jpg +0 -0
- package/docs/operations/reborn-menu-cyberpunk-transfer/references/fluid-workflow-windows.gif +0 -0
- package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -0
- package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -0
- package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -0
- package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -0
- package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -0
- package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -0
- package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -0
- package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -0
- package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -0
- package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -0
- package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -0
- package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -0
- package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -0
- package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +399 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +331 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +872 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +502 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +767 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +502 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +406 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +364 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +428 -0
- package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
- package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -0
- package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -0
- package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -0
- package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -0
- package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
- package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -0
- package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -0
- package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -0
- package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +92 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -0
- package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -0
- package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -0
- package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -0
- package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -0
- package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -0
- package/examples/client-configs/claude-code.commands.md +11 -7
- package/manifests/channels/beta.json +7 -7
- package/manifests/channels/stable.json +8 -8
- package/package.json +14 -2
- package/scripts/render-menu-evidence.mjs +130 -0
- package/scripts/verify-menu-actions.mjs +117 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Guia de Publicacao no npm Publico
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Distribuir o `skill_master` pelo `npmjs.org`, permitindo instalacao direta com:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @fprad0/skill-master-mcp
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
ou execucao imediata com:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx -y @fprad0/skill-master-mcp@latest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Estado atual
|
|
18
|
+
|
|
19
|
+
Em `2026-06-26`, o pacote:
|
|
20
|
+
|
|
21
|
+
- ja esta funcional no GitHub Packages privado
|
|
22
|
+
- ja esta publicado no `registry.npmjs.org`
|
|
23
|
+
- ja responde em `npm view @fprad0/skill-master-mcp --registry=https://registry.npmjs.org`
|
|
24
|
+
- ja pode ser instalado com `npm install -g @fprad0/skill-master-mcp`
|
|
25
|
+
- ja pode ser executado com `npx -y @fprad0/skill-master-mcp@latest`
|
|
26
|
+
|
|
27
|
+
Versao publica validada:
|
|
28
|
+
|
|
29
|
+
- `0.0.2`
|
|
30
|
+
|
|
31
|
+
Workflow de referencia:
|
|
32
|
+
|
|
33
|
+
- `Publish Skill Master to npmjs`
|
|
34
|
+
- run `28244958247`
|
|
35
|
+
- status `success`
|
|
36
|
+
|
|
37
|
+
## O que isso habilita na pratica
|
|
38
|
+
|
|
39
|
+
Para uma maquina nova, o caminho mais simples agora e:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm install -g @fprad0/skill-master-mcp
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Se a ideia for testar sem install global:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npx -y @fprad0/skill-master-mcp@latest
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Validacoes locais recomendadas
|
|
52
|
+
|
|
53
|
+
### Confirmar login no npmjs
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm whoami
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Verificar a versao publicada
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm view @fprad0/skill-master-mcp version --registry=https://registry.npmjs.org
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Verificar dist-tags
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm view @fprad0/skill-master-mcp dist-tags --json --registry=https://registry.npmjs.org
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Smoke test via npx
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx -y @fprad0/skill-master-mcp@latest
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Publicacao local manual
|
|
78
|
+
|
|
79
|
+
Com login valido no npmjs:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm run publish:npm-public
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Esse script publica com:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm publish --access public --registry=https://registry.npmjs.org
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Publicacao por GitHub Actions
|
|
92
|
+
|
|
93
|
+
O repositorio possui o workflow:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
Publish Skill Master to npmjs
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Pre-requisitos:
|
|
100
|
+
|
|
101
|
+
- secret `NPM_TOKEN` configurado no GitHub
|
|
102
|
+
- token com permissao de publicacao na conta/escopo correto
|
|
103
|
+
- versao do `package.json` ainda nao publicada no npm publico
|
|
104
|
+
|
|
105
|
+
Fluxo:
|
|
106
|
+
|
|
107
|
+
1. abrir `Actions` no GitHub
|
|
108
|
+
2. escolher `Publish Skill Master to npmjs`
|
|
109
|
+
3. informar o `ref` a publicar, por exemplo `main` ou uma tag
|
|
110
|
+
4. executar o workflow
|
|
111
|
+
|
|
112
|
+
O workflow faz:
|
|
113
|
+
|
|
114
|
+
- `npm ci`
|
|
115
|
+
- `npm run build`
|
|
116
|
+
- `npm test`
|
|
117
|
+
- `npm run check:manifest`
|
|
118
|
+
- `npm run publish:npm-public`
|
|
119
|
+
|
|
120
|
+
## Riscos e limites
|
|
121
|
+
|
|
122
|
+
- publicacao no npm publico e visivel publicamente
|
|
123
|
+
- nao e possivel republicar a mesma versao
|
|
124
|
+
- antes de cada novo publish, confirme nome, escopo, metadados e estrategia de suporte
|
|
125
|
+
- o fluxo privado no GitHub Packages continua valido para distribuicao fechada ou controlada
|
|
126
|
+
|
|
127
|
+
## Checklist rapido depois da release
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npm view @fprad0/skill-master-mcp version --registry=https://registry.npmjs.org
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm view @fprad0/skill-master-mcp dist-tags --json --registry=https://registry.npmjs.org
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
npx -y @fprad0/skill-master-mcp@latest
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Se quiser validar instalacao limpa:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
mkdir skill-master-smoke && cd skill-master-smoke
|
|
145
|
+
npm init -y
|
|
146
|
+
npm install @fprad0/skill-master-mcp --registry=https://registry.npmjs.org
|
|
147
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Menu Visual Evidence - 2026-06-28
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Registrar evidencias da passada Reborn cyberpunk pixel art do `skill-master-menu`:
|
|
6
|
+
|
|
7
|
+
- `overview` com mini-graficos
|
|
8
|
+
- `telemetry` com sparklines e barras
|
|
9
|
+
- `DNA-CORE` como animacao principal no lado direito, evoluida para `DNA CYBER HELIX`, com matriz braille 2x4, canvas mais cheio, paleta cyberpunk harmonica e scan vivo em cadencia mais fluida
|
|
10
|
+
- intro `BOOT-SEQUENCE`, confirmacao visual e estado `running`
|
|
11
|
+
- layout compacto para terminais menores
|
|
12
|
+
- estado visual de execucao antes de transferir para o stream real do comando
|
|
13
|
+
|
|
14
|
+
## Arquivos de evidencia
|
|
15
|
+
|
|
16
|
+
Gerados pelo script:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node scripts/render-menu-evidence.mjs
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Arquivos HTML:
|
|
23
|
+
|
|
24
|
+
- `docs/operations/assets/menu-frame-large.html`
|
|
25
|
+
- `docs/operations/assets/menu-frame-compact.html`
|
|
26
|
+
- `docs/operations/assets/menu-frame-running.html`
|
|
27
|
+
|
|
28
|
+
## O que validar visualmente
|
|
29
|
+
|
|
30
|
+
### Frame grande
|
|
31
|
+
|
|
32
|
+
- overview com identidade HUD
|
|
33
|
+
- linha de sinal com mini-graficos
|
|
34
|
+
- `DNA-CORE // DNA CYBER HELIX` como painel visual dominante no lado direito
|
|
35
|
+
- dupla helice renderizada em braille/pixel art, com fitas mais encorpadas, pares de base pontilhados e scan em movimento
|
|
36
|
+
- halo pixelado de baixa prioridade ao redor das fitas para preencher melhor o painel sem virar bloco solido
|
|
37
|
+
- paleta por camada: fita cyan, fita ambar, bases azuis, scan branco e grid cinza
|
|
38
|
+
- ciclo de 36 frames com easing senoidal para suavizar a rotacao visual
|
|
39
|
+
- loop visual do menu em 160ms por frame para animacao mais fluida sem alterar os comandos `--run`
|
|
40
|
+
- `details` com hierarquia visual maior que `actions`
|
|
41
|
+
- `telemetry` com barras e sparklines
|
|
42
|
+
|
|
43
|
+
### Frame compacto
|
|
44
|
+
|
|
45
|
+
- identidade cyberpunk preservada
|
|
46
|
+
- menu continua selecionavel e legivel
|
|
47
|
+
- DNA-CORE e telemetry continuam presentes em versao condensada
|
|
48
|
+
|
|
49
|
+
### Running state
|
|
50
|
+
|
|
51
|
+
- transicao visual clara entre HUD e stream real do comando
|
|
52
|
+
- acao, area e comando ficam explicitos antes da execucao
|
|
53
|
+
|
|
54
|
+
### Fluxos extras cobertos por teste
|
|
55
|
+
|
|
56
|
+
- intro `REBORN / SKILL_MASTER`
|
|
57
|
+
- confirmacao `CONFIRMATION GATE`
|
|
58
|
+
- resultado `SUBROUTINE COMPLETE` ou `SUBROUTINE FAILED`
|
|
59
|
+
- saida textual preservada quando nao ha TTY
|
|
60
|
+
|
|
61
|
+
## Evidencia tecnica
|
|
62
|
+
|
|
63
|
+
- renderer principal: `bin/lib/menu-core.mjs`
|
|
64
|
+
- fluxo interativo: `bin/skill-master-menu.mjs`
|
|
65
|
+
- testes: `src/menu-core.test.ts`
|
|
66
|
+
- validacao: `npm run check`, `node scripts/verify-menu-actions.mjs`, `npm pack --dry-run`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Menu Frame 96x24</title>
|
|
6
|
+
<style>
|
|
7
|
+
:root {
|
|
8
|
+
color-scheme: dark;
|
|
9
|
+
--bg: #060606;
|
|
10
|
+
--panel: #0d0d0d;
|
|
11
|
+
--grid: rgba(255,255,255,0.06);
|
|
12
|
+
--line: rgba(255,255,255,0.25);
|
|
13
|
+
--text: #f3f3f3;
|
|
14
|
+
--muted: #8f949c;
|
|
15
|
+
}
|
|
16
|
+
* { box-sizing: border-box; }
|
|
17
|
+
body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
background:
|
|
21
|
+
linear-gradient(var(--grid) 1px, transparent 1px),
|
|
22
|
+
linear-gradient(90deg, var(--grid) 1px, transparent 1px),
|
|
23
|
+
radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 35%),
|
|
24
|
+
var(--bg);
|
|
25
|
+
background-size: 48px 48px, 48px 48px, auto, auto;
|
|
26
|
+
color: var(--text);
|
|
27
|
+
font-family: "Courier New", monospace;
|
|
28
|
+
padding: 32px;
|
|
29
|
+
}
|
|
30
|
+
.frame {
|
|
31
|
+
max-width: max-content;
|
|
32
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
|
|
33
|
+
border: 1px solid var(--line);
|
|
34
|
+
box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 24px 64px rgba(0,0,0,0.45);
|
|
35
|
+
padding: 20px 24px;
|
|
36
|
+
white-space: pre;
|
|
37
|
+
line-height: 1.1;
|
|
38
|
+
font-size: 13px;
|
|
39
|
+
border-radius: 8px;
|
|
40
|
+
}
|
|
41
|
+
.title {
|
|
42
|
+
margin: 0 0 16px;
|
|
43
|
+
color: var(--muted);
|
|
44
|
+
letter-spacing: 0.12em;
|
|
45
|
+
text-transform: uppercase;
|
|
46
|
+
font-size: 12px;
|
|
47
|
+
}
|
|
48
|
+
</style>
|
|
49
|
+
</head>
|
|
50
|
+
<body>
|
|
51
|
+
<p class="title">Menu Frame 96x24</p>
|
|
52
|
+
<pre class="frame">┏╾────────── OVERVIEW▰▱▱──▰───────────────────────────────────────────────────────────────────╼┓
|
|
53
|
+
▌ ▱SKILL MASTER MENU ▐
|
|
54
|
+
▌ version 0.0.11 | channel 00.05 | readiness ready ▐
|
|
55
|
+
▌ GLOBAL SKILLS 13/13 ▐
|
|
56
|
+
▌ bundle 54 | drafts 3 | study 8 ▐
|
|
57
|
+
▌ ▱signal ██▇▅▄▃▃▃ health ██▇▆▄▃▃▃ ▐
|
|
58
|
+
┗╾────────────────▰▰▰─▱─▱─▱─▱─────────────────────────────────────────────────────────────────╼┛
|
|
59
|
+
|
|
60
|
+
┌╴───────── ACTIONS▱╍╍──▱───────────────────────────────────────╶┐ ┏╾─── DNA-CORE▰───────────╼┓
|
|
61
|
+
│ ╍ACTION GRID │ ▌ ▱DNA CYBER HELIX / ativa ▐
|
|
62
|
+
│ up/down move enter run q exit │ ▌ ⠁ ⠸⣿⣿⡁ ⠁ ⡸⡻⡻ ▐
|
|
63
|
+
│ . Rejeitar skill candidata │ ▌ ⠈⠻⢿⣷⣦⣄⣀⠄⢀⣤⣴⡾⠞⠊ ▐
|
|
64
|
+
│ . Ativar skill aprendida no workspace │ ▌ ⠁ ⠁⣈⣽⣿⣿⣿⣿⣭⣅⡀ ⠁ ▐
|
|
65
|
+
│ > Ativar skill aprendida global │ ▌ ⣀⣴⣿⠿⠛⠛⠓⠒⠛⠛⠻⢿⣷⣤⡀ ▐
|
|
66
|
+
│ ╍. Abrir resumo para Notion │ ▌ ▱ ⠁ ⠸⣿⣿⡁ ⠁ ⡹⡿⡿ ▐
|
|
67
|
+
└╴───────────▱▱▱─╍─╍─╍─╍────────────────────────────────────────╶┘ ┗╾────▰───────────────────╼┛
|
|
68
|
+
╭╼═════════ DETAILS▰▱▱══▰═══════════════════════════════════════╾╮ ┌╴─── TELEMETRY▱──────────╶┐
|
|
69
|
+
▌ ▱DETAIL FOCUS ▐ │ ╍SYSTEM WINDOWS │
|
|
70
|
+
▌ Ativar skill aprendida global ▐ │ selected area ativacao │
|
|
71
|
+
▌ area ativacao-skill | action 21/22 ▐ │ dominant skill fronten │
|
|
72
|
+
▌ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ▐ │ bundle 54 ██████████ │
|
|
73
|
+
▌ ▱Instala uma skill aprendida em CODEX_HOME/skills ou ▐ │ ╍global 13/13 ████████ │
|
|
74
|
+
╰╼═══════════▰▰▰═▱═▱═▱═▱════════════════════════════════════════╾╯ └╴────▱───────────────────╶┘</pre>
|
|
75
|
+
</body>
|
|
76
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Menu Frame 120x32</title>
|
|
6
|
+
<style>
|
|
7
|
+
:root {
|
|
8
|
+
color-scheme: dark;
|
|
9
|
+
--bg: #060606;
|
|
10
|
+
--panel: #0d0d0d;
|
|
11
|
+
--grid: rgba(255,255,255,0.06);
|
|
12
|
+
--line: rgba(255,255,255,0.25);
|
|
13
|
+
--text: #f3f3f3;
|
|
14
|
+
--muted: #8f949c;
|
|
15
|
+
}
|
|
16
|
+
* { box-sizing: border-box; }
|
|
17
|
+
body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
background:
|
|
21
|
+
linear-gradient(var(--grid) 1px, transparent 1px),
|
|
22
|
+
linear-gradient(90deg, var(--grid) 1px, transparent 1px),
|
|
23
|
+
radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 35%),
|
|
24
|
+
var(--bg);
|
|
25
|
+
background-size: 48px 48px, 48px 48px, auto, auto;
|
|
26
|
+
color: var(--text);
|
|
27
|
+
font-family: "Courier New", monospace;
|
|
28
|
+
padding: 32px;
|
|
29
|
+
}
|
|
30
|
+
.frame {
|
|
31
|
+
max-width: max-content;
|
|
32
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
|
|
33
|
+
border: 1px solid var(--line);
|
|
34
|
+
box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 24px 64px rgba(0,0,0,0.45);
|
|
35
|
+
padding: 20px 24px;
|
|
36
|
+
white-space: pre;
|
|
37
|
+
line-height: 1.1;
|
|
38
|
+
font-size: 13px;
|
|
39
|
+
border-radius: 8px;
|
|
40
|
+
}
|
|
41
|
+
.title {
|
|
42
|
+
margin: 0 0 16px;
|
|
43
|
+
color: var(--muted);
|
|
44
|
+
letter-spacing: 0.12em;
|
|
45
|
+
text-transform: uppercase;
|
|
46
|
+
font-size: 12px;
|
|
47
|
+
}
|
|
48
|
+
</style>
|
|
49
|
+
</head>
|
|
50
|
+
<body>
|
|
51
|
+
<p class="title">Menu Frame 120x32</p>
|
|
52
|
+
<pre class="frame">┏╾────────── OVERVIEW▰▱▱──▰───────────────────────────────────────────────────────────────────────────────────────────╼┓
|
|
53
|
+
▌ ▱SKILL MASTER MENU ▐
|
|
54
|
+
▌ version 0.0.11 | channel 00.05 | readiness ready ▐
|
|
55
|
+
▌ GLOBAL SKILLS 13/13 ▐
|
|
56
|
+
▌ bundle 54 | drafts 3 | study 8 ▐
|
|
57
|
+
▌ signal ██▇▅▄▃▃▃▄▅▄▄ health ██▇▆▄▃▃▃▄▄▄▄ ▐
|
|
58
|
+
▌ ▱moral-core 10 | frontend-ui 19 | backend-data 10 | ops-clients 12 | knowledge 2 ▐
|
|
59
|
+
┗╾────────────────────▰▰▰─▱─▱─▱─▱─────────────────────────────────────────────────────────────────────────────────────╼┛
|
|
60
|
+
|
|
61
|
+
┌╴────────── ACTIONS▱╍╍──▱────────────────────────────────────────────────────╶┐ ┏╾───── DNA-CORE▰───────────────────╼┓
|
|
62
|
+
│ ╍ACTION GRID │ ▌ ▱DNA CYBER HELIX / diagnostico ▐
|
|
63
|
+
│ up/down move enter run q exit │ ▌ ⠁ ⠸⣿⣿⣄ ⠄ ⠅ ⠄ ⠄ ⠅ ⠄ ⠄ ⡽⡻⡻ ⠁ ▐
|
|
64
|
+
│ . Status local │ ▌ ⠈⠛⠿⢿⣷⣶⣤⣄⣀⣀ ⢀⢀⣀⣤⣴⠶⠟⠛⠉ ▐
|
|
65
|
+
│ > Doctor do menu e clientes MCP │ ▌ ⠁ ⠁ ⢉⣙⣿⣿⠿⣿⣿⣿⣭⣅⣀⡀ ⠁ ⠁ ▐
|
|
66
|
+
│ . Rodar gate completo [off] │ ▌ ⢀⣤⣶⣿⠟⠋⠉⠁⠈ ⠈ ⠉⠙⠛⠻⢿⣷⣦⣄ ▐
|
|
67
|
+
│ . Rodar build [off] │ ▌ ⠁ ⠰⣿⣿⡛⠒⠒⠒⠓⠒⠒⠒⠒⠒⠓⠒⠒⠒⠒⠚⡻⣿⡷ ⠁ ▐
|
|
68
|
+
│ . Validar pacote no npm publico │ ▌ ⠈⠻⠿⣿⣶⣦⣤⣠⡀⠠ ⠠ ⣠⣠⣤⡶⠾⠚⠊ ▐
|
|
69
|
+
│ . Atualizar pacote global via npm │ ▌ ⠁ ⠁ ⠈⠉⣛⣻⣿⣿⣶⣾⣿⣯⣉⡀ ⠁ ⠁ ▐
|
|
70
|
+
│ . Configurar registry privado GitHub Packages │ ▌ ⣀⣤⣶⠾⠛⠋⠉ ⠉⠉⠛⠻⠿⣿⣶⣤⣀ ▐
|
|
71
|
+
│ . Modo de ativacao atual │ ▌ ⠁ ⢰⣿⣿⠉ ⠈ ⠉ ⠈ ⠈ ⠉ ⠈ ⠈⠉⢻⢿⢷ ⠁ ▐
|
|
72
|
+
│ ╍ │ ▌ ⠙⠿⣿⣶⣦⣔ ⠐ ⠐ ⠐ ⠐⢀⣰⣤⡶⠷⠓⠁ ▐
|
|
73
|
+
└╴─────────────▱▱▱─╍─╍─╍─╍────────────────────────────────────────────────────╶┘ ▌ ▱frames 8/36 global 13/13 ▐
|
|
74
|
+
╭╼══════════ DETAILS▰▱▱══▰════════════════════════════════════════════════════╾╮ ┗╾──────▰▰▰─────────────────────────╼┛
|
|
75
|
+
▌ ▱DETAIL FOCUS ▐ ┌╴───── TELEMETRY▱──────────────────╶┐
|
|
76
|
+
▌ Doctor do menu e clientes MCP ▐ │ ╍SYSTEM WINDOWS │
|
|
77
|
+
▌ area diagnostico | action 2/22 ▐ │ selected area diagnostico │
|
|
78
|
+
▌ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ▐ │ dominant skill frontend-ui 19 │
|
|
79
|
+
▌ Valida pacote, binarios, skills globais e registros em Codex, Claude, Gemin ▐ │ bundle 54 ████████████████ │
|
|
80
|
+
▌ resultado: Mostra um relatorio GO/NO-GO com proximos comandos recomendados. ▐ │ global 13/13 ████████████████ │
|
|
81
|
+
▌ ▱exec: /usr/bin/node /tmp/skill-master/bin/skill-master-doctor.mjs ▐ │ ╍skills ▅▇██▇▅▄▄▄▄▅▅ │
|
|
82
|
+
╰╼═════════════▰▰▰═▱═▱═▱═▱════════════════════════════════════════════════════╾╯ └╴──────▱▱▱─────────────────────────╶┘</pre>
|
|
83
|
+
</body>
|
|
84
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Menu Running State</title>
|
|
6
|
+
<style>
|
|
7
|
+
:root {
|
|
8
|
+
color-scheme: dark;
|
|
9
|
+
--bg: #060606;
|
|
10
|
+
--panel: #0d0d0d;
|
|
11
|
+
--grid: rgba(255,255,255,0.06);
|
|
12
|
+
--line: rgba(255,255,255,0.25);
|
|
13
|
+
--text: #f3f3f3;
|
|
14
|
+
--muted: #8f949c;
|
|
15
|
+
}
|
|
16
|
+
* { box-sizing: border-box; }
|
|
17
|
+
body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
background:
|
|
21
|
+
linear-gradient(var(--grid) 1px, transparent 1px),
|
|
22
|
+
linear-gradient(90deg, var(--grid) 1px, transparent 1px),
|
|
23
|
+
radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 35%),
|
|
24
|
+
var(--bg);
|
|
25
|
+
background-size: 48px 48px, 48px 48px, auto, auto;
|
|
26
|
+
color: var(--text);
|
|
27
|
+
font-family: "Courier New", monospace;
|
|
28
|
+
padding: 32px;
|
|
29
|
+
}
|
|
30
|
+
.frame {
|
|
31
|
+
max-width: max-content;
|
|
32
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
|
|
33
|
+
border: 1px solid var(--line);
|
|
34
|
+
box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 24px 64px rgba(0,0,0,0.45);
|
|
35
|
+
padding: 20px 24px;
|
|
36
|
+
white-space: pre;
|
|
37
|
+
line-height: 1.1;
|
|
38
|
+
font-size: 13px;
|
|
39
|
+
border-radius: 8px;
|
|
40
|
+
}
|
|
41
|
+
.title {
|
|
42
|
+
margin: 0 0 16px;
|
|
43
|
+
color: var(--muted);
|
|
44
|
+
letter-spacing: 0.12em;
|
|
45
|
+
text-transform: uppercase;
|
|
46
|
+
font-size: 12px;
|
|
47
|
+
}
|
|
48
|
+
</style>
|
|
49
|
+
</head>
|
|
50
|
+
<body>
|
|
51
|
+
<p class="title">Menu Running State</p>
|
|
52
|
+
<pre class="frame">╔╼══════════ RUNNING▰════▰════════════════════════════════════════════════════════════════════════════════════════════╾╗
|
|
53
|
+
▌▌▱SKILL_MASTER WORKFLOW ONLINE ▐▐
|
|
54
|
+
▌▌ area diagnostico | launching Doctor do menu e clientes MCP ▐▐
|
|
55
|
+
▌▌▰pulse █▇▅▄▃▃▄▄▅▄▃▂▂▂▄▆▇█ ▐▐
|
|
56
|
+
▌▌ <=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/>-<=/===/▐▐
|
|
57
|
+
▌▌ . | . + . . + . . + . . +. . + . .+ . . +▐▐
|
|
58
|
+
▌▌▰ + + + + + + + ▐▐
|
|
59
|
+
▌▌ - - |- -+ - - - - - - - - - - - +- - - - - -+ - - - - - - - - - - - +- - - - - -+ -▐▐
|
|
60
|
+
▌▌ + + + + + + + ▐▐
|
|
61
|
+
▌▌▰. | + . .+ . . + . . + . . + . . + . . + . ▐▐
|
|
62
|
+
▌▌ + + + + + + + ▐▐
|
|
63
|
+
▌▌ |+ + + + + + + ▐▐
|
|
64
|
+
▌▌▰ + + + + + + + ▐▐
|
|
65
|
+
▌▌ ▐▐
|
|
66
|
+
▌▌ Valida pacote, binarios, skills globais e registros em Codex, Claude, Gemini e Antigravity. ▐▐
|
|
67
|
+
▌▌▰resultado esperado: Mostra um relatorio GO/NO-GO com proximos comandos recomendados. ▐▐
|
|
68
|
+
▌▌ exec: /usr/bin/node /tmp/skill-master/bin/skill-master-doctor.mjs ▐▐
|
|
69
|
+
▌▌ ▐▐
|
|
70
|
+
▌▌▰handoff: HUD -> stream real do comando ▐▐
|
|
71
|
+
▌▌ ▐▐
|
|
72
|
+
▌▌ ▐▐
|
|
73
|
+
▌▌▰ ▐▐
|
|
74
|
+
▌▌ ▐▐
|
|
75
|
+
▌▌ ▐▐
|
|
76
|
+
▌▌▰ ▐▐
|
|
77
|
+
▌▌▱ ▐▐
|
|
78
|
+
╚╼════════════════════▰▰▰═════════════════════════════════════════════════════════════════════════════════════════════╾╝</pre>
|
|
79
|
+
</body>
|
|
80
|
+
</html>
|
|
Binary file
|
package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Analise - Compatibilidade MCP Windows Linux macOS
|
|
2
|
+
|
|
3
|
+
Data: 2026-06-28
|
|
4
|
+
Projeto: `@fprad0/skill-master-mcp`
|
|
5
|
+
Status: correcoes aplicadas localmente, publicacao proibida neste computador
|
|
6
|
+
|
|
7
|
+
## Problema
|
|
8
|
+
|
|
9
|
+
O `skill_master` podia ser instalado corretamente por npm, mas alguns clientes MCP nao conseguiam iniciar o servidor. O ponto mais provavel era a configuracao dos clientes usando:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
command = "skill-master-mcp"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Esse formato depende do `PATH` do processo que abriu o cliente. Em apps desktop no Windows e macOS, e tambem em ambientes Linux com launchers grafico/systemd, o `PATH` pode nao conter a pasta global do npm. Resultado: o pacote esta instalado, mas o cliente diz que nao consegue autorizar/iniciar/encontrar o MCP.
|
|
16
|
+
|
|
17
|
+
## Limite importante
|
|
18
|
+
|
|
19
|
+
Nenhum pacote npm deve burlar autorizacoes do sistema operacional ou do cliente MCP. A correcao segura e suportada e:
|
|
20
|
+
|
|
21
|
+
- registrar o servidor com executavel Node absoluto;
|
|
22
|
+
- passar o entrypoint `bin/skill-master.mjs` absoluto em `args`;
|
|
23
|
+
- manter bootstrap explicito para alterar configs de usuario;
|
|
24
|
+
- diagnosticar configuracoes antigas como `path-bin` ou `launcher`.
|
|
25
|
+
|
|
26
|
+
## Correcao aplicada
|
|
27
|
+
|
|
28
|
+
Foi criado um modulo compartilhado:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
bin/lib/client-config.mjs
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Ele centraliza:
|
|
35
|
+
|
|
36
|
+
- paths padrao de Codex, Claude Desktop, Gemini e Antigravity;
|
|
37
|
+
- geracao de config MCP robusta;
|
|
38
|
+
- bloco TOML do Codex;
|
|
39
|
+
- snippets JSON;
|
|
40
|
+
- merge de configs JSON;
|
|
41
|
+
- avaliacao de configs robustas vs antigas.
|
|
42
|
+
|
|
43
|
+
Novo padrao de servidor:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"command": "/caminho/absoluto/para/node",
|
|
48
|
+
"args": ["/caminho/absoluto/para/bin/skill-master.mjs"],
|
|
49
|
+
"env": {
|
|
50
|
+
"SKILL_MASTER_UPDATE_CHANNEL": "stable"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
No Codex:
|
|
56
|
+
|
|
57
|
+
```toml
|
|
58
|
+
[mcp_servers.skill_master]
|
|
59
|
+
command = "/caminho/absoluto/para/node"
|
|
60
|
+
args = ["/caminho/absoluto/para/bin/skill-master.mjs"]
|
|
61
|
+
startup_timeout_sec = 120
|
|
62
|
+
|
|
63
|
+
[mcp_servers.skill_master.env]
|
|
64
|
+
SKILL_MASTER_UPDATE_CHANNEL = "stable"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Arquivos alterados
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
bin/lib/client-config.mjs
|
|
71
|
+
bin/lib/menu-core.mjs
|
|
72
|
+
bin/skill-master-bootstrap-global.mjs
|
|
73
|
+
bin/skill-master-doctor.mjs
|
|
74
|
+
bin/skill-master-register-clients.mjs
|
|
75
|
+
scripts/verify-menu-actions.mjs
|
|
76
|
+
src/client-config.test.ts
|
|
77
|
+
src/menu-core.test.ts
|
|
78
|
+
package.json
|
|
79
|
+
README.md
|
|
80
|
+
CHANGELOG.md
|
|
81
|
+
docs/operations/GUIA_MULTI_COMPUTADOR.md
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Tambem existem arquivos de planejamento visual anteriores em:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
docs/operations/reborn-menu-cyberpunk-transfer/
|
|
88
|
+
docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md
|
|
89
|
+
docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md
|
|
90
|
+
docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md
|
|
91
|
+
docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Validacao executada localmente
|
|
95
|
+
|
|
96
|
+
```powershell
|
|
97
|
+
npm install
|
|
98
|
+
npm run check
|
|
99
|
+
node bin/skill-master-register-clients.mjs --write-snippets --snippets-dir .tmp-client-snippets
|
|
100
|
+
node bin/skill-master-menu.mjs --status
|
|
101
|
+
node bin/skill-master-doctor.mjs
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Resultado:
|
|
105
|
+
|
|
106
|
+
- build passou;
|
|
107
|
+
- 12 arquivos de teste passaram;
|
|
108
|
+
- 55 testes passaram;
|
|
109
|
+
- matriz de 22 acoes do menu passou;
|
|
110
|
+
- manifestos passaram;
|
|
111
|
+
- snippets gerados usam Node absoluto + `bin/skill-master.mjs` absoluto.
|
|
112
|
+
|
|
113
|
+
## O que validar no computador autorizado
|
|
114
|
+
|
|
115
|
+
```powershell
|
|
116
|
+
git status --short
|
|
117
|
+
npm install
|
|
118
|
+
npm run check
|
|
119
|
+
npm pack --dry-run
|
|
120
|
+
node bin/skill-master-register-clients.mjs --write-snippets --snippets-dir .tmp-client-snippets
|
|
121
|
+
node bin/skill-master-doctor.mjs
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Depois de publicar e instalar globalmente:
|
|
125
|
+
|
|
126
|
+
```powershell
|
|
127
|
+
npm install -g @fprad0/skill-master-mcp@latest
|
|
128
|
+
skill-master-register-clients --apply-all --force
|
|
129
|
+
skill-master-menu --run doctor
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Reiniciar Codex depois do registro.
|
|
133
|
+
|
|
134
|
+
## Riscos restantes
|
|
135
|
+
|
|
136
|
+
- O usuario ainda precisa permitir que o cliente MCP leia sua configuracao local.
|
|
137
|
+
- macOS Gatekeeper nao deve bloquear scripts npm comuns, mas ambientes corporativos podem ter politicas proprias.
|
|
138
|
+
- Windows pode exigir que Node esteja instalado e acessivel no caminho absoluto gravado.
|
|
139
|
+
- Se o usuario mover/remover a instalacao global depois do registro, e preciso rodar `skill-master-register-clients --apply-all --force` novamente.
|
|
140
|
+
|