Skip to main content

Lightweight local agent that indexes, retrieves, and wikis the workspace. The crew member who knows where everything is.

Project description

deckhand

The crew member who knows where everything is.


deckhand is a lightweight local agent that indexes, retrieves, and wikis your workspace. File-first (exo-filed). Human-readable. No hidden database.

What it does

  • Indexes every file in your workspace (code, docs, configs)
  • Builds wiki pages that a human can cat — REPOS.md, CONNECTIONS.md, GLOSSARY.md, STATUS.md
  • Searches via BM25 (pure Python, no dependencies)
  • Batches tasks from PLANNER_QUEUE.md, OPEN_QUESTIONS.md, and recent file changes
  • Studies repos off-watch — writes daily observation logs
  • Runs forever in a loop: index → wiki → batch → study → sleep → repeat

Install

pip install deckhand

Use

# Index the workspace and generate wiki
deckhand index /path/to/workspace

# Search for something
deckhand search /path/to/workspace "conservation law"

# Generate just the wiki
deckhand wiki /path/to/workspace

# Collect tasks into a batch
deckhand batch /path/to/workspace

# Run the deckhand loop forever (index → wiki → batch → study → sleep)
deckhand run /path/to/workspace --sleep 300

The wiki output

After indexing, deckhand writes to deckhand-wiki/:

  • REPOS.md — table of every repo, one line each. Health indicators (✅ ok, ⚠️ untested, 🔩 stub, ❌ no-readme)
  • CONNECTIONS.md — cross-reference graph. Which repos reference which.
  • GLOSSARY.md — top 100 terms across the workspace
  • STATUS.md — health summary. Lists repos that need tests, need READMEs, or may be abandoned
  • INDEX.md — machine-readable JSON index
  • BATCH.md — collected tasks from PLANNER_QUEUE + OPEN_QUESTIONS + recent changes
  • logs/YYYY-MM-DD.md — daily study observations

Why exo-filed?

A vector database is opaque. You can't cat it. You can't grep it. You can't diff it in git.

deckhand's index is markdown + JSON. A human can open REPOS.md and understand the fleet in 30 seconds. An agent can read CONNECTIONS.md instead of re-reading 4,000 repos.

When the corpus gets too large for file-based search (>10K files), build the optional vector twin:

from deckhand.vector_twin import VectorTwin  # coming in v0.2

The vector twin is ALWAYS accompanied by its file-twin. You can always fall back to the human-readable version.

The maritime metaphor

On a boat, the deckhand is the crew member who:

  • Knows where every line, every shackle, every tool is stored
  • Prepares tasks for the captain (batches)
  • Maintains the logbook (study logs)
  • Studies charts off-watch (studies repos when idle)
  • Doesn't need to be told what to do — knows the direction of the voyage

The deckhand doesn't replace the captain (the director model). The deckhand makes the captain more efficient by pre-processing the workspace into a form the captain can act on in fewer calls.

License

MIT


Built by SuperInstance. The deckhand knows where everything is.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

si_deckhand-0.1.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

si_deckhand-0.1.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file si_deckhand-0.1.0.tar.gz.

File metadata

  • Download URL: si_deckhand-0.1.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for si_deckhand-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b7deefb2029a78b96010403e1b6cc8629ea416735a173bace49365b6785979a
MD5 93c146df637818b79b71e57ea1fedec5
BLAKE2b-256 0e53bb393fd0d535e02264bba914aed3bb420f2b44b56d680947677b6dcd1037

See more details on using hashes here.

File details

Details for the file si_deckhand-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: si_deckhand-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for si_deckhand-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc871c5c401ac012ee5e18c93fa9e1e0747f14e042fc76b88500c7eade166415
MD5 6e8f4f3b578d8f97699eba5b63da10a1
BLAKE2b-256 c4dbfd0f3c1881fca1af88fcfc46f9191d6f6f833fd6679feecad6cc059769a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page