cdp-edge 1.18.0 → 2.0.0

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 (34) hide show
  1. package/README.md +308 -308
  2. package/bin/cdp-edge.js +61 -61
  3. package/dist/commands/analyze.js +52 -52
  4. package/dist/commands/infra.js +54 -54
  5. package/dist/commands/install.js +187 -0
  6. package/dist/commands/server.js +174 -174
  7. package/dist/commands/setup.js +19 -1
  8. package/dist/commands/validate.js +84 -84
  9. package/dist/index.js +12 -12
  10. package/extracted-skill/tracking-events-generator/advanced-matching.js +364 -364
  11. package/extracted-skill/tracking-events-generator/anti-blocking.js +285 -285
  12. package/extracted-skill/tracking-events-generator/cdpTrack.js +641 -641
  13. package/extracted-skill/tracking-events-generator/engagement-scoring.js +226 -226
  14. package/extracted-skill/tracking-events-generator/evals/evals.json +235 -235
  15. package/extracted-skill/tracking-events-generator/integration-test.js +497 -497
  16. package/extracted-skill/tracking-events-generator/micro-events.js +992 -992
  17. package/extracted-skill/tracking-events-generator/models/pinterest/conversions-api-template.js +144 -144
  18. package/extracted-skill/tracking-events-generator/models/pinterest/event-mappings.json +48 -48
  19. package/extracted-skill/tracking-events-generator/models/pinterest/tag-template.js +28 -28
  20. package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +205 -205
  21. package/extracted-skill/tracking-events-generator/models/reddit/event-mappings.json +56 -56
  22. package/extracted-skill/tracking-events-generator/models/reddit/pixel-template.js +19 -19
  23. package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +425 -425
  24. package/package.json +76 -76
  25. package/server-edge-tracker/schema.sql +265 -265
  26. package/server-edge-tracker/worker.js +4160 -4160
  27. package/server-edge-tracker/wrangler.toml +103 -103
  28. package/templates/pinterest/conversions-api-template.js +144 -144
  29. package/templates/pinterest/event-mappings.json +48 -48
  30. package/templates/pinterest/tag-template.js +28 -28
  31. package/templates/reddit/conversions-api-template.js +205 -205
  32. package/templates/reddit/event-mappings.json +56 -56
  33. package/templates/reddit/pixel-template.js +19 -19
  34. package/templates/scenarios/behavior-engine.js +425 -425
