Skip to main content

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.

Metadata

Release files for si-deckhand 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for si-deckhand 0.1.0
File Size Uploaded Provenance Actions
si_deckhand-0.1.0.tar.gz 15.7 kB Without provenance Details for si_deckhand-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for si-deckhand 0.1.0
File Interpreter ABI Platform Actions
si_deckhand-0.1.0-py3-none-any.whl Python 3 none any Details for si_deckhand-0.1.0-py3-none-any.whl

Total release size: 30.8 kB

Release files / si_deckhand-0.1.0.tar.gz

Download URL si_deckhand-0.1.0.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1b7deefb2029a78b96010403e1b6cc8629ea416735a173bace49365b6785979a
BLAKE2b-256 checksum
How to use checksums
0e53bb393fd0d535e02264bba914aed3bb420f2b44b56d680947677b6dcd1037
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / si_deckhand-0.1.0-py3-none-any.whl

Download URL si_deckhand-0.1.0-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc871c5c401ac012ee5e18c93fa9e1e0747f14e042fc76b88500c7eade166415
BLAKE2b-256 checksum
How to use checksums
c4dbfd0f3c1881fca1af88fcfc46f9191d6f6f833fd6679feecad6cc059769a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Security for si-deckhand 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page