|
ce0374a…
|
lmata
|
1 |
# Installation |
|
ce0374a…
|
lmata
|
2 |
|
|
ce0374a…
|
lmata
|
3 |
## Requirements |
|
ce0374a…
|
lmata
|
4 |
|
|
ce0374a…
|
lmata
|
5 |
- Python **3.12 or later** — required by `falkordblite`, the embedded SQLite backend |
|
ce0374a…
|
lmata
|
6 |
- pip 23+ |
|
ce0374a…
|
lmata
|
7 |
|
|
ce0374a…
|
lmata
|
8 |
## Install |
|
ce0374a…
|
lmata
|
9 |
|
|
ce0374a…
|
lmata
|
10 |
```bash |
|
ce0374a…
|
lmata
|
11 |
pip install navegador |
|
ce0374a…
|
lmata
|
12 |
``` |
|
ce0374a…
|
lmata
|
13 |
|
|
ce0374a…
|
lmata
|
14 |
This installs the core package with the SQLite backend (`falkordblite`) included. No external services are required for local use. |
|
ce0374a…
|
lmata
|
15 |
|
|
ce0374a…
|
lmata
|
16 |
## Optional extras |
|
ce0374a…
|
lmata
|
17 |
|
|
ce0374a…
|
lmata
|
18 |
=== "[sqlite]" |
|
ce0374a…
|
lmata
|
19 |
|
|
ce0374a…
|
lmata
|
20 |
The default. `falkordblite` is bundled and requires no configuration. This is what `pip install navegador` already gives you. |
|
ce0374a…
|
lmata
|
21 |
|
|
ce0374a…
|
lmata
|
22 |
```bash |
|
ce0374a…
|
lmata
|
23 |
pip install "navegador[sqlite]" # explicit, same as above |
|
ce0374a…
|
lmata
|
24 |
``` |
|
ce0374a…
|
lmata
|
25 |
|
|
ce0374a…
|
lmata
|
26 |
!!! note |
|
ce0374a…
|
lmata
|
27 |
`falkordblite` requires Python 3.12+. Its embedded SQLite graph engine uses features not available in earlier Python versions. |
|
ce0374a…
|
lmata
|
28 |
|
|
ce0374a…
|
lmata
|
29 |
=== "[redis]" |
|
ce0374a…
|
lmata
|
30 |
|
|
ce0374a…
|
lmata
|
31 |
For production deployments backed by a Redis instance running FalkorDB. |
|
ce0374a…
|
lmata
|
32 |
|
|
ce0374a…
|
lmata
|
33 |
```bash |
|
ce0374a…
|
lmata
|
34 |
pip install "navegador[redis]" |
|
ce0374a…
|
lmata
|
35 |
``` |
|
ce0374a…
|
lmata
|
36 |
|
|
ce0374a…
|
lmata
|
37 |
Then point navegador at your Redis instance: |
|
ce0374a…
|
lmata
|
38 |
|
|
ce0374a…
|
lmata
|
39 |
```bash |
|
ce0374a…
|
lmata
|
40 |
export NAVEGADOR_DB=redis://localhost:6379 |
|
ce0374a…
|
lmata
|
41 |
navegador ingest ./repo |
|
ce0374a…
|
lmata
|
42 |
``` |
|
ce0374a…
|
lmata
|
43 |
|
|
ce0374a…
|
lmata
|
44 |
See [Configuration](configuration.md) for full Redis setup details. |
|
ce0374a…
|
lmata
|
45 |
|
|
89816aa…
|
lmata
|
46 |
=== "[languages]" |
|
89816aa…
|
lmata
|
47 |
|
|
89816aa…
|
lmata
|
48 |
Additional tree-sitter grammars for Kotlin, C#, PHP, Ruby, Swift, C, and C++. The default install includes Python, TypeScript, JavaScript, Go, Rust, and Java. |
|
89816aa…
|
lmata
|
49 |
|
|
89816aa…
|
lmata
|
50 |
```bash |
|
89816aa…
|
lmata
|
51 |
pip install "navegador[languages]" |
|
89816aa…
|
lmata
|
52 |
``` |
|
89816aa…
|
lmata
|
53 |
|
|
89816aa…
|
lmata
|
54 |
After installing, all 13 languages are parsed automatically by `navegador ingest`. No additional configuration is required. |
|
89816aa…
|
lmata
|
55 |
|
|
dcf17e9…
|
lmata
|
56 |
=== "[iac]" |
|
dcf17e9…
|
lmata
|
57 |
|
|
dcf17e9…
|
lmata
|
58 |
Infrastructure-as-Code parsers for HCL/Terraform, Puppet, Bash/Shell, Ansible, and Chef. |
|
dcf17e9…
|
lmata
|
59 |
|
|
dcf17e9…
|
lmata
|
60 |
```bash |
|
dcf17e9…
|
lmata
|
61 |
pip install "navegador[iac]" |
|
dcf17e9…
|
lmata
|
62 |
``` |
|
dcf17e9…
|
lmata
|
63 |
|
|
dcf17e9…
|
lmata
|
64 |
After installing, `.tf`, `.hcl`, `.pp`, `.sh`, `.bash`, and `.zsh` files are parsed automatically. Ansible YAML files are detected heuristically by directory structure. Chef cookbooks are enriched via the Chef enricher on top of the Ruby parser. |
|
dcf17e9…
|
lmata
|
65 |
|
|
89816aa…
|
lmata
|
66 |
=== "[llm]" |
|
89816aa…
|
lmata
|
67 |
|
|
89816aa…
|
lmata
|
68 |
LLM provider integrations for Anthropic, OpenAI, and Ollama. Required for `navegador ask`, `navegador docs`, and `navegador semantic-search`. |
|
89816aa…
|
lmata
|
69 |
|
|
89816aa…
|
lmata
|
70 |
```bash |
|
89816aa…
|
lmata
|
71 |
pip install "navegador[llm]" |
|
89816aa…
|
lmata
|
72 |
``` |
|
89816aa…
|
lmata
|
73 |
|
|
89816aa…
|
lmata
|
74 |
Configure the provider in `.navegador/config.toml` or via environment variables. See [Configuration](configuration.md) for details. |
|
89816aa…
|
lmata
|
75 |
|
|
89816aa…
|
lmata
|
76 |
=== "all extras" |
|
89816aa…
|
lmata
|
77 |
|
|
89816aa…
|
lmata
|
78 |
Install everything at once: |
|
89816aa…
|
lmata
|
79 |
|
|
89816aa…
|
lmata
|
80 |
```bash |
|
dcf17e9…
|
lmata
|
81 |
pip install "navegador[sqlite,redis,languages,iac,llm]" |
|
89816aa…
|
lmata
|
82 |
``` |
|
89816aa…
|
lmata
|
83 |
|
|
ce0374a…
|
lmata
|
84 |
## Verify |
|
ce0374a…
|
lmata
|
85 |
|
|
ce0374a…
|
lmata
|
86 |
```bash |
|
ce0374a…
|
lmata
|
87 |
navegador --version |
|
ce0374a…
|
lmata
|
88 |
``` |
|
ce0374a…
|
lmata
|
89 |
|
|
ce0374a…
|
lmata
|
90 |
Expected output: |
|
ce0374a…
|
lmata
|
91 |
|
|
ce0374a…
|
lmata
|
92 |
``` |
|
dcf17e9…
|
lmata
|
93 |
navegador, version 0.8.0 |
|
89816aa…
|
lmata
|
94 |
``` |
|
89816aa…
|
lmata
|
95 |
|
|
89816aa…
|
lmata
|
96 |
## Shell completions |
|
89816aa…
|
lmata
|
97 |
|
|
89816aa…
|
lmata
|
98 |
Install shell completions for tab-completion of commands and flags: |
|
89816aa…
|
lmata
|
99 |
|
|
89816aa…
|
lmata
|
100 |
```bash |
|
89816aa…
|
lmata
|
101 |
navegador completions bash >> ~/.bashrc |
|
89816aa…
|
lmata
|
102 |
navegador completions zsh >> ~/.zshrc |
|
89816aa…
|
lmata
|
103 |
navegador completions fish > ~/.config/fish/completions/navegador.fish |
|
89816aa…
|
lmata
|
104 |
``` |
|
89816aa…
|
lmata
|
105 |
|
|
89816aa…
|
lmata
|
106 |
## Python SDK |
|
89816aa…
|
lmata
|
107 |
|
|
89816aa…
|
lmata
|
108 |
The Python SDK wraps all CLI functionality in a single `Navegador` class: |
|
89816aa…
|
lmata
|
109 |
|
|
89816aa…
|
lmata
|
110 |
```python |
|
89816aa…
|
lmata
|
111 |
from navegador import Navegador |
|
89816aa…
|
lmata
|
112 |
|
|
89816aa…
|
lmata
|
113 |
nav = Navegador(".navegador/navegador.db") |
|
89816aa…
|
lmata
|
114 |
nav.ingest("./src") |
|
89816aa…
|
lmata
|
115 |
bundle = nav.explain("AuthService") |
|
89816aa…
|
lmata
|
116 |
print(bundle.to_markdown()) |
|
ce0374a…
|
lmata
|
117 |
``` |
|
89816aa…
|
lmata
|
118 |
|
|
89816aa…
|
lmata
|
119 |
The SDK is included in the base install — no extra is required. |
|
ce0374a…
|
lmata
|
120 |
|
|
ce0374a…
|
lmata
|
121 |
## Development install |
|
ce0374a…
|
lmata
|
122 |
|
|
ce0374a…
|
lmata
|
123 |
```bash |
|
ce0374a…
|
lmata
|
124 |
git clone https://github.com/ConflictHQ/navegador |
|
ce0374a…
|
lmata
|
125 |
cd navegador |
|
89816aa…
|
lmata
|
126 |
pip install -e ".[sqlite,redis,languages,llm,dev]" |
|
ce0374a…
|
lmata
|
127 |
``` |
|
ce0374a…
|
lmata
|
128 |
|
|
ce0374a…
|
lmata
|
129 |
## Upgrading |
|
ce0374a…
|
lmata
|
130 |
|
|
ce0374a…
|
lmata
|
131 |
```bash |
|
ce0374a…
|
lmata
|
132 |
pip install --upgrade navegador |
|
ce0374a…
|
lmata
|
133 |
``` |
|
ce0374a…
|
lmata
|
134 |
|
|
89816aa…
|
lmata
|
135 |
After upgrading, run schema migrations first, then re-ingest to pick up new parser features: |
|
5e4b8e4…
|
anonymous
|
136 |
|
|
ce0374a…
|
lmata
|
137 |
```bash |
|
89816aa…
|
lmata
|
138 |
navegador migrate # apply any schema changes from the new version |
|
89816aa…
|
lmata
|
139 |
navegador ingest ./repo # re-ingest with incremental updates (preferred) |
|
89816aa…
|
lmata
|
140 |
navegador ingest ./repo --clear # full rebuild if you prefer a clean slate |
|
ce0374a…
|
lmata
|
141 |
``` |