geshtu.io/cloud — managed hosting, oauth, email digests  ·  join the waitlist →
documentation

Read the source.
It's the docs.

Docs live in the GitHub repo, where they belong, alongside the code they describe. The links below are the well-trodden paths. For everything else, browse the repo.

five-minute install

Quick start.

Postgres, Redis, the API, the worker, the MCP server, and the admin UI come up in one compose. Bootstrap prints your admin token. Paste into your AI client config. Done.

git clone https://github.com/crowditory/geshtu
cd geshtu
cp .env.example .env
# edit .env, set ANTHROPIC_API_KEY
docker compose up -d
docker compose exec api python -m geshtu.bootstrap \
  --team "My Team" \
  --admin-email "me@example.com" \
  --admin-name "Me"
mcp surface

Six tools. No more.

The whole MCP API. Stable across releases — additions only, never breaking changes within a major version.

geshtu_search(project, query, k=10)

Hybrid vector + keyword search over the project's active facts and decisions. Use before answering anything substantive.

geshtu_decisions(project, limit=10, since?)

Recent decisions with rationale and authorship. Cite by date when surfacing.

geshtu_digest(project, since?, depth='standard')

Async digest at three depths — quick / standard / deep. Cached for an hour.

geshtu_log_decision(project, decision, rationale)

Capture an explicit choice. Always log before moving on. Rationale is required.

geshtu_log_fact(project, statement, entity?, attribute?)

Pin an explicit fact ("remember that…", "note that…"). Dedup runs server-side.

geshtu_close_session(summary, open_questions?, next_actions?)

End a session with a markdown summary. Seeds the next teammate's digest.

get involved

Issues, PRs, ideas — welcome.

BDFL through year one. Office hours every other Tuesday on Discord. No new maintainers in year one — earned, not handed.