Scubiee
Local Context Engine: Merkle sync → Graphify AST → mix compress → CodeRankEmbed (FastEmbed) → TurboQuant/FAISS → Conductor R_plan
Install (no git clone)
Requires Python 3.10+. One line installs the package and configures GPU/CPU + Cursor MCP.
pip
pip install scubiee && ctx setup
npm (installs the same Python package, then runs ctx setup)
npm install -g scubiee
Then ctx init <repo> for each codebase, and reload MCP in Cursor (Settings → MCP → refresh).
ctx setup picks CUDA (NVIDIA), DirectML (Windows AMD/Intel), CoreML (macOS Metal/ANE), or CPU.
From a git checkout (contributors only): pip install -e . then ctx setup.
Use
Inside the engine process there are three managers only:
| Manager | Role |
|---|---|
| RuntimeManager | Workspace lifecycle, publish search generation after sync, serve queries |
| IndexManager | Merkle probe, full index, incremental sync |
| ResourceManager | CPU/RAM admission and embed batching |
A tiny watchdog sidecar (not a manager) polls /health and restarts the daemon if it crashes. Disable: CTX_WATCHDOG=0.
Install-and-forget check (isolated port/home):
.\.venv\Scripts\python.exe -u scripts\sim_install_forget.py
Use
In Cursor: call MCP tools after reload.
CLI (optional):
ctx index .
ctx search "login validate"
ctx sync .
ctx status .
Or: python -m pipeline index .
Default pre-embed compression is mix with a 512-char cap (locked). Opt out: CTX_COMPRESS=off.
Resource management
Indexing and embedding go through a Resource Manager that samples CPU/RAM and adapts throughput:
| Pressure | Behavior |
|---|---|
| idle | Larger embed batches |
| normal | Baseline (from accel profile) |
| busy | Smaller batches + pauses |
| critical | Background sync deferred; embeds crawl |
ctx resources # live pressure + hardware
ctx resources --refresh # re-detect CPU/RAM/GPU/libs
ctx init # also writes hardware.json + picks fastest ORT backend
Disable: CTX_RM_DISABLE=1. Tune: CTX_RM_MAX_CPU, CTX_RM_CRITICAL_CPU, CTX_RM_MIN_FREE_RAM_MB.
Cursor MCP
After install, MCP tools talk to the local Context Engine service (CTX_ENGINE_URL, default http://127.0.0.1:8765). The MCP process auto-starts that service if needed.
Tools: search_code, locate_capability, grep_code, file_outline, status, sync_index, set_repo, register_project.
Dashboard (optional): http://127.0.0.1:8765/dashboard
Advanced (usually unnecessary):
ctx engine status
ctx engine stop
ctx engine run . # foreground service
ctx engine start also starts the watchdog sidecar. Logs: ~/.context-engine/watchdog.log.
Registration modes (dashboard or CLI):
| Mode | Trigger |
|---|---|
| Automatic (default) | IDE/MCP open registers the project once, then incremental indexing |
| MCP / CLI | No auto-init; first tool call returns a consent prompt; use register_project (optional always_allow) or ctx register |
ctx settings --mode automatic
ctx settings --mode mcp_cli
ctx register . --always-allow --fast
ctx serve . # open http://127.0.0.1:8765/dashboard
On open (automatic): resolves a stable project id, indexes if needed (CTX_AUTO_INDEX=1), then keeps the index fresh every 5 minutes (changed files only — graph patch + embed together).
Project data
| Location | Role |
|---|---|
<repo>/.context-engine/id.json |
Tiny identity (project_id). Prefer gitignore. |
~/.context-engine/prefs.json |
Registration mode + indexing prefs |
~/.context-engine/projects/<project_id>/ |
Chunks, graph, merkle, embed cache |
~/.context-engine/registry.json |
Maps project_id ↔ paths, registered, always_allow |
~/.context-engine/vectordb/ |
FAISS + TurboQuant collections |
Path moved → id file recovers the store. Id file deleted → registry path recovers. Both gone → new id + reindex.
Layout
| Path | Role |
|---|---|
packages/pipeline/ |
Index, embed, FAISS+TurboQuant, MCP, sync |
packages/conductor/ |
Retrieval fusion (R_plan, etc.) |
packages/graphify/ |
Bundled AST / graph |
packages/enrich/, metadata/, repo_ir/ |
Chunk enrichment |
scripts/install* |
Setup + MCP install |
tests/ |
Unit / integration tests |
docs/ |
Design notes + ship notes |
See VENDOR.md and docs/compress-mix-shipped.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scubiee-0.2.2.tar.gz.
File metadata
- Download URL: scubiee-0.2.2.tar.gz
- Upload date:
- Size: 891.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81acc31a9c396f0ac71be4947a4803628a64ecb7772bde4bb828eb3d83e8ee28
|
|
| MD5 |
11e0373f41b2235b0b2bb4f60d08ed7f
|
|
| BLAKE2b-256 |
c197e6db7a7b2a5cccdf12160b38b754b1d981efe755e6015e3779d9d78d62bb
|
File details
Details for the file scubiee-0.2.2-py3-none-any.whl.
File metadata
- Download URL: scubiee-0.2.2-py3-none-any.whl
- Upload date:
- Size: 895.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ec813a9902fbf5917e4d7ea9480b35390c74a5d423a08794bc03529da345d3
|
|
| MD5 |
46d20e0d20fa891d600ceab3ed99f69e
|
|
| BLAKE2b-256 |
aeac2378b1cedae061ba773c6a72b4c0aa06dc6fa0c1b304e49b2afd5efbae2e
|