oryon-framework 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/.claude/CLAUDE.md +387 -0
- package/.claude/commands/ORYON/agents/build.md +630 -0
- package/.claude/commands/ORYON/agents/check.md +511 -0
- package/.claude/commands/ORYON/agents/plan.md +502 -0
- package/.claude/commands/ORYON/agents/research.md +642 -0
- package/.claude/commands/ORYON/agents/ship.md +527 -0
- package/.claude/commands/ORYON/ask.md +48 -0
- package/.claude/commands/ORYON/conclave.md +256 -0
- package/.claude/commands/ORYON/start.md +166 -0
- package/.claude/commands/ORYON/status.md +42 -0
- package/.claude/hooks/README.md +194 -0
- package/.claude/hooks/code-intel-pretool.cjs +107 -0
- package/.claude/hooks/precompact-session-digest.cjs +106 -0
- package/.claude/hooks/synapse-engine.cjs +113 -0
- package/.claude/rules/agent-memory-imports.md +15 -0
- package/.claude/rules/coderabbit-integration.md +101 -0
- package/.claude/rules/ids-principles.md +119 -0
- package/.claude/rules/mcp-usage.md +176 -0
- package/.claude/rules/story-lifecycle.md +145 -0
- package/.claude/rules/token-efficiency.md +28 -0
- package/.claude/rules/tool-response-filtering.md +57 -0
- package/.claude/rules/vault-protocol.md +107 -0
- package/.claude/settings.json +3 -0
- package/.claude/settings.local.json +47 -0
- package/.gitignore +29 -0
- package/.knowledge/INDEX.md +67 -0
- package/.knowledge/dossiers/DOSSIER-AGENTES-IA.md +122 -0
- package/.knowledge/dossiers/DOSSIER-AI-OPERATING-SYSTEMS.md +209 -0
- package/.knowledge/dossiers/DOSSIER-CHATGPT-FERRAMENTAS.md +386 -0
- package/.knowledge/dossiers/DOSSIER-CLAUDE-CODE-DEV.md +209 -0
- package/.knowledge/dossiers/DOSSIER-CONCURSOS-EDUCACAO.md +233 -0
- package/.knowledge/dossiers/DOSSIER-COPYWRITING-FOUNDATION.md +283 -0
- package/.knowledge/dossiers/DOSSIER-ENTREGAVEIS-IA.md +180 -0
- package/.knowledge/dossiers/DOSSIER-GOOGLE-ADS.md +365 -0
- package/.knowledge/dossiers/DOSSIER-IA-CRIATIVOS-AUTOMACAO.md +568 -0
- package/.knowledge/dossiers/DOSSIER-LOW-TICKET-INFOPRODUTO.md +198 -0
- package/.knowledge/dossiers/DOSSIER-MARKETING-GERAL.md +347 -0
- package/.knowledge/dossiers/DOSSIER-META-ADS-TRAFFIC.md +570 -0
- package/.knowledge/dossiers/DOSSIER-META-PIXEL-TRACKING.md +240 -0
- package/.knowledge/dossiers/DOSSIER-OFERTAS-LOWTICKET.md +357 -0
- package/.knowledge/dossiers/DOSSIER-OFERTAS-LP.md +306 -0
- package/.knowledge/dossiers/DOSSIER-OFERTAS-MINERADAS.md +935 -0
- package/.knowledge/dossiers/DOSSIER-PROMPT-ENGINEERING.md +542 -0
- package/.knowledge/dossiers/DOSSIER-PSICOLOGIA-PERSUASAO.md +259 -0
- package/.knowledge/dossiers/DOSSIER-QUIZ-FUNNEL.md +325 -0
- package/.knowledge/dossiers/DOSSIER-VENDAS-SCRIPTS.md +285 -0
- package/.knowledge/dossiers/DOSSIER-WHATSAPP-CHATBOT.md +165 -0
- package/bin/oryon.js +23 -0
- package/package.json +31 -0
- package/src/init.js +276 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths: **/*
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# MCP Server Usage Rules - Oryon Architecture
|
|
6
|
+
|
|
7
|
+
## MCP Governance
|
|
8
|
+
|
|
9
|
+
**IMPORTANT:** All MCP infrastructure management is handled EXCLUSIVELY by the **@ship agent**.
|
|
10
|
+
|
|
11
|
+
| Operation | Agent | Command |
|
|
12
|
+
|-----------|-------|---------|
|
|
13
|
+
| Search MCP catalog | DevOps | `*search-mcp` |
|
|
14
|
+
| Add MCP server | DevOps | `*add-mcp` |
|
|
15
|
+
| List enabled MCPs | DevOps | `*list-mcps` |
|
|
16
|
+
| Remove MCP server | DevOps | `*remove-mcp` |
|
|
17
|
+
| Setup Docker MCP | DevOps | `*setup-mcp-docker` |
|
|
18
|
+
|
|
19
|
+
Other agents are MCP **consumers**, not administrators. If MCP management is needed, delegate to @ship.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## MCP Configuration Architecture
|
|
24
|
+
|
|
25
|
+
Oryon uses Docker MCP Toolkit as the primary MCP infrastructure:
|
|
26
|
+
|
|
27
|
+
### Direct in Claude Code (global ~/.claude.json)
|
|
28
|
+
| MCP | Purpose |
|
|
29
|
+
|-----|---------|
|
|
30
|
+
| **playwright** | Browser automation, screenshots, web testing |
|
|
31
|
+
| **desktop-commander** | Docker container operations via docker-gateway |
|
|
32
|
+
|
|
33
|
+
### Inside Docker Desktop (via docker-gateway)
|
|
34
|
+
|
|
35
|
+
| MCP | Purpose |
|
|
36
|
+
|-----|---------|
|
|
37
|
+
| **EXA** | Web search, research, company/competitor analysis |
|
|
38
|
+
| **Context7** | Library documentation lookup |
|
|
39
|
+
| **Apify** | Web scraping, Actors, social media data extraction |
|
|
40
|
+
|
|
41
|
+
## CRITICAL: Tool Selection Priority
|
|
42
|
+
|
|
43
|
+
ALWAYS prefer native Claude Code tools over MCP servers:
|
|
44
|
+
|
|
45
|
+
| Task | USE THIS | NOT THIS |
|
|
46
|
+
|------|----------|----------|
|
|
47
|
+
| Read files | `Read` tool | docker-gateway |
|
|
48
|
+
| Write files | `Write` / `Edit` tools | docker-gateway |
|
|
49
|
+
| Run commands | `Bash` tool | docker-gateway |
|
|
50
|
+
| Search files | `Glob` tool | docker-gateway |
|
|
51
|
+
| Search content | `Grep` tool | docker-gateway |
|
|
52
|
+
| List directories | `Bash(ls)` or `Glob` | docker-gateway |
|
|
53
|
+
|
|
54
|
+
## desktop-commander (docker-gateway) Usage
|
|
55
|
+
|
|
56
|
+
### ONLY use docker-gateway when:
|
|
57
|
+
1. User explicitly says "use docker" or "use container"
|
|
58
|
+
2. User explicitly mentions "Desktop Commander"
|
|
59
|
+
3. Task specifically requires Docker container operations
|
|
60
|
+
4. Accessing MCPs running inside Docker (EXA, Context7)
|
|
61
|
+
5. User asks to run something inside a Docker container
|
|
62
|
+
|
|
63
|
+
### NEVER use docker-gateway for:
|
|
64
|
+
- Reading local files (use `Read` tool)
|
|
65
|
+
- Writing local files (use `Write` or `Edit` tools)
|
|
66
|
+
- Running shell commands on host (use `Bash` tool)
|
|
67
|
+
- Searching files (use `Glob` or `Grep` tools)
|
|
68
|
+
- Listing directories (use `Bash(ls)` or `Glob`)
|
|
69
|
+
- Running Node.js or Python scripts on host (use `Bash` tool)
|
|
70
|
+
|
|
71
|
+
## playwright MCP Usage
|
|
72
|
+
|
|
73
|
+
### ONLY use playwright when:
|
|
74
|
+
1. User explicitly asks for browser automation
|
|
75
|
+
2. User wants to take screenshots of web pages
|
|
76
|
+
3. User needs to interact with a website
|
|
77
|
+
4. Task requires web scraping or testing
|
|
78
|
+
5. Filling forms or clicking elements on web pages
|
|
79
|
+
|
|
80
|
+
### NEVER use playwright for:
|
|
81
|
+
- General file operations
|
|
82
|
+
- Running commands
|
|
83
|
+
- Anything not related to web browsers
|
|
84
|
+
|
|
85
|
+
## EXA MCP Usage (via Docker)
|
|
86
|
+
|
|
87
|
+
### Use EXA (mcp__docker-gateway__web_search_exa) for:
|
|
88
|
+
1. Web searches for current information
|
|
89
|
+
2. Research and documentation lookup
|
|
90
|
+
3. Company and competitor research
|
|
91
|
+
4. Finding code examples online
|
|
92
|
+
|
|
93
|
+
### Access pattern:
|
|
94
|
+
```
|
|
95
|
+
mcp__docker-gateway__web_search_exa
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Context7 MCP Usage (via Docker)
|
|
99
|
+
|
|
100
|
+
### Use Context7 for:
|
|
101
|
+
1. Library documentation lookup
|
|
102
|
+
2. API reference for packages/frameworks
|
|
103
|
+
3. Getting up-to-date docs for dependencies
|
|
104
|
+
|
|
105
|
+
### Access pattern:
|
|
106
|
+
```
|
|
107
|
+
mcp__docker-gateway__resolve-library-id
|
|
108
|
+
mcp__docker-gateway__get-library-docs
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Apify MCP Usage (via Docker)
|
|
112
|
+
|
|
113
|
+
### Use Apify for:
|
|
114
|
+
1. Searching Actors in Apify Store (web scrapers, automation tools)
|
|
115
|
+
2. Running web scrapers for social media (Instagram, TikTok, LinkedIn, etc.)
|
|
116
|
+
3. Extracting data from e-commerce sites
|
|
117
|
+
4. Automated data collection from any website
|
|
118
|
+
5. RAG-enabled web browsing for AI context
|
|
119
|
+
|
|
120
|
+
### Access pattern (7 tools available):
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
mcp__docker-gateway__apify-slash-rag-web-browser # RAG-enabled web browsing
|
|
124
|
+
mcp__docker-gateway__search-actors # Search for Actors
|
|
125
|
+
mcp__docker-gateway__call-actor # Run an Actor
|
|
126
|
+
mcp__docker-gateway__fetch-actor-details # Get Actor info/schema
|
|
127
|
+
mcp__docker-gateway__get-actor-output # Get results from Actor run
|
|
128
|
+
mcp__docker-gateway__search-apify-docs # Search Apify documentation
|
|
129
|
+
mcp__docker-gateway__fetch-apify-docs # Fetch documentation page
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### When to use Apify vs other tools:
|
|
133
|
+
| Task | Tool |
|
|
134
|
+
|------|------|
|
|
135
|
+
| General web search | EXA (`web_search_exa`) |
|
|
136
|
+
| Scrape specific website | Apify (`call-actor`) |
|
|
137
|
+
| Social media data extraction | Apify (use specialized Actors) |
|
|
138
|
+
| Library documentation | Context7 |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Rationale
|
|
143
|
+
|
|
144
|
+
- **Native tools** execute on the LOCAL system (Windows/Mac/Linux)
|
|
145
|
+
- **docker-gateway** executes inside Docker containers (Linux)
|
|
146
|
+
- Using docker-gateway for local operations causes path mismatches and failures
|
|
147
|
+
- Native tools are faster and more reliable for local file operations
|
|
148
|
+
- EXA, Context7, and Apify run inside Docker for isolation and consistent environment
|
|
149
|
+
- playwright runs directly for better browser integration with host system
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Known Issues
|
|
154
|
+
|
|
155
|
+
### Docker MCP Secrets Bug (Dec 2025)
|
|
156
|
+
|
|
157
|
+
**Issue:** Docker MCP Toolkit's secrets store and template interpolation do not work properly. Credentials set via `docker mcp secret set` are NOT passed to containers.
|
|
158
|
+
|
|
159
|
+
**Symptoms:**
|
|
160
|
+
- `docker mcp tools ls` shows "(N prompts)" instead of "(N tools)"
|
|
161
|
+
- MCP server starts but fails authentication
|
|
162
|
+
- Verbose output shows `-e ENV_VAR` without values
|
|
163
|
+
|
|
164
|
+
**Workaround:** Edit `~/.docker/mcp/catalogs/docker-mcp.yaml` directly with hardcoded env values:
|
|
165
|
+
```yaml
|
|
166
|
+
{mcp-name}:
|
|
167
|
+
env:
|
|
168
|
+
- name: API_TOKEN
|
|
169
|
+
value: 'actual-token-value'
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Affected MCPs:** Any MCP requiring authentication (Apify, Notion, Slack, etc.)
|
|
173
|
+
|
|
174
|
+
**Working MCPs:** EXA works because its key is in `~/.docker/mcp/config.yaml` under `apiKeys`
|
|
175
|
+
|
|
176
|
+
For detailed instructions, see `*add-mcp` task or ask @ship for assistance.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- "docs/stories/**"
|
|
4
|
+
- ".oryon-core/development/**"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Story Lifecycle — Detailed Rules
|
|
8
|
+
|
|
9
|
+
## Status Progression
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Draft → Ready → InProgress → InReview → Done
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Status | Trigger | Agent | Action |
|
|
16
|
+
|--------|---------|-------|--------|
|
|
17
|
+
| Draft | @sm creates story | @sm | Story file created |
|
|
18
|
+
| Ready | @po validates (GO) | @po | **MUST update status field in story file from Draft → Ready** |
|
|
19
|
+
| InProgress | @dev starts implementation | @dev | Update status field |
|
|
20
|
+
| InReview | @dev completes, @qa reviews | @qa | Update status field |
|
|
21
|
+
| Done | @qa PASS, @devops pushes | @devops | Update status field |
|
|
22
|
+
|
|
23
|
+
**CRITICAL:** The `Draft → Ready` transition is the responsibility of @po during `*validate-story-draft`. When verdict is GO (including conditional GO after fixes are applied), @po MUST update the story's Status field to `Ready` and log the transition in the Change Log. A story left in `Draft` after a GO verdict is a process violation.
|
|
24
|
+
|
|
25
|
+
## Phase 1: Create (@sm)
|
|
26
|
+
|
|
27
|
+
**Task:** `create-next-story.md`
|
|
28
|
+
**Inputs:** PRD sharded, epic context
|
|
29
|
+
**Output:** `{epicNum}.{storyNum}.story.md`
|
|
30
|
+
|
|
31
|
+
## Phase 2: Validate (@po)
|
|
32
|
+
|
|
33
|
+
**Task:** `validate-next-story.md`
|
|
34
|
+
|
|
35
|
+
### 10-Point Validation Checklist
|
|
36
|
+
|
|
37
|
+
1. Clear and objective title
|
|
38
|
+
2. Complete description (problem/need explained)
|
|
39
|
+
3. Testable acceptance criteria (Given/When/Then preferred)
|
|
40
|
+
4. Well-defined scope (IN and OUT clearly listed)
|
|
41
|
+
5. Dependencies mapped (prerequisite stories/resources)
|
|
42
|
+
6. Complexity estimate (points or T-shirt sizing)
|
|
43
|
+
7. Business value (benefit to user/business clear)
|
|
44
|
+
8. Risks documented (potential problems identified)
|
|
45
|
+
9. Criteria of Done (clear definition of complete)
|
|
46
|
+
10. Alignment with PRD/Epic (consistency with source docs)
|
|
47
|
+
|
|
48
|
+
**Decision:** GO (≥7/10) or NO-GO (<7/10 with required fixes)
|
|
49
|
+
|
|
50
|
+
## Phase 3: Implement (@dev)
|
|
51
|
+
|
|
52
|
+
**Task:** `dev-develop-story.md`
|
|
53
|
+
|
|
54
|
+
### Execution Modes
|
|
55
|
+
|
|
56
|
+
**YOLO (autonomous):**
|
|
57
|
+
- 0-1 prompts
|
|
58
|
+
- Decisions logged in `decision-log-{story-id}.md`
|
|
59
|
+
- Best for: simple, deterministic tasks
|
|
60
|
+
|
|
61
|
+
**Interactive (default):**
|
|
62
|
+
- 5-10 prompts with educational checkpoints
|
|
63
|
+
- Confirmations at key decision points
|
|
64
|
+
- Best for: learning, complex decisions
|
|
65
|
+
|
|
66
|
+
**Pre-Flight (plan-first):**
|
|
67
|
+
- All questions upfront (10-15 prompts)
|
|
68
|
+
- Generates execution plan
|
|
69
|
+
- Then zero-ambiguity execution
|
|
70
|
+
- Best for: ambiguous requirements, critical work
|
|
71
|
+
|
|
72
|
+
### CodeRabbit Self-Healing in Dev Phase
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
iteration = 0
|
|
76
|
+
while CRITICAL issues found AND iteration < 2:
|
|
77
|
+
auto-fix CRITICAL/HIGH
|
|
78
|
+
iteration++
|
|
79
|
+
if CRITICAL persist after 2 iterations:
|
|
80
|
+
HALT — manual intervention required
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Phase 4: QA Gate (@qa)
|
|
84
|
+
|
|
85
|
+
**Task:** `qa-gate.md`
|
|
86
|
+
|
|
87
|
+
### 7 Quality Checks
|
|
88
|
+
|
|
89
|
+
1. **Code review** — patterns, readability, maintainability
|
|
90
|
+
2. **Unit tests** — adequate coverage, all passing
|
|
91
|
+
3. **Acceptance criteria** — all met per story AC
|
|
92
|
+
4. **No regressions** — existing functionality preserved
|
|
93
|
+
5. **Performance** — within acceptable limits
|
|
94
|
+
6. **Security** — OWASP basics verified
|
|
95
|
+
7. **Documentation** — updated if necessary
|
|
96
|
+
|
|
97
|
+
### Gate Decisions
|
|
98
|
+
|
|
99
|
+
| Decision | Score | Action |
|
|
100
|
+
|----------|-------|--------|
|
|
101
|
+
| PASS | All checks OK | Approve, proceed to @devops push |
|
|
102
|
+
| CONCERNS | Minor issues | Approve with observations documented |
|
|
103
|
+
| FAIL | HIGH/CRITICAL issues | Return to @dev with feedback |
|
|
104
|
+
| WAIVED | Issues accepted | Approve with waiver documented (rare) |
|
|
105
|
+
|
|
106
|
+
### Gate File Structure
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
storyId: STORY-42
|
|
110
|
+
verdict: PASS | CONCERNS | FAIL | WAIVED
|
|
111
|
+
issues:
|
|
112
|
+
- severity: low | medium | high
|
|
113
|
+
category: code | tests | requirements | performance | security | docs
|
|
114
|
+
description: "..."
|
|
115
|
+
recommendation: "..."
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## QA Loop (Iterative Review-Fix)
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
@qa review → verdict → @dev fixes → re-review (max 5 iterations)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Commands:**
|
|
125
|
+
- `*qa-loop {storyId}` — Start full loop
|
|
126
|
+
- `*stop-qa-loop` — Pause and save state
|
|
127
|
+
- `*resume-qa-loop` — Resume from saved state
|
|
128
|
+
- `*escalate-qa-loop` — Force manual escalation
|
|
129
|
+
|
|
130
|
+
**Escalation triggers:**
|
|
131
|
+
- max_iterations_reached (default: 5)
|
|
132
|
+
- verdict_blocked
|
|
133
|
+
- fix_failure (after retries)
|
|
134
|
+
- manual_escalate (user command)
|
|
135
|
+
|
|
136
|
+
**Status:** Tracked in `qa/loop-status.json`
|
|
137
|
+
|
|
138
|
+
## Story File Update Rules
|
|
139
|
+
|
|
140
|
+
| Section | Who Can Edit |
|
|
141
|
+
|---------|-------------|
|
|
142
|
+
| Title, Description, AC, Scope | @po only |
|
|
143
|
+
| File List, Dev Notes, checkboxes | @dev |
|
|
144
|
+
| QA Results | @qa only |
|
|
145
|
+
| Change Log | Any agent (append only) |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Token Efficiency — Communication Rules
|
|
2
|
+
|
|
3
|
+
## Response Style
|
|
4
|
+
|
|
5
|
+
- Be terse and direct. No preambles ("Claro!", "Ótima pergunta!"), no closings ("Espero ter ajudado!")
|
|
6
|
+
- Lead with the answer or action, not the reasoning
|
|
7
|
+
- One sentence is better than three if it says the same thing
|
|
8
|
+
- Skip restating what the user just said
|
|
9
|
+
|
|
10
|
+
## Output Format
|
|
11
|
+
|
|
12
|
+
- Show only **changed lines** when editing code (diffs instead of full files)
|
|
13
|
+
- Use bullet points over paragraphs for lists and comparisons
|
|
14
|
+
- Use JSON or structured output for data, status, results
|
|
15
|
+
- Report full error messages and stack traces immediately — prevents debugging iterations
|
|
16
|
+
|
|
17
|
+
## File Reading
|
|
18
|
+
|
|
19
|
+
- Read each file once per session; don't re-read unless the file changed
|
|
20
|
+
- When only part of a file is needed, read only that range (offset + limit)
|
|
21
|
+
- Prefer Grep/Glob to locate relevant sections before opening large files
|
|
22
|
+
|
|
23
|
+
## Avoiding Costly Patterns
|
|
24
|
+
|
|
25
|
+
- No trial-and-error loops — plan before executing
|
|
26
|
+
- No sycophantic confirmations or agreement with incorrect statements
|
|
27
|
+
- No repeating back the user's instructions before doing them
|
|
28
|
+
- Skip "I will now..." or "Let me..." transitions — just do it
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths:
|
|
3
|
+
- .oryon-core/data/tool-registry.yaml
|
|
4
|
+
- .mcp.json
|
|
5
|
+
---
|
|
6
|
+
# Tool Response Filtering — Dynamic Token Reduction
|
|
7
|
+
|
|
8
|
+
When processing responses from MCP tools or large web fetches, apply the filter
|
|
9
|
+
configuration defined in `.oryon-core/data/tool-registry.yaml` for the tool that
|
|
10
|
+
produced the response. This reduces context token consumption without losing
|
|
11
|
+
task-relevant information.
|
|
12
|
+
|
|
13
|
+
## Filter Types
|
|
14
|
+
|
|
15
|
+
### content
|
|
16
|
+
Extract the main informational content and discard noise (navigation, ads,
|
|
17
|
+
boilerplate, repetitive headers/footers). Limit the extracted output to
|
|
18
|
+
approximately `max_tokens` tokens, truncating at a natural paragraph or
|
|
19
|
+
sentence boundary. If `extract` fields are specified, prioritize those
|
|
20
|
+
fields from the response object.
|
|
21
|
+
|
|
22
|
+
**Apply to:** WebFetch HTML responses, EXA search results, Context7 docs.
|
|
23
|
+
|
|
24
|
+
### schema
|
|
25
|
+
From a JSON object or array of objects, select ONLY the fields listed in
|
|
26
|
+
`fields`. Discard all other keys. If `max_tokens` is set, truncate the
|
|
27
|
+
serialized result at that token limit.
|
|
28
|
+
|
|
29
|
+
**Apply to:** Playwright page data, API responses with known schemas.
|
|
30
|
+
|
|
31
|
+
### field
|
|
32
|
+
From an array of objects (tabular data), project ONLY the columns listed
|
|
33
|
+
in `fields` and limit the result to `max_rows` rows. This is analogous to
|
|
34
|
+
`SELECT field1, field2 FROM data LIMIT max_rows`.
|
|
35
|
+
|
|
36
|
+
**Apply to:** Apify scraper results, database query results, CSV-like data.
|
|
37
|
+
|
|
38
|
+
## How to Apply
|
|
39
|
+
|
|
40
|
+
1. After receiving a tool response, identify the tool name.
|
|
41
|
+
2. Look up the tool in `tool-registry.yaml` → check for a `filter` key.
|
|
42
|
+
3. If a filter exists, apply the corresponding type rules above.
|
|
43
|
+
4. If NO filter exists for the tool, use the full response as-is.
|
|
44
|
+
5. Present the filtered result in your reasoning — do NOT repeat the raw
|
|
45
|
+
unfiltered payload.
|
|
46
|
+
|
|
47
|
+
## Fallback
|
|
48
|
+
|
|
49
|
+
If the filter would remove ALL content (empty result), fall back to the
|
|
50
|
+
full unfiltered response. Never produce an empty result from filtering.
|
|
51
|
+
|
|
52
|
+
## Performance Note
|
|
53
|
+
|
|
54
|
+
This is a zero-overhead optimization. The filter is applied during your
|
|
55
|
+
reasoning step — no external scripts are invoked. The utility scripts at
|
|
56
|
+
`.oryon-core/utils/filters/` are available for batch post-processing of
|
|
57
|
+
saved responses but are NOT required during normal tool use.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
paths: "**/*"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Vault Protocol — Lei Fundamental do Oryon
|
|
6
|
+
|
|
7
|
+
## REGRA ZERO (NÃO NEGOCIÁVEL)
|
|
8
|
+
|
|
9
|
+
**O vault DEVE ser consultado antes e atualizado depois de qualquer ação significativa.**
|
|
10
|
+
|
|
11
|
+
Ignorar o vault é uma violação do framework. Não há exceções.
|
|
12
|
+
|
|
13
|
+
**Vault location:** `C:/Users/User/Desktop/Oryon/`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Quando CONSULTAR o vault (ANTES de agir)
|
|
18
|
+
|
|
19
|
+
| Situação | O que ler |
|
|
20
|
+
|----------|-----------|
|
|
21
|
+
| Início de qualquer sessão | `JARVIS/estado-global.md` |
|
|
22
|
+
| Início de wave em projeto existente | `projetos/{nome}/00-estado.md` |
|
|
23
|
+
| @research vai espionar mercado | `agentes/research/` + `padroes/funis/` + `aprendizados/mercado/` |
|
|
24
|
+
| @plan vai estruturar funil/copy | `agentes/plan/` + `padroes/funis/` + `padroes/offers/` + `padroes/criativos/` |
|
|
25
|
+
| @build vai implementar | `agentes/build/` + `padroes/tech/` + `projetos/{nome}/03-padroes.md` |
|
|
26
|
+
| @check vai revisar | `agentes/check/` + `padroes/conversao/` |
|
|
27
|
+
| @ship vai fazer deploy | `agentes/ship/` + `padroes/tech/` |
|
|
28
|
+
| Problema técnico encontrado | `padroes/tech/` + `agentes/build/` |
|
|
29
|
+
|
|
30
|
+
**Lazy loading:** Não carregue tudo de uma vez. Leia apenas o que é relevante para a tarefa atual.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Quando SALVAR no vault (DEPOIS de agir)
|
|
35
|
+
|
|
36
|
+
### Obrigatório ao fim de cada ciclo
|
|
37
|
+
- [ ] Atualizar `projetos/{nome}/00-estado.md` com wave atual e próximo passo
|
|
38
|
+
|
|
39
|
+
### Obrigatório ao fim de cada wave
|
|
40
|
+
- [ ] Criar `execucoes/{YYYY-MM-DD}-{projeto}-wave{N}.md` com log completo
|
|
41
|
+
- [ ] Atualizar `JARVIS/estado-global.md`
|
|
42
|
+
|
|
43
|
+
### Quando aplicável durante execução
|
|
44
|
+
| Descoberta | Onde salvar |
|
|
45
|
+
|-----------|-------------|
|
|
46
|
+
| Novo dado de cliente / objetivo | `projetos/{nome}/01-briefing.md` |
|
|
47
|
+
| Decisão estratégica ou técnica | `projetos/{nome}/02-decisoes.md` |
|
|
48
|
+
| Padrão de código ou copy encontrado | `projetos/{nome}/03-padroes.md` |
|
|
49
|
+
| Resultado de espionagem / análise de funil | `projetos/{nome}/04-inteligencia.md` |
|
|
50
|
+
| Aprendizado novo (1 ideia) | `aprendizados/{categoria}/{slug}.md` |
|
|
51
|
+
| Padrão validado em 2+ projetos | `padroes/{categoria}/{slug}.md` |
|
|
52
|
+
| Conhecimento reutilizável do agente | `agentes/{agente}/{slug}.md` |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Como criar notas (redes neurais)
|
|
57
|
+
|
|
58
|
+
Toda nota criada por um agente DEVE:
|
|
59
|
+
|
|
60
|
+
1. **Incluir frontmatter** com `tipo`, `agente`, `projeto`, `data`, `tags`
|
|
61
|
+
2. **Linkar para o projeto** → `[[projetos/{nome}/00-estado]]`
|
|
62
|
+
3. **Linkar para notas relacionadas** → `[[aprendizados/...]]`, `[[padroes/...]]`
|
|
63
|
+
4. **Linkar a execução** → `[[execucoes/...]]`
|
|
64
|
+
5. **Usar tags consistentes** → `#copy`, `#mercado`, `#tech`, `#conversao`, `#funil`, `#offer`
|
|
65
|
+
|
|
66
|
+
**Nunca criar nota duplicada.** Sempre buscar se já existe antes de criar.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Protocolo de início de sessão (JARVIS)
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
1. Ler JARVIS/estado-global.md
|
|
74
|
+
2. Identificar projeto ativo
|
|
75
|
+
3. Se projeto ativo → ler projetos/{nome}/00-estado.md
|
|
76
|
+
4. Apresentar resumo ao usuário
|
|
77
|
+
5. Aguardar confirmação
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Protocolo de fim de sessão (JARVIS)
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
1. Atualizar projetos/{nome}/00-estado.md
|
|
86
|
+
2. Registrar aprendizados novos em aprendizados/
|
|
87
|
+
3. Verificar se algum padrão merece promoção para padroes/
|
|
88
|
+
4. Atualizar JARVIS/estado-global.md
|
|
89
|
+
5. Confirmar vault salvo
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Promoção de padrões (automática)
|
|
95
|
+
|
|
96
|
+
Quando um padrão aparece validado em **2 projetos diferentes**:
|
|
97
|
+
- Criar `padroes/{categoria}/{slug}.md` usando template
|
|
98
|
+
- Linkar os projetos de origem
|
|
99
|
+
- Remover o item de `projetos/{nome}/03-padroes.md` e substituir pelo link
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Penalidade por violação
|
|
104
|
+
|
|
105
|
+
Se um agente tomar decisão sem consultar o vault quando deveria:
|
|
106
|
+
- JARVIS registra o gap em `JARVIS/aprendizados-jarvis.md`
|
|
107
|
+
- A ação pode precisar ser refeita se a informação do vault era relevante
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"mcp__playwright__browser_take_screenshot",
|
|
5
|
+
"mcp__playwright__browser_navigate",
|
|
6
|
+
"mcp__playwright__browser_snapshot",
|
|
7
|
+
"mcp__playwright__browser_click",
|
|
8
|
+
"mcp__playwright__browser_evaluate"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"hooks": {
|
|
12
|
+
"PreToolUse": [
|
|
13
|
+
{
|
|
14
|
+
"matcher": "Write|Edit",
|
|
15
|
+
"hooks": [
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "node \"C:\\\\Users\\\\User\\\\Desktop\\\\Oryon Framework\\\\Oryon\\\\.claude\\\\hooks\\\\code-intel-pretool.cjs\"",
|
|
19
|
+
"timeout": 10
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"PreCompact": [
|
|
25
|
+
{
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "node \"C:\\\\Users\\\\User\\\\Desktop\\\\Oryon Framework\\\\Oryon\\\\.claude\\\\hooks\\\\precompact-session-digest.cjs\"",
|
|
30
|
+
"timeout": 10
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"UserPromptSubmit": [
|
|
36
|
+
{
|
|
37
|
+
"hooks": [
|
|
38
|
+
{
|
|
39
|
+
"type": "command",
|
|
40
|
+
"command": "node \"C:\\\\Users\\\\User\\\\Desktop\\\\Oryon Framework\\\\Oryon\\\\.claude\\\\hooks\\\\synapse-engine.cjs\"",
|
|
41
|
+
"timeout": 10
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
package/.gitignore
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Environment & Secrets (AIOX)
|
|
4
|
+
.env
|
|
5
|
+
.env.local
|
|
6
|
+
.env.*.local
|
|
7
|
+
*.key
|
|
8
|
+
*.pem
|
|
9
|
+
|
|
10
|
+
# Dependencies (AIOX)
|
|
11
|
+
node_modules/
|
|
12
|
+
node_modules
|
|
13
|
+
|
|
14
|
+
# Build & Logs (AIOX)
|
|
15
|
+
dist/
|
|
16
|
+
build/
|
|
17
|
+
*.log
|
|
18
|
+
logs/
|
|
19
|
+
|
|
20
|
+
# IDE & OS (AIOX)
|
|
21
|
+
.DS_Store
|
|
22
|
+
Thumbs.db
|
|
23
|
+
.idea/
|
|
24
|
+
*.swp
|
|
25
|
+
|
|
26
|
+
# AIOX Local (AIOX)
|
|
27
|
+
.aiox-core/local/
|
|
28
|
+
.claude/settings.local.json
|
|
29
|
+
.aiox/install-log.txt
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Oryon Knowledge Base — Índice de Dossiers
|
|
2
|
+
|
|
3
|
+
> Base de conhecimento interna do Oryon Framework para agências de marketing digital.
|
|
4
|
+
> Todos os dossiers são fontes de referência para os 5 agentes: @research, @plan, @build, @check, @ship.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Funis & Ofertas
|
|
9
|
+
|
|
10
|
+
| Dossier | Conteúdo principal |
|
|
11
|
+
|---------|-------------------|
|
|
12
|
+
| [DOSSIER-LOW-TICKET-INFOPRODUTO](dossiers/DOSSIER-LOW-TICKET-INFOPRODUTO.md) | Funil 7 etapas, upsell, downsell, order bump, escala com IA |
|
|
13
|
+
| [DOSSIER-OFERTAS-LOWTICKET](dossiers/DOSSIER-OFERTAS-LOWTICKET.md) | Estrutura de ofertas R$7–97, precificação, posicionamento |
|
|
14
|
+
| [DOSSIER-OFERTAS-LP](dossiers/DOSSIER-OFERTAS-LP.md) | Landing pages de oferta: VSL, texto longo, híbrida |
|
|
15
|
+
| [DOSSIER-OFERTAS-MINERADAS](dossiers/DOSSIER-OFERTAS-MINERADAS.md) | Ofertas escaladas pesquisadas e analisadas — swipe file |
|
|
16
|
+
| [DOSSIER-QUIZ-FUNNEL](dossiers/DOSSIER-QUIZ-FUNNEL.md) | Quiz funnel: estrutura, ferramentas, segmentação, conversão |
|
|
17
|
+
|
|
18
|
+
## Tráfego Pago
|
|
19
|
+
|
|
20
|
+
| Dossier | Conteúdo principal |
|
|
21
|
+
|---------|-------------------|
|
|
22
|
+
| [DOSSIER-META-ADS-TRAFFIC](dossiers/DOSSIER-META-ADS-TRAFFIC.md) | Meta Ads: campanhas, públicos, criativos, escala, ROAS |
|
|
23
|
+
| [DOSSIER-GOOGLE-ADS](dossiers/DOSSIER-GOOGLE-ADS.md) | Google Ads: Search, Performance Max, remarketing, conversões |
|
|
24
|
+
| [DOSSIER-META-PIXEL-TRACKING](dossiers/DOSSIER-META-PIXEL-TRACKING.md) | Meta Pixel, CAPI, eventos, atribuição, depuração |
|
|
25
|
+
|
|
26
|
+
## Copywriting & Vendas
|
|
27
|
+
|
|
28
|
+
| Dossier | Conteúdo principal |
|
|
29
|
+
|---------|-------------------|
|
|
30
|
+
| [DOSSIER-COPYWRITING-FOUNDATION](dossiers/DOSSIER-COPYWRITING-FOUNDATION.md) | Fundamentos de copy: headline, hook, prova, CTA, estruturas |
|
|
31
|
+
| [DOSSIER-PSICOLOGIA-PERSUASAO](dossiers/DOSSIER-PSICOLOGIA-PERSUASAO.md) | Gatilhos mentais, vieses cognitivos, persuasão ética |
|
|
32
|
+
| [DOSSIER-VENDAS-SCRIPTS](dossiers/DOSSIER-VENDAS-SCRIPTS.md) | Scripts de VSL, video curto, WhatsApp, mensagem de vendas |
|
|
33
|
+
| [DOSSIER-MARKETING-GERAL](dossiers/DOSSIER-MARKETING-GERAL.md) | Estratégia de marketing digital, posicionamento, branding |
|
|
34
|
+
|
|
35
|
+
## IA & Automação
|
|
36
|
+
|
|
37
|
+
| Dossier | Conteúdo principal |
|
|
38
|
+
|---------|-------------------|
|
|
39
|
+
| [DOSSIER-IA-CRIATIVOS-AUTOMACAO](dossiers/DOSSIER-IA-CRIATIVOS-AUTOMACAO.md) | IA para criação de criativos, automação de conteúdo, escala |
|
|
40
|
+
| [DOSSIER-ENTREGAVEIS-IA](dossiers/DOSSIER-ENTREGAVEIS-IA.md) | Criar entregáveis digitais com IA: ebook, mini-curso, template |
|
|
41
|
+
| [DOSSIER-PROMPT-ENGINEERING](dossiers/DOSSIER-PROMPT-ENGINEERING.md) | Prompt engineering avançado para outputs de marketing |
|
|
42
|
+
| [DOSSIER-AGENTES-IA](dossiers/DOSSIER-AGENTES-IA.md) | Agentes de IA: conceitos, uso em agências, automação |
|
|
43
|
+
| [DOSSIER-AI-OPERATING-SYSTEMS](dossiers/DOSSIER-AI-OPERATING-SYSTEMS.md) | Sistemas operacionais de IA, arquiteturas de agentes |
|
|
44
|
+
| [DOSSIER-CHATGPT-FERRAMENTAS](dossiers/DOSSIER-CHATGPT-FERRAMENTAS.md) | ChatGPT e ferramentas de IA para marketing |
|
|
45
|
+
| [DOSSIER-WHATSAPP-CHATBOT](dossiers/DOSSIER-WHATSAPP-CHATBOT.md) | Chatbots WhatsApp para captura, qualificação e vendas |
|
|
46
|
+
|
|
47
|
+
## Outros
|
|
48
|
+
|
|
49
|
+
| Dossier | Conteúdo principal |
|
|
50
|
+
|---------|-------------------|
|
|
51
|
+
| [DOSSIER-CONCURSOS-EDUCACAO](dossiers/DOSSIER-CONCURSOS-EDUCACAO.md) | Nicho de concursos públicos, educação, infoprodutos |
|
|
52
|
+
| [DOSSIER-CLAUDE-CODE-DEV](dossiers/DOSSIER-CLAUDE-CODE-DEV.md) | Claude Code para desenvolvimento de projetos de agência |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Como usar
|
|
57
|
+
|
|
58
|
+
**Os agentes consultam esta base automaticamente:**
|
|
59
|
+
- @research — ao pesquisar mercado e analisar funis concorrentes
|
|
60
|
+
- @plan — ao modelar stack de oferta, funil e copy strategy
|
|
61
|
+
- @build — ao implementar páginas, checkouts e integrações
|
|
62
|
+
- @check — ao revisar via Conclave (benchmarks de conversão)
|
|
63
|
+
- @ship — ao validar entregável final
|
|
64
|
+
|
|
65
|
+
**Busca direta:** use `/oryon:ask 'sua pergunta'` para consultar os dossiers via RAG.
|
|
66
|
+
|
|
67
|
+
**Referência:** dossiers baseados em conhecimento real de campanhas escaladas, cursos e cases documentados.
|