rekipedia 0.12.0 → 0.14.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/README.md +68 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,6 +60,40 @@ brew install rekipedia
|
|
|
60
60
|
|
|
61
61
|
---
|
|
62
62
|
|
|
63
|
+
## Python API
|
|
64
|
+
|
|
65
|
+
Use rekipedia programmatically inside Jupyter notebooks, CI pipelines, or any Python application:
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
import rekipedia
|
|
69
|
+
|
|
70
|
+
# Scan a local repo
|
|
71
|
+
result = rekipedia.scan("/path/to/repo")
|
|
72
|
+
print(result.page_count) # number of wiki pages generated
|
|
73
|
+
print(result.symbol_count) # number of code symbols extracted
|
|
74
|
+
print(result.token_count) # estimated token count of the wiki
|
|
75
|
+
|
|
76
|
+
# Ask a question — grounded answer with file:line citations
|
|
77
|
+
answer = rekipedia.ask("/path/to/repo", "How does the auth flow work?")
|
|
78
|
+
print(answer.text)
|
|
79
|
+
for citation in answer.citations:
|
|
80
|
+
print(f" {citation.file}:{citation.line}")
|
|
81
|
+
|
|
82
|
+
# Async variants (Jupyter-friendly)
|
|
83
|
+
result = await rekipedia.scan_async("/path/to/repo")
|
|
84
|
+
answer = await rekipedia.ask_async("/path/to/repo", "What is the entry point?")
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Return types:**
|
|
88
|
+
|
|
89
|
+
| Type | Key fields |
|
|
90
|
+
|---|---|
|
|
91
|
+
| `ScanResult` | `page_count`, `symbol_count`, `token_count`, `wiki_pages`, `db_path`, `wiki_dir` |
|
|
92
|
+
| `AskResult` | `text`, `citations: list[Citation]`, `model_used` |
|
|
93
|
+
| `Citation` | `file`, `line`, `snippet` |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
63
97
|
## Commands
|
|
64
98
|
|
|
65
99
|
| Command | Description |
|
|
@@ -129,6 +163,9 @@ export REKIPEDIA_SHARD_TOKEN_BUDGET=40000
|
|
|
129
163
|
| `REKIPEDIA_API_KEY` | API key for the LLM provider |
|
|
130
164
|
| `REKIPEDIA_BASE_URL` | Base URL for OpenAI-compatible endpoints |
|
|
131
165
|
| `REKIPEDIA_SHARD_TOKEN_BUDGET` | Max tokens per shard group (default: 40000) |
|
|
166
|
+
| `REKIPEDIA_AGENT_ASK` | Set to `1` to enable agentic ReAct ask loop (default: `0` — single-shot) |
|
|
167
|
+
| `REKIPEDIA_ASK_MAX_ITER` | Max tool-call iterations for agentic ask (default: `5`) |
|
|
168
|
+
| `REKIPEDIA_AGENT_PLANNER` | Set to `1` to enable tool-calling wiki planner (default: `0`) |
|
|
132
169
|
|
|
133
170
|
---
|
|
134
171
|
|
|
@@ -295,6 +332,37 @@ rekipedia ships a **Hermes agent skill** (`rekipedia-agent-skill.md`) that teach
|
|
|
295
332
|
|
|
296
333
|
---
|
|
297
334
|
|
|
335
|
+
## Agentic Mode
|
|
336
|
+
|
|
337
|
+
rekipedia supports an experimental agentic mode where LLM calls use tool-calling (ReAct) instead of single large context dumps.
|
|
338
|
+
|
|
339
|
+
### Agentic Ask
|
|
340
|
+
|
|
341
|
+
Set `REKIPEDIA_AGENT_ASK=1` to enable:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
REKIPEDIA_AGENT_ASK=1 reki ask "How does authentication work?"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
The LLM issues tool calls to retrieve information on demand:
|
|
348
|
+
- `search_code(query)` — semantic search over source code
|
|
349
|
+
- `get_symbol(name)` — look up symbol location and signature
|
|
350
|
+
- `get_page(slug)` — fetch a wiki page on demand
|
|
351
|
+
- `get_relationships(target)` — dependency graph for a symbol/file
|
|
352
|
+
- `finish(answer)` — provide final answer
|
|
353
|
+
|
|
354
|
+
Max iterations can be configured with `REKIPEDIA_ASK_MAX_ITER` (default: 5).
|
|
355
|
+
|
|
356
|
+
### Agentic Planner
|
|
357
|
+
|
|
358
|
+
Set `REKIPEDIA_AGENT_PLANNER=1` to enable tool-calling wiki structure planning:
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
REKIPEDIA_AGENT_PLANNER=1 reki scan .
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
The planner builds the wiki structure incrementally using tool calls instead of generating a single large JSON response.
|
|
365
|
+
|
|
298
366
|
## Development
|
|
299
367
|
|
|
300
368
|
```bash
|
package/package.json
CHANGED