1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Agent Hooks
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Agent hooks keep the navegador graph in sync as AI coding agents work. Without hooks, the graph goes stale the moment an agent edits a file. With hooks, the graph is re-ingested automatically after every file write, and architectural decisions in `DECISIONS.md` are synced into the knowledge layer.
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Why hooks
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A stale graph gives wrong answers. If an agent adds a new function and then asks `navegador function` about a caller, the graph needs to reflect the edit. Hooks solve this by triggering `navegador ingest` on the modified files immediately after the agent writes them.
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Hooks also enforce the habit: every agent session starts with the graph as ground truth, not a stale snapshot.
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Claude Code
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Install
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The hook file lives at `.claude/hooks/claude-hook.py`. Bootstrap installs it automatically:
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
./bootstrap.sh --repo owner/repo --agent claude
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
To install manually, copy `hooks/claude-hook.py` from the navegador repo into your project's `.claude/hooks/` directory.
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### settings.json config
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
In your project's `.claude/settings.json`, register the hook:
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"hooks": {
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"PostToolUse": [
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"matcher": "Write|Edit|MultiEdit",
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"hooks": [
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "command",
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"command": "python .claude/hooks/claude-hook.py"
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
]
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
]
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### What the hook does
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
On every `Write`, `Edit`, or `MultiEdit` tool call:
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1. Reads the list of modified file paths from the tool result
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2. Runs `navegador ingest` scoped to those files (fast incremental update)
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3. Checks for changes to `DECISIONS.md` — if found, syncs any new ADR entries into the graph as `Decision` nodes
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4. Logs a one-line summary to stderr (visible in Claude's tool output)
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Gemini CLI
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Install
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The hook file lives at `.gemini/hooks/gemini-hook.py`. Bootstrap installs it automatically:
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
./bootstrap.sh --repo owner/repo --agent gemini
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
To install manually, copy `hooks/gemini-hook.py` from the navegador repo into your project's `.gemini/hooks/` directory.
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### GEMINI.md config
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Add to your project's `GEMINI.md`:
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```markdown
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Tool Hooks
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
After writing or editing any source file, run:
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
python .gemini/hooks/gemini-hook.py <file_path>
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
This keeps the navegador knowledge graph in sync. The graph is your source of truth for code structure and project decisions.
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The Gemini CLI does not have a declarative hook registry like Claude. The `GEMINI.md` instruction tells the model to call the hook script explicitly as a tool after file writes.
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## OpenAI
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OpenAI agents use a dispatcher script and a tool definition JSON file.
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Install
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
./bootstrap.sh --repo owner/repo --agent openai
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
This places:
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- `openai-hook.py` — dispatcher script
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- `openai-tools.json` — tool schema for the OpenAI function-calling API
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### openai-tools.json
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The tool schema exposes navegador commands as callable functions:
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
[
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "function",
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"function": {
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"name": "navegador_explain",
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"description": "Look up any code or knowledge node by name",
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"parameters": {
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "object",
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"properties": {
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"name": { "type": "string", "description": "Node name to explain" },
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"file": { "type": "string", "description": "Optional file path to disambiguate" }
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"required": ["name"]
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "function",
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"function": {
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"name": "navegador_ingest",
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"description": "Re-ingest a file or directory into the knowledge graph",
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"parameters": {
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "object",
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"properties": {
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"path": { "type": "string", "description": "File or directory path to ingest" }
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"required": ["path"]
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
]
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Dispatcher script
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
`openai-hook.py` receives function call JSON on stdin and dispatches to `navegador` CLI commands:
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```python
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# openai-hook.py dispatches tool calls to the navegador CLI
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# usage: echo '{"name": "navegador_explain", "arguments": {"name": "AuthService"}}' | python openai-hook.py
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Register `openai-tools.json` in your OpenAI assistant configuration and point function call handling at `openai-hook.py`.
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## NAVEGADOR.md template
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Drop a `NAVEGADOR.md` in your project root so agents know the graph exists and how to use it. Example template:
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```markdown
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Navegador Knowledge Graph
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
This project has a navegador knowledge graph at `.navegador/navegador.db`.
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Before editing code
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Run the relevant context command first:
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador context <file> # full file context
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador function <name> # function + call graph
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador class <name> # class + hierarchy
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador explain <name> # anything by name
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Before adding new patterns
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Check if a concept or rule already exists:
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador search "<topic>" --all
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador domain <domain-name>
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## After editing code
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The agent hook re-ingests automatically. If you disabled hooks, run:
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
navegador ingest ./src --clear
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Key domains
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Payments** — payment processing, billing, idempotency rules
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Auth** — authentication, session management, permissions
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- **Infrastructure** — deployment, database, caching decisions
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Bootstrap reference
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
./bootstrap.sh [options]
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Option | Description |
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--repo owner/repo` | GitHub repo to clone and ingest |
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--wiki` | Also ingest the GitHub wiki |
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--agent claude` | Install Claude Code hook + settings.json config |
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--agent gemini` | Install Gemini CLI hook + GEMINI.md instruction |
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--agent openai` | Install openai-hook.py + openai-tools.json |
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `--db <path>` | Custom database path (default: `.navegador/navegador.db`) |
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!