auroq-os 1.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.
- package/.auroq-core/constitution.md +153 -0
- package/.auroq-core/core/synapse/context/context-builder.js +34 -0
- package/.auroq-core/core/synapse/context/context-tracker.js +198 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/consistency-collector.js +168 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/hook-collector.js +129 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/manifest-collector.js +82 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/output-analyzer.js +134 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/pipeline-collector.js +75 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/quality-collector.js +252 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/relevance-matrix.js +174 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/safe-read-json.js +31 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/session-collector.js +102 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/timing-collector.js +126 -0
- package/.auroq-core/core/synapse/diagnostics/collectors/uap-collector.js +83 -0
- package/.auroq-core/core/synapse/diagnostics/report-formatter.js +484 -0
- package/.auroq-core/core/synapse/diagnostics/synapse-diagnostics.js +95 -0
- package/.auroq-core/core/synapse/domain/domain-loader.js +322 -0
- package/.auroq-core/core/synapse/engine.js +400 -0
- package/.auroq-core/core/synapse/layers/l0-constitution.js +80 -0
- package/.auroq-core/core/synapse/layers/l1-global.js +102 -0
- package/.auroq-core/core/synapse/layers/l2-agent.js +94 -0
- package/.auroq-core/core/synapse/layers/l3-workflow.js +94 -0
- package/.auroq-core/core/synapse/layers/l4-task.js +83 -0
- package/.auroq-core/core/synapse/layers/l5-squad.js +244 -0
- package/.auroq-core/core/synapse/layers/l6-keyword.js +154 -0
- package/.auroq-core/core/synapse/layers/l7-star-command.js +169 -0
- package/.auroq-core/core/synapse/layers/layer-processor.js +82 -0
- package/.auroq-core/core/synapse/memory/memory-bridge.js +220 -0
- package/.auroq-core/core/synapse/memory/synapse-memory-provider.js +201 -0
- package/.auroq-core/core/synapse/output/formatter.js +561 -0
- package/.auroq-core/core/synapse/runtime/hook-runtime.js +98 -0
- package/.auroq-core/core/synapse/scripts/generate-constitution.js +204 -0
- package/.auroq-core/core/synapse/session/session-manager.js +404 -0
- package/.auroq-core/core/synapse/utils/atomic-write.js +79 -0
- package/.auroq-core/core/synapse/utils/paths.js +57 -0
- package/.auroq-core/core/synapse/utils/tokens.js +25 -0
- package/.auroq-core/core-config.yaml +80 -0
- package/.auroq-core/development/sistema-gestao-projetos.md +193 -0
- package/.auroq-core/development/sistema-memoria.md +157 -0
- package/.auroq-core/dna-operacional.md +134 -0
- package/.claude/CLAUDE.md +399 -0
- package/.claude/commands/AuroqOS/agents/forge.md +374 -0
- package/.claude/commands/AuroqOS/agents/ops.md +277 -0
- package/.claude/commands/companion.md +7 -0
- package/.claude/hooks/precompact-session-digest.cjs +46 -0
- package/.claude/hooks/synapse-engine.cjs +99 -0
- package/.claude/rules/agent-authority.md +79 -0
- package/.claude/rules/agent-handoff.md +97 -0
- package/.claude/rules/commit-inteligente.md +86 -0
- package/.claude/rules/dna-operacional.md +53 -0
- package/.claude/rules/evolucao-incremental.md +43 -0
- package/.claude/rules/mcp-usage.md +38 -0
- package/.claude/rules/memoria-inteligente.md +65 -0
- package/.claude/rules/project-tracker.md +49 -0
- package/.claude/rules/tool-response-filtering.md +57 -0
- package/.claude/settings.json +1 -0
- package/.claude/settings.local.json +33 -0
- package/.env.example +22 -0
- package/.gitignore +23 -0
- package/.synapse/constitution +21 -0
- package/.synapse/context +8 -0
- package/.synapse/global +10 -0
- package/.synapse/manifest +35 -0
- package/README.md +67 -0
- package/agents/companion/agents/companion.md +306 -0
- package/agents/companion/data/contexto-dinamico.md +23 -0
- package/agents/companion/data/demandas-backlog.md +19 -0
- package/agents/companion/data/log-decisoes.md +11 -0
- package/agents/companion/data/padroes-observados.md +10 -0
- package/agents/companion/knowledge/companion-foundation.md +49 -0
- package/agents/companion/knowledge/expert-essencial.md +30 -0
- package/agents/companion/knowledge/modus-operandi.md +161 -0
- package/agents/companion/tasks/new-project.md +111 -0
- package/agents/companion/tasks/save-memory.md +73 -0
- package/agents/companion/tasks/start.md +136 -0
- package/agents/companion/tasks/weekly-review.md +82 -0
- package/bin/auroq-os.js +346 -0
- package/business/campanhas/_template/BRIEFING.md +45 -0
- package/business/campanhas/_template/CHECKLIST.md +29 -0
- package/business/campanhas/_template/DIARIO.md +15 -0
- package/business/campanhas/_template/RETROVISOR.md +34 -0
- package/business/cockpit.md +72 -0
- package/business/templates/tracker-template.md +71 -0
- package/docs/knowledge/expert-business/posicionamento.md +27 -0
- package/docs/knowledge/expert-business/publico-alvo.md +39 -0
- package/docs/knowledge/expert-mind/historia.md +27 -0
- package/docs/knowledge/expert-mind/identidade.md +23 -0
- package/docs/knowledge/expert-mind/tom-de-voz.md +30 -0
- package/docs/knowledge/expert-mind/valores.md +32 -0
- package/package.json +26 -0
package/bin/auroq-os.js
ADDED
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Auroq OS — Installer
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @auroq-os/core init (quando publicado no npm)
|
|
8
|
+
* node bin/auroq-os.js init (local)
|
|
9
|
+
*
|
|
10
|
+
* @module auroq-os/installer
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
'use strict';
|
|
14
|
+
|
|
15
|
+
const path = require('path');
|
|
16
|
+
const fs = require('fs-extra');
|
|
17
|
+
const { execSync } = require('child_process');
|
|
18
|
+
|
|
19
|
+
// ─── CORES ───────────────────────────────────────────────
|
|
20
|
+
const PURPLE = '\x1b[38;2;120;80;200m';
|
|
21
|
+
const GOLD = '\x1b[38;2;245;158;11m';
|
|
22
|
+
const CYAN = '\x1b[38;2;34;211;238m';
|
|
23
|
+
const GREEN = '\x1b[38;2;52;211;153m';
|
|
24
|
+
const DIM = '\x1b[2m';
|
|
25
|
+
const BOLD = '\x1b[1m';
|
|
26
|
+
const RESET = '\x1b[0m';
|
|
27
|
+
|
|
28
|
+
// ─── BANNER ──────────────────────────────────────────────
|
|
29
|
+
function showBanner() {
|
|
30
|
+
const bull = `
|
|
31
|
+
${PURPLE}${BOLD}
|
|
32
|
+
╱╲ ╱╲
|
|
33
|
+
╱ ╲ ╱ ╲
|
|
34
|
+
╱ ╲ ╱ ╲
|
|
35
|
+
╱ V ╲
|
|
36
|
+
╱ ╱╲ ╱╲ ╲
|
|
37
|
+
╱ ╱ ╲ ╱ ╲ ╲
|
|
38
|
+
╱ ╱ ╲ ╱ ╲ ╲
|
|
39
|
+
╱ ╱ V ╲ ╲
|
|
40
|
+
╱───╱───────────────╲───╲
|
|
41
|
+
╱ ╱ ● ● ╲ ╲
|
|
42
|
+
╱ ╱ ╲ ╱ ╲ ╲
|
|
43
|
+
╱ ╱ ╱─────────╲ ╲ ╲
|
|
44
|
+
╱ ╱ ╲ ╱╲ ╱╲ ╱ ╲ ╲
|
|
45
|
+
╱───╱────────V──╲─╱──V────────╲───╲
|
|
46
|
+
╲ ╱
|
|
47
|
+
╲─────────────────────────╱
|
|
48
|
+
|
|
49
|
+
${RESET}${PURPLE}${BOLD}
|
|
50
|
+
░█▀▀█ ░█ ░█ ░█▀▀█ ░█▀▀▀█ ░█▀▀█
|
|
51
|
+
░█▄▄█ ░█ ░█ ░█▄▄▀ ░█ ░█ ░█ ░█
|
|
52
|
+
░█ ░█ ░█▄▄█ ░█ ░█ ░█▄▄▄█ ░█▄▄█▀ ${DIM}OS${RESET}
|
|
53
|
+
${RESET}
|
|
54
|
+
${DIM} Sistema Operacional de IA para Experts${RESET}
|
|
55
|
+
${DIM} Pensar. Fazer. Lembrar. Com IA.${RESET}
|
|
56
|
+
`;
|
|
57
|
+
|
|
58
|
+
console.log(bull);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// ─── HELPERS ─────────────────────────────────────────────
|
|
62
|
+
function log(msg) { console.log(` ${msg}`); }
|
|
63
|
+
function step(msg) { console.log(`\n ${CYAN}▸${RESET} ${msg}`); }
|
|
64
|
+
function success(msg) { console.log(` ${GREEN}✓${RESET} ${msg}`); }
|
|
65
|
+
function warn(msg) { console.log(` ${GOLD}!${RESET} ${msg}`); }
|
|
66
|
+
function error(msg) { console.log(` ${PURPLE}✗${RESET} ${msg}`); }
|
|
67
|
+
|
|
68
|
+
function sleep(ms) { return new Promise(r => setTimeout(r, ms)); }
|
|
69
|
+
|
|
70
|
+
// ─── INSTALACAO ──────────────────────────────────────────
|
|
71
|
+
async function init() {
|
|
72
|
+
showBanner();
|
|
73
|
+
await sleep(500);
|
|
74
|
+
|
|
75
|
+
const targetDir = process.cwd();
|
|
76
|
+
const sourceDir = path.resolve(__dirname, '..');
|
|
77
|
+
|
|
78
|
+
log(`${DIM}Instalando em: ${targetDir}${RESET}\n`);
|
|
79
|
+
|
|
80
|
+
// ─── Fase 1: Verificar pre-requisitos
|
|
81
|
+
step('Verificando pre-requisitos...');
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
const nodeVersion = execSync('node --version', { encoding: 'utf8' }).trim();
|
|
85
|
+
success(`Node.js ${nodeVersion}`);
|
|
86
|
+
} catch {
|
|
87
|
+
error('Node.js nao encontrado. Instale em https://nodejs.org');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
try {
|
|
92
|
+
execSync('git --version', { encoding: 'utf8', stdio: 'pipe' });
|
|
93
|
+
success('Git instalado');
|
|
94
|
+
} catch {
|
|
95
|
+
error('Git nao encontrado. Instale git primeiro.');
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// ─── Fase 2: Copiar estrutura do framework
|
|
100
|
+
step('Criando estrutura do Auroq OS...');
|
|
101
|
+
|
|
102
|
+
const dirs = [
|
|
103
|
+
'.auroq-core/core/synapse',
|
|
104
|
+
'.auroq-core/development',
|
|
105
|
+
'.auroq-core/infrastructure/schemas',
|
|
106
|
+
'.auroq-core/hooks/unified/runners',
|
|
107
|
+
'.claude/commands/AuroqOS/agents',
|
|
108
|
+
'.claude/rules',
|
|
109
|
+
'.claude/hooks',
|
|
110
|
+
'.synapse/sessions',
|
|
111
|
+
'.synapse/metrics',
|
|
112
|
+
'business/campanhas/_template/arsenal/criativos',
|
|
113
|
+
'business/campanhas/_template/arsenal/conversas',
|
|
114
|
+
'business/campanhas/_template/arsenal/paginas',
|
|
115
|
+
'business/campanhas/_template/arsenal/relatorios',
|
|
116
|
+
'business/processos',
|
|
117
|
+
'business/agente',
|
|
118
|
+
'business/vault',
|
|
119
|
+
'business/templates',
|
|
120
|
+
'docs/knowledge/expert-mind',
|
|
121
|
+
'docs/knowledge/expert-business/metodologia',
|
|
122
|
+
'docs/knowledge/biblioteca-pmi/proposito',
|
|
123
|
+
'docs/knowledge/biblioteca-pmi/marketing',
|
|
124
|
+
'docs/knowledge/biblioteca-pmi/ia',
|
|
125
|
+
'docs/diagrams',
|
|
126
|
+
'agents/companion/agents',
|
|
127
|
+
'agents/companion/data',
|
|
128
|
+
'agents/companion/knowledge',
|
|
129
|
+
'agents/companion/tasks',
|
|
130
|
+
];
|
|
131
|
+
|
|
132
|
+
for (const dir of dirs) {
|
|
133
|
+
await fs.ensureDir(path.join(targetDir, dir));
|
|
134
|
+
}
|
|
135
|
+
success(`${dirs.length} pastas criadas`);
|
|
136
|
+
|
|
137
|
+
// ─── Fase 3: Copiar arquivos do framework
|
|
138
|
+
step('Instalando framework...');
|
|
139
|
+
|
|
140
|
+
const frameworkFiles = [
|
|
141
|
+
// Core
|
|
142
|
+
'.auroq-core/constitution.md',
|
|
143
|
+
'.auroq-core/core-config.yaml',
|
|
144
|
+
'.auroq-core/dna-operacional.md',
|
|
145
|
+
'.auroq-core/development/sistema-gestao-projetos.md',
|
|
146
|
+
'.auroq-core/development/sistema-memoria.md',
|
|
147
|
+
|
|
148
|
+
// Claude bridge
|
|
149
|
+
'.claude/CLAUDE.md',
|
|
150
|
+
'.claude/settings.json',
|
|
151
|
+
'.claude/settings.local.json',
|
|
152
|
+
'.claude/commands/companion.md',
|
|
153
|
+
'.claude/commands/AuroqOS/agents/ops.md',
|
|
154
|
+
'.claude/commands/AuroqOS/agents/forge.md',
|
|
155
|
+
|
|
156
|
+
// Rules
|
|
157
|
+
'.claude/rules/agent-authority.md',
|
|
158
|
+
'.claude/rules/agent-handoff.md',
|
|
159
|
+
'.claude/rules/commit-inteligente.md',
|
|
160
|
+
'.claude/rules/dna-operacional.md',
|
|
161
|
+
'.claude/rules/evolucao-incremental.md',
|
|
162
|
+
'.claude/rules/mcp-usage.md',
|
|
163
|
+
'.claude/rules/memoria-inteligente.md',
|
|
164
|
+
'.claude/rules/project-tracker.md',
|
|
165
|
+
'.claude/rules/tool-response-filtering.md',
|
|
166
|
+
|
|
167
|
+
// Hooks
|
|
168
|
+
'.claude/hooks/synapse-engine.cjs',
|
|
169
|
+
'.claude/hooks/precompact-session-digest.cjs',
|
|
170
|
+
|
|
171
|
+
// Synapse domain files
|
|
172
|
+
'.synapse/manifest',
|
|
173
|
+
'.synapse/constitution',
|
|
174
|
+
'.synapse/global',
|
|
175
|
+
'.synapse/context',
|
|
176
|
+
'.synapse/.gitignore',
|
|
177
|
+
|
|
178
|
+
// Companion
|
|
179
|
+
'agents/companion/agents/companion.md',
|
|
180
|
+
'agents/companion/tasks/start.md',
|
|
181
|
+
'agents/companion/tasks/weekly-review.md',
|
|
182
|
+
'agents/companion/tasks/save-memory.md',
|
|
183
|
+
'agents/companion/tasks/new-project.md',
|
|
184
|
+
'agents/companion/data/contexto-dinamico.md',
|
|
185
|
+
'agents/companion/data/log-decisoes.md',
|
|
186
|
+
'agents/companion/data/padroes-observados.md',
|
|
187
|
+
'agents/companion/data/demandas-backlog.md',
|
|
188
|
+
'agents/companion/knowledge/companion-foundation.md',
|
|
189
|
+
'agents/companion/knowledge/expert-essencial.md',
|
|
190
|
+
'agents/companion/knowledge/modus-operandi.md',
|
|
191
|
+
|
|
192
|
+
// Business templates
|
|
193
|
+
'business/campanhas/_template/BRIEFING.md',
|
|
194
|
+
'business/campanhas/_template/CHECKLIST.md',
|
|
195
|
+
'business/campanhas/_template/DIARIO.md',
|
|
196
|
+
'business/campanhas/_template/RETROVISOR.md',
|
|
197
|
+
'business/cockpit.md',
|
|
198
|
+
'business/templates/tracker-template.md',
|
|
199
|
+
|
|
200
|
+
// Expert templates
|
|
201
|
+
'docs/knowledge/expert-mind/identidade.md',
|
|
202
|
+
'docs/knowledge/expert-mind/valores.md',
|
|
203
|
+
'docs/knowledge/expert-mind/tom-de-voz.md',
|
|
204
|
+
'docs/knowledge/expert-mind/historia.md',
|
|
205
|
+
'docs/knowledge/expert-business/posicionamento.md',
|
|
206
|
+
'docs/knowledge/expert-business/publico-alvo.md',
|
|
207
|
+
|
|
208
|
+
// Root
|
|
209
|
+
'.gitignore',
|
|
210
|
+
'.env.example',
|
|
211
|
+
'README.md',
|
|
212
|
+
];
|
|
213
|
+
|
|
214
|
+
let copied = 0;
|
|
215
|
+
for (const file of frameworkFiles) {
|
|
216
|
+
const src = path.join(sourceDir, file);
|
|
217
|
+
const dst = path.join(targetDir, file);
|
|
218
|
+
if (await fs.pathExists(src)) {
|
|
219
|
+
await fs.copy(src, dst, { overwrite: false });
|
|
220
|
+
copied++;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
success(`${copied} arquivos instalados`);
|
|
224
|
+
|
|
225
|
+
// ─── Fase 4: Copiar Synapse Engine
|
|
226
|
+
step('Instalando Synapse Engine...');
|
|
227
|
+
|
|
228
|
+
const synapseSrc = path.join(sourceDir, '.auroq-core', 'core', 'synapse');
|
|
229
|
+
const synapseDst = path.join(targetDir, '.auroq-core', 'core', 'synapse');
|
|
230
|
+
if (await fs.pathExists(synapseSrc)) {
|
|
231
|
+
await fs.copy(synapseSrc, synapseDst, { overwrite: false });
|
|
232
|
+
const synapseFiles = await fs.readdir(synapseSrc, { recursive: true });
|
|
233
|
+
success(`Synapse Engine instalado (${synapseFiles.length} arquivos)`);
|
|
234
|
+
} else {
|
|
235
|
+
warn('Synapse Engine nao encontrado na fonte — pulando');
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// ─── Fase 5: Package.json + npm install
|
|
239
|
+
step('Configurando dependencias...');
|
|
240
|
+
|
|
241
|
+
const pkgPath = path.join(targetDir, 'package.json');
|
|
242
|
+
if (!(await fs.pathExists(pkgPath))) {
|
|
243
|
+
await fs.writeJSON(pkgPath, {
|
|
244
|
+
name: 'meu-negocio',
|
|
245
|
+
version: '1.0.0',
|
|
246
|
+
description: 'Meu negocio com Auroq OS',
|
|
247
|
+
private: true,
|
|
248
|
+
dependencies: {
|
|
249
|
+
'js-yaml': '^4.1.0',
|
|
250
|
+
},
|
|
251
|
+
}, { spaces: 2 });
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
try {
|
|
255
|
+
execSync('npm install --silent', { cwd: targetDir, stdio: 'pipe' });
|
|
256
|
+
success('Dependencias instaladas');
|
|
257
|
+
} catch {
|
|
258
|
+
warn('npm install falhou — rode manualmente depois');
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// ─── Fase 6: Git init
|
|
262
|
+
step('Inicializando repositorio...');
|
|
263
|
+
|
|
264
|
+
const gitDir = path.join(targetDir, '.git');
|
|
265
|
+
if (!(await fs.pathExists(gitDir))) {
|
|
266
|
+
try {
|
|
267
|
+
execSync('git init', { cwd: targetDir, stdio: 'pipe' });
|
|
268
|
+
success('Git inicializado');
|
|
269
|
+
} catch {
|
|
270
|
+
warn('git init falhou — inicialize manualmente');
|
|
271
|
+
}
|
|
272
|
+
} else {
|
|
273
|
+
success('Git ja inicializado');
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// ─── Fase 7: Health check rapido
|
|
277
|
+
step('Verificando integridade...');
|
|
278
|
+
|
|
279
|
+
const checks = [
|
|
280
|
+
['.auroq-core/constitution.md', 'Constitution'],
|
|
281
|
+
['.claude/CLAUDE.md', 'CLAUDE.md'],
|
|
282
|
+
['.claude/hooks/synapse-engine.cjs', 'Synapse Hook'],
|
|
283
|
+
['agents/companion/agents/companion.md', 'Companion'],
|
|
284
|
+
['.claude/commands/AuroqOS/agents/ops.md', 'Ops'],
|
|
285
|
+
['.claude/commands/AuroqOS/agents/forge.md', 'Forge'],
|
|
286
|
+
['business/cockpit.md', 'Cockpit'],
|
|
287
|
+
['.synapse/manifest', 'Synapse Manifest'],
|
|
288
|
+
];
|
|
289
|
+
|
|
290
|
+
let passed = 0;
|
|
291
|
+
for (const [file, label] of checks) {
|
|
292
|
+
if (await fs.pathExists(path.join(targetDir, file))) {
|
|
293
|
+
passed++;
|
|
294
|
+
} else {
|
|
295
|
+
warn(`${label} nao encontrado`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
if (passed === checks.length) {
|
|
300
|
+
success(`${passed}/${checks.length} verificacoes OK`);
|
|
301
|
+
} else {
|
|
302
|
+
warn(`${passed}/${checks.length} verificacoes OK — rode *bootstrap pra corrigir`);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// ─── Resultado final
|
|
306
|
+
console.log(`
|
|
307
|
+
${PURPLE}${BOLD} ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${RESET}
|
|
308
|
+
|
|
309
|
+
${GREEN}${BOLD} Auroq OS instalado com sucesso.${RESET}
|
|
310
|
+
|
|
311
|
+
${DIM} Proximo passo:${RESET}
|
|
312
|
+
|
|
313
|
+
${CYAN}cd ${path.basename(targetDir)}${RESET}
|
|
314
|
+
${CYAN}claude${RESET}
|
|
315
|
+
${CYAN}/companion${RESET}
|
|
316
|
+
|
|
317
|
+
${DIM} O Companion vai te receber e guiar a partir daqui.${RESET}
|
|
318
|
+
|
|
319
|
+
${DIM} Agentes core disponiveis:${RESET}
|
|
320
|
+
${PURPLE}/companion${RESET} ${DIM}— Parceiro cognitivo${RESET}
|
|
321
|
+
${PURPLE}/AuroqOS:agents:ops${RESET} ${DIM}— Git, deploy, ambiente${RESET}
|
|
322
|
+
${PURPLE}/AuroqOS:agents:forge${RESET} ${DIM}— Criador de agentes${RESET}
|
|
323
|
+
|
|
324
|
+
${PURPLE}${BOLD} ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${RESET}
|
|
325
|
+
${DIM} Auroq OS v1.0.0 — Sistema Operacional de IA para Experts${RESET}
|
|
326
|
+
${DIM} "Tu aumentaste o meu poder como do boi selvagem." — Sl 92:10${RESET}
|
|
327
|
+
`);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// ─── CLI ─────────────────────────────────────────────────
|
|
331
|
+
const command = process.argv[2];
|
|
332
|
+
|
|
333
|
+
if (command === 'init' || command === 'install') {
|
|
334
|
+
init().catch(err => {
|
|
335
|
+
error(`Falha na instalacao: ${err.message}`);
|
|
336
|
+
process.exit(1);
|
|
337
|
+
});
|
|
338
|
+
} else {
|
|
339
|
+
showBanner();
|
|
340
|
+
log(`${BOLD}Comandos disponiveis:${RESET}`);
|
|
341
|
+
log(` ${CYAN}init${RESET} Instalar Auroq OS no diretorio atual`);
|
|
342
|
+
log(` ${CYAN}install${RESET} Mesmo que init`);
|
|
343
|
+
log('');
|
|
344
|
+
log(`${DIM}Uso: npx @auroq-os/core init${RESET}`);
|
|
345
|
+
log('');
|
|
346
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# BRIEFING — [Nome da Campanha]
|
|
2
|
+
|
|
3
|
+
**Data de inicio:** [data]
|
|
4
|
+
**Data de fim:** [data]
|
|
5
|
+
**Tipo:** [lancamento / perpetuo / evento / outro]
|
|
6
|
+
**Produto:** [qual produto/oferta]
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Objetivo
|
|
11
|
+
|
|
12
|
+
<!-- O que essa campanha precisa alcançar? Numero especifico se possivel. -->
|
|
13
|
+
|
|
14
|
+
## Publico
|
|
15
|
+
|
|
16
|
+
<!-- Quem e o alvo dessa campanha especificamente? -->
|
|
17
|
+
|
|
18
|
+
## Oferta
|
|
19
|
+
|
|
20
|
+
<!-- O que esta sendo oferecido? Preco, bonus, garantia, escassez. -->
|
|
21
|
+
|
|
22
|
+
## Mecanismo
|
|
23
|
+
|
|
24
|
+
<!-- Como vai vender? Funil, pagina, WhatsApp, ao vivo, etc. -->
|
|
25
|
+
|
|
26
|
+
## Criativos necessarios
|
|
27
|
+
|
|
28
|
+
<!-- O que precisa ser produzido: anuncios, paginas, emails, mensagens, videos. -->
|
|
29
|
+
|
|
30
|
+
## Cronograma
|
|
31
|
+
|
|
32
|
+
<!-- Datas importantes: aquecimento, abertura, carrinho, fechamento. -->
|
|
33
|
+
|
|
34
|
+
## Orcamento
|
|
35
|
+
|
|
36
|
+
<!-- Quanto vai investir? Em que? (trafego, ferramentas, etc.) -->
|
|
37
|
+
|
|
38
|
+
## Metricas de sucesso
|
|
39
|
+
|
|
40
|
+
<!-- Como saber se deu certo? CPA alvo, ROI minimo, vendas esperadas. -->
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
*Briefing aprovado em: [data]*
|
|
45
|
+
*Aprovado por: [nome]*
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# CHECKLIST — [Nome da Campanha]
|
|
2
|
+
|
|
3
|
+
## Pre-Lancamento
|
|
4
|
+
|
|
5
|
+
- [ ] Briefing aprovado
|
|
6
|
+
- [ ] Pagina de vendas pronta e revisada
|
|
7
|
+
- [ ] Checkout configurado e testado
|
|
8
|
+
- [ ] Criativos de anuncio prontos
|
|
9
|
+
- [ ] Copy de emails/WhatsApp prontas
|
|
10
|
+
- [ ] Automacoes configuradas (ManyChat, N8N, etc.)
|
|
11
|
+
- [ ] Agente WhatsApp testado (se aplicavel)
|
|
12
|
+
- [ ] Templates de WhatsApp aprovados pelo Meta
|
|
13
|
+
- [ ] Trafego configurado (campanhas criadas, publicos, orcamento)
|
|
14
|
+
- [ ] Cronograma de disparos definido
|
|
15
|
+
|
|
16
|
+
## Lancamento
|
|
17
|
+
|
|
18
|
+
- [ ] Campanhas de trafego ativadas
|
|
19
|
+
- [ ] Primeiro disparo de WhatsApp enviado
|
|
20
|
+
- [ ] Monitoramento de metricas ativo
|
|
21
|
+
- [ ] Agente de atendimento funcionando
|
|
22
|
+
- [ ] Dashboard de acompanhamento acessivel
|
|
23
|
+
|
|
24
|
+
## Pos-Lancamento
|
|
25
|
+
|
|
26
|
+
- [ ] Criativos pausados / orcamento ajustado
|
|
27
|
+
- [ ] Metricas consolidadas no RETROVISOR.md
|
|
28
|
+
- [ ] Aprendizados documentados
|
|
29
|
+
- [ ] Proximos passos definidos
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# DIARIO — [Nome da Campanha]
|
|
2
|
+
|
|
3
|
+
> Log diario da campanha. O que aconteceu, o que decidiu, o que ajustou. Append-only.
|
|
4
|
+
|
|
5
|
+
<!-- Formato:
|
|
6
|
+
|
|
7
|
+
## [DATA]
|
|
8
|
+
|
|
9
|
+
**Metricas:** Gasto: R$X | Vendas: X | CPA: R$X | ROI: X%
|
|
10
|
+
**Acoes:** O que fez hoje
|
|
11
|
+
**Decisoes:** O que decidiu e por que
|
|
12
|
+
**Problemas:** O que deu errado
|
|
13
|
+
**Amanha:** O que fazer
|
|
14
|
+
|
|
15
|
+
-->
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# RETROVISOR — [Nome da Campanha]
|
|
2
|
+
|
|
3
|
+
> Retrospectiva pos-campanha. O que funcionou, o que nao funcionou, o que aprendeu.
|
|
4
|
+
|
|
5
|
+
## Resultado
|
|
6
|
+
|
|
7
|
+
| Metrica | Alvo | Real |
|
|
8
|
+
|---------|------|------|
|
|
9
|
+
| Faturamento | | |
|
|
10
|
+
| Investimento | | |
|
|
11
|
+
| ROI | | |
|
|
12
|
+
| CPA | | |
|
|
13
|
+
| Vendas | | |
|
|
14
|
+
| Leads | | |
|
|
15
|
+
|
|
16
|
+
## O que funcionou
|
|
17
|
+
|
|
18
|
+
<!-- Top 3 coisas que deram certo e por que -->
|
|
19
|
+
|
|
20
|
+
## O que nao funcionou
|
|
21
|
+
|
|
22
|
+
<!-- Top 3 coisas que falharam e por que -->
|
|
23
|
+
|
|
24
|
+
## Aprendizados
|
|
25
|
+
|
|
26
|
+
<!-- O que leva pro proximo? Insights que mudam a operacao. -->
|
|
27
|
+
|
|
28
|
+
## Proxima campanha
|
|
29
|
+
|
|
30
|
+
<!-- O que muda na proxima? O que repete? -->
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
*Retrospectiva feita em: [data]*
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# COCKPIT — Projetos
|
|
2
|
+
|
|
3
|
+
> Fonte unica de verdade sobre o que esta rodando na empresa.
|
|
4
|
+
> Mantido pelo Companion. Expert valida.
|
|
5
|
+
> Regra: max 3 ativos. Sem excecao.
|
|
6
|
+
|
|
7
|
+
**Ultima atualizacao:** {data}
|
|
8
|
+
**Proximo review:** {data}
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ATIVOS (max 3)
|
|
13
|
+
|
|
14
|
+
| # | Projeto | Objetivo | Next Action | Dono | Status | Tracker |
|
|
15
|
+
|---|---------|----------|-------------|------|--------|---------|
|
|
16
|
+
| 1 | | | | | | |
|
|
17
|
+
| 2 | | | | | | |
|
|
18
|
+
| 3 | | | | | | |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## FILA (proximo quando liberar vaga)
|
|
23
|
+
|
|
24
|
+
| # | Projeto | Objetivo | Depende de | Prioridade |
|
|
25
|
+
|---|---------|----------|------------|------------|
|
|
26
|
+
| 1 | | | | |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## INBOX (ideias brutas — nao sao projetos ainda)
|
|
31
|
+
|
|
32
|
+
| Ideia | Origem | Notas |
|
|
33
|
+
|-------|--------|-------|
|
|
34
|
+
| | | |
|
|
35
|
+
|
|
36
|
+
> Companion classifica no weekly review: sobe pra fila, congela, ou descarta.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## CONGELADOS (someday/maybe)
|
|
41
|
+
|
|
42
|
+
| Projeto | Objetivo | Por que parou |
|
|
43
|
+
|---------|----------|---------------|
|
|
44
|
+
| | | |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## OPERACOES CONTINUAS (nao sao projetos — rodam permanentemente)
|
|
49
|
+
|
|
50
|
+
| Operacao | Responsavel | Status | Onde acompanhar |
|
|
51
|
+
|----------|-------------|--------|-----------------|
|
|
52
|
+
| | | | |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## ARQUIVO (concluidos)
|
|
57
|
+
|
|
58
|
+
| Projeto | Concluido em | Resultado |
|
|
59
|
+
|---------|-------------|-----------|
|
|
60
|
+
| | | |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## REGRAS DO COCKPIT
|
|
65
|
+
|
|
66
|
+
1. **Max 3 ativos** — se quer adicionar, primeiro congela ou conclui um
|
|
67
|
+
2. **Todo ativo tem next action** — se nao tem, o projeto ta morto
|
|
68
|
+
3. **Fila e ordenada** — item 1 sobe primeiro quando vaga abrir
|
|
69
|
+
4. **Congelado nao e cancelado** — pode voltar quando fizer sentido
|
|
70
|
+
5. **Companion mantem** — expert valida no weekly review
|
|
71
|
+
6. **Operacoes nao contam como projeto** — rodam em paralelo, monitoradas separadamente
|
|
72
|
+
7. **Inbox nao e fila** — ideia bruta precisa ser processada antes de virar projeto
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# TRACKER — {NOME DO PROJETO}
|
|
2
|
+
|
|
3
|
+
> Execucao viva do projeto. Todos os agentes leem e atualizam este arquivo.
|
|
4
|
+
> Playbook: {path do playbook se existir, ou "—"}
|
|
5
|
+
> Cockpit: [cockpit](../../cockpit.md)
|
|
6
|
+
|
|
7
|
+
**Inicio:** {data}
|
|
8
|
+
**Deadline:** {data ou "sem deadline"}
|
|
9
|
+
**Dono geral:** {quem responde pelo projeto}
|
|
10
|
+
**Status:** {Ativo | Em finalizacao | Bloqueado}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## FASES
|
|
15
|
+
|
|
16
|
+
| # | Fase | Status | Inicio | Fim |
|
|
17
|
+
|---|------|--------|--------|-----|
|
|
18
|
+
| 1 | {nome da fase} | {Done / Em andamento / Nao iniciado} | {data} | {data} |
|
|
19
|
+
| 2 | {nome da fase} | | | |
|
|
20
|
+
| 3 | {nome da fase} | | | |
|
|
21
|
+
|
|
22
|
+
**Fase atual:** {numero} — {nome}
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## TAREFAS (fase atual)
|
|
27
|
+
|
|
28
|
+
| Tarefa | Dono | Status | Depende de | Notas |
|
|
29
|
+
|--------|------|--------|------------|-------|
|
|
30
|
+
| {tarefa 1} | {agente/pessoa} | {Done DD/MM / Em andamento / Bloqueado / Nao iniciado} | {dependencia ou —} | {nota curta} |
|
|
31
|
+
| {tarefa 2} | | | | |
|
|
32
|
+
|
|
33
|
+
**Legenda de status:**
|
|
34
|
+
- `Done DD/MM` — concluido com data
|
|
35
|
+
- `Em andamento` — alguem ta trabalhando
|
|
36
|
+
- `Bloqueado` — depende de algo externo
|
|
37
|
+
- `Nao iniciado` — na fila desta fase
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## BLOCKERS
|
|
42
|
+
|
|
43
|
+
| Blocker | Desde | Impacta | Acao necessaria |
|
|
44
|
+
|---------|-------|---------|-----------------|
|
|
45
|
+
| {descricao} | {data} | {quais tarefas} | {o que fazer pra destravar} |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## LOG
|
|
50
|
+
|
|
51
|
+
> Mais recente primeiro. Cada entrada: data — agente/pessoa: o que fez.
|
|
52
|
+
|
|
53
|
+
- {DD/MM} — {quem}: {o que aconteceu}
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## METRICAS (se aplicavel)
|
|
58
|
+
|
|
59
|
+
| Metrica | Baseline | Meta | Atual |
|
|
60
|
+
|---------|----------|------|-------|
|
|
61
|
+
| {metrica} | {valor} | {valor} | {valor} |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## RETRO (preencher ao concluir)
|
|
66
|
+
|
|
67
|
+
> Companion preenche com o expert quando o projeto termina.
|
|
68
|
+
|
|
69
|
+
1. **Deu o resultado esperado?**
|
|
70
|
+
2. **O que funcionou?**
|
|
71
|
+
3. **O que faria diferente?**
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Posicionamento
|
|
2
|
+
|
|
3
|
+
> O que voce faz, pra quem, qual a promessa.
|
|
4
|
+
|
|
5
|
+
## O que eu faco
|
|
6
|
+
|
|
7
|
+
<!-- Em 1-2 frases: qual e o seu negocio? -->
|
|
8
|
+
|
|
9
|
+
## Pra quem
|
|
10
|
+
|
|
11
|
+
<!-- Quem e seu publico-alvo? Descreva a pessoa, nao a demografia. -->
|
|
12
|
+
|
|
13
|
+
## Qual problema eu resolvo
|
|
14
|
+
|
|
15
|
+
<!-- Qual dor principal do seu publico? -->
|
|
16
|
+
|
|
17
|
+
## Minha promessa
|
|
18
|
+
|
|
19
|
+
<!-- O que a pessoa ganha ao trabalhar comigo? -->
|
|
20
|
+
|
|
21
|
+
## Meu diferencial
|
|
22
|
+
|
|
23
|
+
<!-- Por que EU e nao outro? O que so eu trago? -->
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
*Posicionamento claro = IA que comunica certo.*
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Publico-Alvo
|
|
2
|
+
|
|
3
|
+
> Quem e seu publico. Dores, desejos, medos, nivel de maturidade.
|
|
4
|
+
|
|
5
|
+
## Persona principal
|
|
6
|
+
|
|
7
|
+
<!-- Descreva seu cliente ideal como se fosse UMA pessoa:
|
|
8
|
+
- Nome ficticio:
|
|
9
|
+
- Idade:
|
|
10
|
+
- Profissao:
|
|
11
|
+
- Situacao:
|
|
12
|
+
- O que quer:
|
|
13
|
+
- O que tem medo:
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
## Dores principais
|
|
17
|
+
|
|
18
|
+
<!-- As 3-5 maiores dores do seu publico. O que tira o sono deles. -->
|
|
19
|
+
|
|
20
|
+
## Desejos
|
|
21
|
+
|
|
22
|
+
<!-- O que eles querem de verdade? (nao o que dizem — o que QUEREM) -->
|
|
23
|
+
|
|
24
|
+
## Medos
|
|
25
|
+
|
|
26
|
+
<!-- O que impede eles de agir? -->
|
|
27
|
+
|
|
28
|
+
## Niveis de maturidade
|
|
29
|
+
|
|
30
|
+
<!-- Seu publico nao e homogeneo. Quais niveis existem?
|
|
31
|
+
Ex: Iniciante (nunca fez), Intermediario (ja tentou), Avancado (ja faz mas quer mais) -->
|
|
32
|
+
|
|
33
|
+
## Como comunicar
|
|
34
|
+
|
|
35
|
+
<!-- O que funciona pra esse publico? Tom, linguagem, canais. -->
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
*Quanto mais voce conhece seu publico, melhor a IA se comunica com eles por voce.*
|