package/bin/cdp-edge.js CHANGED
@@ -1,61 +1,61 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * CDP Edge CLI - Entry Point
5
- * Sistema multi-agente para tracking digital Quantum Tier
6
- */
7
-
8
- import { Command } from 'commander';
9
- import { runSetupWizard } from '../dist/commands/setup.js';
10
- import { runAnalyze } from '../dist/commands/analyze.js';
11
- import { runServer } from '../dist/commands/server.js';
12
- import { runValidate } from '../dist/commands/validate.js';
13
- import { runInfra } from '../dist/commands/infra.js';
14
- import { runInstall } from '../dist/commands/install.js';
15
-
16
- const program = new Command();
17
-
18
- program
19
- .name('cdp-edge')
20
- .description('CDP Edge Quantum Tier - Sistema multi-agente para tracking digital Cloudflare Native')
21
- .version('2.0.0');
22
-
23
- // Comando padrão (wizard interativo)
24
- program
25
- .argument('[dir]', 'Diretório do projeto', '.')
26
- .action(runSetupWizard);
27
-
28
- // Comandos específicos
29
- program
30
- .command('setup [dir]')
31
- .description('Configuração completa com wizard interativo')
32
- .action(runSetupWizard);
33
-
34
- program
35
- .command('analyze <dir>')
36
- .description('Analisa páginas e detecta eventos de tracking')
37
- .action(runAnalyze);
38
-
39
- program
40
- .command('server <dir>')
41
- .description('Gera apenas infraestrutura Cloudflare Workers + D1')
42
- .action(runServer);
43
-
44
- program
45
- .command('validate <file>')
46
- .description('Audita tracking existente')
47
- .action(runValidate);
48
-
49
- program
50
- .command('infra')
51
- .description('Mostra guia de setup de infraestrutura Cloudflare')
52
- .action(runInfra);
53
-
54
- program
55
- .command('install [dir]')
56
- .description('Instala o CDP Edge em um projeto cliente e habilita /cdp no Claude Code')
57
- .option('-n, --name <name>', 'Nome do projeto')
58
- .option('--cursor', 'Criar .cursorrules para Cursor IDE')
59
- .action(runInstall);
60
-
61
- program.parse(process.argv);
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * CDP Edge CLI - Entry Point
5
+ * Sistema multi-agente para tracking digital Quantum Tier
6
+ */
7
+
8
+ import { Command } from 'commander';
9
+ import { runSetupWizard } from '../dist/commands/setup.js';
10
+ import { runAnalyze } from '../dist/commands/analyze.js';
11
+ import { runServer } from '../dist/commands/server.js';
12
+ import { runValidate } from '../dist/commands/validate.js';
13
+ import { runInfra } from '../dist/commands/infra.js';
14
+ import { runInstall } from '../dist/commands/install.js';
15
+
16
+ const program = new Command();
17
+
18
+ program
19
+ .name('cdp-edge')
20
+ .description('CDP Edge Quantum Tier - Sistema multi-agente para tracking digital Cloudflare Native')
21
+ .version('2.0.0');
22
+
23
+ // Comando padrão (wizard interativo)
24
+ program
25
+ .argument('[dir]', 'Diretório do projeto', '.')
26
+ .action(runSetupWizard);
27
+
28
+ // Comandos específicos
29
+ program
30
+ .command('setup [dir]')
31
+ .description('Configuração completa com wizard interativo')
32
+ .action(runSetupWizard);
33
+
34
+ program
35
+ .command('analyze <dir>')
36
+ .description('Analisa páginas e detecta eventos de tracking')
37
+ .action(runAnalyze);
38
+
39
+ program
40
+ .command('server <dir>')
41
+ .description('Gera apenas infraestrutura Cloudflare Workers + D1')
42
+ .action(runServer);
43
+
44
+ program
45
+ .command('validate <file>')
46
+ .description('Audita tracking existente')
47
+ .action(runValidate);
48
+
49
+ program
50
+ .command('infra')
51
+ .description('Mostra guia de setup de infraestrutura Cloudflare')
52
+ .action(runInfra);
53
+
54
+ program
55
+ .command('install [dir]')
56
+ .description('Instala o CDP Edge em um projeto cliente e habilita /cdp no Claude Code')
57
+ .option('-n, --name <name>', 'Nome do projeto')
58
+ .option('--cursor', 'Criar .cursorrules para Cursor IDE')
59
+ .action(runInstall);
60
+
61
+ program.parse(process.argv);
@@ -1,52 +1,52 @@
1
- /**
2
- * Analyze Command - Análise de páginas
3
- */
4
-
5
- import inquirer from 'inquirer';
6
- import chalk from 'chalk';
7
- import ora from 'ora';
8
- import { promises as fs } from 'fs';
9
-
10
- export async function runAnalyze(dir) {
11
- console.log(chalk.cyan.bold('\n CDP Edge - Page Analyzer\n'));
12
-
13
- const spinner = ora('Analisando arquivos...').start();
14
-
15
- try {
16
- // Busca arquivos HTML/JS no diretório
17
- const files = await findProjectFiles(dir);
18
-
19
- spinner.succeed(`Encontrados ${files.length} arquivos`);
20
-
21
- // Análise dos eventos detectados
22
- const events = await analyzeEvents(files);
23
-
24
- console.log('\n' + chalk.yellow('Eventos detectados:'));
25
- console.log(formatEventAnalysis(events));
26
-
27
- } catch (error) {
28
- spinner.fail('Erro na análise');
29
- console.error(error);
30
- }
31
- }
32
-
33
- async function findProjectFiles(dir) {
34
- // Em produção, faria glob real dos arquivos
35
- return ['index.html', 'checkout.html', 'thankyou.html'];
36
- }
37
-
38
- async function analyzeEvents(files) {
39
- // Em produção, analisaria cada arquivo com o Page Analyzer Agent
40
- return {
41
- leads: 2,
42
- purchases: 1,
43
- views: 3,
44
- custom: 0
45
- };
46
- }
47
-
48
- function formatEventAnalysis(events) {
49
- return Object.entries(events)
50
- .map(([type, count]) => ` ${chalk.cyan(type)}: ${count}`)
51
- .join('\n');
52
- }
1
+ /**
2
+ * Analyze Command - Análise de páginas
3
+ */
4
+
5
+ import inquirer from 'inquirer';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import { promises as fs } from 'fs';
9
+
10
+ export async function runAnalyze(dir) {
11
+ console.log(chalk.cyan.bold('\n CDP Edge - Page Analyzer\n'));
12
+
13
+ const spinner = ora('Analisando arquivos...').start();
14
+
15
+ try {
16
+ // Busca arquivos HTML/JS no diretório
17
+ const files = await findProjectFiles(dir);
18
+
19
+ spinner.succeed(`Encontrados ${files.length} arquivos`);
20
+
21
+ // Análise dos eventos detectados
22
+ const events = await analyzeEvents(files);
23
+
24
+ console.log('\n' + chalk.yellow('Eventos detectados:'));
25
+ console.log(formatEventAnalysis(events));
26
+
27
+ } catch (error) {
28
+ spinner.fail('Erro na análise');
29
+ console.error(error);
30
+ }
31
+ }
32
+
33
+ async function findProjectFiles(dir) {
34
+ // Em produção, faria glob real dos arquivos
35
+ return ['index.html', 'checkout.html', 'thankyou.html'];
36
+ }
37
+
38
+ async function analyzeEvents(files) {
39
+ // Em produção, analisaria cada arquivo com o Page Analyzer Agent
40
+ return {
41
+ leads: 2,
42
+ purchases: 1,
43
+ views: 3,
44
+ custom: 0
45
+ };
46
+ }
47
+
48
+ function formatEventAnalysis(events) {
49
+ return Object.entries(events)
50
+ .map(([type, count]) => ` ${chalk.cyan(type)}: ${count}`)
51
+ .join('\n');
52
+ }
@@ -1,54 +1,54 @@
1
- /**
2
- * Infra Command - Guia de setup Cloudflare
3
- */
4
-
5
- import chalk from 'chalk';
6
-
7
- export async function runInfra() {
8
- console.log(chalk.cyan.bold('\n CDP Edge - Guia de Infraestrutura Cloudflare\n'));
9
-
10
- const guide = `
11
-
12
- ${chalk.yellow.bold('🚀 Setup do Zero ao Deploy')}
13
-
14
- ${chalk.cyan.bold('PASSO 1: Criar Conta Cloudflare')}
15
- 1. Acesse https://dash.cloudflare.com/sign-up
16
- 2. Crie uma conta gratuita
17
- 3. Adicione seu domínio (opcional para testes)
18
-
19
- ${chalk.cyan.bold('PASSO 2: Instalar Wrangler CLI')}
20
- npm install -g wrangler
21
- wrangler login
22
-
23
- ${chalk.cyan.bold('PASSO 3: Criar D1 Database')}
24
- wrangler d1 create cdp-edge-db
25
- # Copie o database_id gerado
26
-
27
- ${chalk.cyan.bold('PASSO 4: Criar Worker')}
28
- wrangler init cdp-edge-worker
29
- # Responda às perguntas do wizard
30
-
31
- ${chalk.cyan.bold('PASSO 5: Configurar Secrets')}
32
- wrangler secret put META_ACCESS_TOKEN
33
- wrangler secret put TIKTOK_ACCESS_TOKEN
34
- wrangler secret put GA4_MEASUREMENT_ID
35
-
36
- ${chalk.cyan.bold('PASSO 6: Aplicar Schema D1')}
37
- wrangler d1 execute cdp-edge-db --file=schema.sql
38
-
39
- ${chalk.cyan.bold('PASSO 7: Deploy')}
40
- wrangler deploy
41
-
42
- ${chalk.cyan.bold('PASSO 8: Configurar Domínio')}
43
- # No dashboard Cloudflare:
44
- # 1. Workers & Pages → Routes → Add Route
45
- # 2. Exemplo: seu-dominio.com/api/tracking/*
46
- # 3. Aponte para o worker criado
47
-
48
- ${chalk.green.bold('✅ Pronto! Seu tracking Quantum Tier está ativo.')}
49
-
50
- ${chalk.gray('Para mais detalhes, consulte docs/guia-cloudflare-iniciante.md')}
51
- `;
52
-
53
- console.log(guide);
54
- }
1
+ /**
2
+ * Infra Command - Guia de setup Cloudflare
3
+ */
4
+
5
+ import chalk from 'chalk';
6
+
7
+ export async function runInfra() {
8
+ console.log(chalk.cyan.bold('\n CDP Edge - Guia de Infraestrutura Cloudflare\n'));
9
+
10
+ const guide = `
11
+
12
+ ${chalk.yellow.bold('🚀 Setup do Zero ao Deploy')}
13
+
14
+ ${chalk.cyan.bold('PASSO 1: Criar Conta Cloudflare')}
15
+ 1. Acesse https://dash.cloudflare.com/sign-up
16
+ 2. Crie uma conta gratuita
17
+ 3. Adicione seu domínio (opcional para testes)
18
+
19
+ ${chalk.cyan.bold('PASSO 2: Instalar Wrangler CLI')}
20
+ npm install -g wrangler
21
+ wrangler login
22
+
23
+ ${chalk.cyan.bold('PASSO 3: Criar D1 Database')}
24
+ wrangler d1 create cdp-edge-db
25
+ # Copie o database_id gerado
26
+
27
+ ${chalk.cyan.bold('PASSO 4: Criar Worker')}
28
+ wrangler init cdp-edge-worker
29
+ # Responda às perguntas do wizard
30
+
31
+ ${chalk.cyan.bold('PASSO 5: Configurar Secrets')}
32
+ wrangler secret put META_ACCESS_TOKEN
33
+ wrangler secret put TIKTOK_ACCESS_TOKEN
34
+ wrangler secret put GA4_MEASUREMENT_ID
35
+
36
+ ${chalk.cyan.bold('PASSO 6: Aplicar Schema D1')}
37
+ wrangler d1 execute cdp-edge-db --file=schema.sql
38
+
39
+ ${chalk.cyan.bold('PASSO 7: Deploy')}
40
+ wrangler deploy
41
+
42
+ ${chalk.cyan.bold('PASSO 8: Configurar Domínio')}
43
+ # No dashboard Cloudflare:
44
+ # 1. Workers & Pages → Routes → Add Route
45
+ # 2. Exemplo: seu-dominio.com/api/tracking/*
46
+ # 3. Aponte para o worker criado
47
+
48
+ ${chalk.green.bold('✅ Pronto! Seu tracking Quantum Tier está ativo.')}
49
+
50
+ ${chalk.gray('Para mais detalhes, consulte docs/guia-cloudflare-iniciante.md')}
51
+ `;
52
+
53
+ console.log(guide);
54
+ }
@@ -0,0 +1,187 @@
1
+ /**
2
+ * CDP Edge Install Command
3
+ * Instala o CDP Edge em qualquer projeto de cliente
4
+ *
5
+ * Uso: cdp-edge install [dir] [--name "Nome do Projeto"] [--cursor]
6
+ *
7
+ * O que faz:
8
+ * 1. Copia os arquivos do CDP Edge para <dir>/cdp-edge/
9
+ * 2. Cria <dir>/.claude/commands/cdp.md → habilita /cdp no Claude Code
10
+ * 3. Cria <dir>/CLAUDE.md → auto-ativação opcional
11
+ * 4. Cria <dir>/.cursorrules → Cursor IDE (flag --cursor)
12
+ */
13
+
14
+ import fs from 'fs';
15
+ import path from 'path';
16
+ import { fileURLToPath } from 'url';
17
+ import chalk from 'chalk';
18
+
19
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
20
+
21
+ // Raiz do pacote CDP Edge (2 níveis acima de dist/commands/)
22
+ const CDP_EDGE_ROOT = path.resolve(__dirname, '..', '..');
23
+
24
+ function printBanner() {
25
+ console.log('');
26
+ console.log(chalk.white.bold(' CDP Edge Installation'));
27
+ console.log('');
28
+ console.log(chalk.cyan(' ██████╗██████╗ ██████╗ ███████╗██████╗ ██████╗ ███████╗'));
29
+ console.log(chalk.cyan('██╔════╝██╔══██╗██╔══██╗ ██╔════╝██╔══██╗██╔════╝ ██╔════╝'));
30
+ console.log(chalk.cyan('██║ ██║ ██║██████╔╝ █████╗ ██║ ██║██║ ███╗█████╗ '));
31
+ console.log(chalk.cyan('██║ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║ ██║██╔══╝ '));
32
+ console.log(chalk.cyan('╚██████╗██████╔╝██║ ███████╗██████╔╝╚██████╔╝███████╗'));
33
+ console.log(chalk.cyan(' ╚═════╝╚═════╝ ╚═╝ ╚══════╝╚═════╝ ╚═════╝╚══════╝'));
34
+ console.log('');
35
+ console.log(chalk.gray(' Customer Data Platform on the Edge · Quantum Tracking · Cloudflare Native'));
36
+ console.log(chalk.gray(` Installer v2.0.0`));
37
+ console.log('');
38
+ console.log(chalk.gray('═'.repeat(68)));
39
+ console.log('');
40
+ }
41
+
42
+ export async function runInstall(targetDir = '.', options = {}) {
43
+ const projectName = options.name || path.basename(path.resolve(targetDir));
44
+ const target = path.resolve(targetDir);
45
+
46
+ printBanner();
47
+
48
+ console.log(chalk.gray(` Projeto: ${chalk.white(projectName)}`));
49
+ console.log(chalk.gray(` Destino: ${chalk.white(target)}\n`));
50
+
51
+ // 1. Garantir que o diretório alvo existe
52
+ if (!fs.existsSync(target)) {
53
+ fs.mkdirSync(target, { recursive: true });
54
+ console.log(chalk.green(`✔ Diretório criado: ${target}`));
55
+ }
56
+
57
+ // 2. Copiar arquivos CDP Edge para <target>/cdp-edge/
58
+ const cdpEdgeDest = path.join(target, 'cdp-edge');
59
+ const foldersToInstall = [
60
+ 'extracted-skill',
61
+ 'server-edge-tracker',
62
+ 'templates',
63
+ 'docs',
64
+ ];
65
+
66
+ let installedFromSource = false;
67
+ const missingFolders = [];
68
+
69
+ for (const folder of foldersToInstall) {
70
+ const src = path.join(CDP_EDGE_ROOT, folder);
71
+ const dest = path.join(cdpEdgeDest, folder);
72
+
73
+ if (fs.existsSync(src)) {
74
+ copyDir(src, dest);
75
+ console.log(chalk.green(`✔ Copiado: cdp-edge/${folder}/`));
76
+ installedFromSource = true;
77
+ } else {
78
+ missingFolders.push(folder);
79
+ }
80
+ }
81
+
82
+ if (!installedFromSource) {
83
+ // Pacote instalado via npm sem os arquivos de código-fonte
84
+ console.log(chalk.yellow('\n⚠ Arquivos de skill não encontrados no pacote npm.'));
85
+ console.log(chalk.yellow(' Clone o repositório completo manualmente:'));
86
+ console.log(chalk.cyan('\n git clone https://github.com/ricardosoli777/CDP-Edge-Premium cdp-edge\n'));
87
+ } else if (missingFolders.length > 0) {
88
+ console.log(chalk.yellow(`\n⚠ Pastas não encontradas (ignoradas): ${missingFolders.join(', ')}`));
89
+ }
90
+
91
+ // 3. Criar .claude/commands/cdp.md → habilita /cdp no Claude Code
92
+ const commandSrc = path.join(CDP_EDGE_ROOT, 'templates', 'install', '.claude', 'commands', 'cdp.md');
93
+ const commandDest = path.join(target, '.claude', 'commands', 'cdp.md');
94
+
95
+ if (fs.existsSync(commandDest)) {
96
+ console.log(chalk.yellow('⚠ .claude/commands/cdp.md já existe — não sobrescrito.'));
97
+ } else {
98
+ fs.mkdirSync(path.dirname(commandDest), { recursive: true });
99
+ if (fs.existsSync(commandSrc)) {
100
+ fs.copyFileSync(commandSrc, commandDest);
101
+ } else {
102
+ // Fallback inline
103
+ fs.writeFileSync(commandDest,
104
+ 'Leia o arquivo `cdp-edge/extracted-skill/tracking-events-generator/agents/master-orchestrator.md` e ative o Master Orchestrator exibindo a mensagem de boas-vindas completa.\n',
105
+ 'utf8'
106
+ );
107
+ }
108
+ console.log(chalk.green('✔ Criado: .claude/commands/cdp.md → /cdp habilitado'));
109
+ }
110
+
111
+ // 4. Criar CLAUDE.md na raiz (auto-ativação ao abrir sessão)
112
+ const claudeMdSrc = path.join(CDP_EDGE_ROOT, 'templates', 'install', 'CLAUDE.md');
113
+ const claudeMdDest = path.join(target, 'CLAUDE.md');
114
+
115
+ if (fs.existsSync(claudeMdDest)) {
116
+ console.log(chalk.yellow('⚠ CLAUDE.md já existe — não sobrescrito.'));
117
+ } else {
118
+ let content;
119
+ if (fs.existsSync(claudeMdSrc)) {
120
+ content = fs.readFileSync(claudeMdSrc, 'utf8');
121
+ content = content.replace('[NOME DO PROJETO]', projectName);
122
+ } else {
123
+ content = generateClaudeMd(projectName);
124
+ }
125
+ fs.writeFileSync(claudeMdDest, content, 'utf8');
126
+ console.log(chalk.green('✔ Criado: CLAUDE.md'));
127
+ }
128
+
129
+ // 5. Criar .cursorrules (flag --cursor)
130
+ if (options.cursor) {
131
+ const cursorDest = path.join(target, '.cursorrules');
132
+ if (fs.existsSync(cursorDest)) {
133
+ console.log(chalk.yellow('⚠ .cursorrules já existe — não sobrescrito.'));
134
+ } else {
135
+ const content = fs.readFileSync(claudeMdDest, 'utf8');
136
+ fs.writeFileSync(cursorDest, content, 'utf8');
137
+ console.log(chalk.green('✔ Criado: .cursorrules (Cursor IDE)'));
138
+ }
139
+ }
140
+
141
+ // 6. Resumo final
142
+ console.log(chalk.gray('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
143
+ console.log(chalk.green.bold(' CDP Edge instalado!'));
144
+ console.log(chalk.gray('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
145
+ console.log(chalk.cyan('Próximos passos:\n'));
146
+ console.log(` 1. Abra o projeto no Claude Code:`);
147
+ console.log(chalk.bold(` claude ${target}`));
148
+ console.log(` 2. Digite ${chalk.bold('/cdp')} para ativar o Master Orchestrator\n`);
149
+ }
150
+
151
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
152
+
153
+ function copyDir(src, dest) {
154
+ fs.mkdirSync(dest, { recursive: true });
155
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
156
+ const srcPath = path.join(src, entry.name);
157
+ const destPath = path.join(dest, entry.name);
158
+ if (entry.isDirectory()) {
159
+ copyDir(srcPath, destPath);
160
+ } else {
161
+ fs.copyFileSync(srcPath, destPath);
162
+ }
163
+ }
164
+ }
165
+
166
+ function generateClaudeMd(projectName) {
167
+ return `# ${projectName} — CDP Edge Quantum Tracking
168
+
169
+ ## Ativação automática do CDP Edge
170
+
171
+ **Ao iniciar esta sessão, execute imediatamente:**
172
+
173
+ 1. Leia o arquivo: \`cdp-edge/extracted-skill/tracking-events-generator/agents/master-orchestrator.md\`
174
+ 2. Ative o **Master Orchestrator** exibindo a mensagem de boas-vindas
175
+ 3. Aguarde as instruções do usuário para iniciar o setup
176
+
177
+ ---
178
+
179
+ ## Comandos rápidos
180
+
181
+ | Comando | O que faz |
182
+ |---|---|
183
+ | \`/cdp\` | Ativa o Master Orchestrator |
184
+ | \`/cdp setup\` | Inicia o wizard de configuração completo |
185
+ | \`/cdp status\` | Verifica saúde do projeto atual |
186
+ `;
187
+ }