TorabaseRequest access

Push code. Docs update.

Torabase reads your codebase and writes your documentation: API references, changelogs, and guides. Every page stays correct on every push. No manual work. No drift.

Free forever for open-source repos.
api/sessions.pygit push
# sessions: create and issue a token
def create_session(email):def create_session(email, ttl_seconds):def create_session(email, ttl_seconds, scope):
token = issue(email)
return token
map diff · 1 entity changedmap diff · config surface changedmap diff · signature changed, 2 pages
docs.acme.com/guides/sessionsdocs.acme.com/changelogdocs.acme.com/api/sessionsdocs.acme.com/guides/sessions
guideSessionsupdated just now
Pass ttl_seconds to set how long a session lives.
changelogWhat changedupdated just now
v2.4Sessions accept a ttl and a scope.
v2.3Session tokens rotate on refresh.
POST /api/sessionsapi referenceupdated just now
Body: email, ttl_seconds, scope.
generated from a3f9e2 · lands as a review you approve

Your docs are already wrong.

You generated docs last quarter. They were good. Then someone renamed a config key, and now your docs confidently describe a setting that doesn't exist.

Your changelog says “various improvements.” Your last real changelog entry is from March. Nobody remembers what shipped since.

You tried an AI docs tool. It wrote nice prose. It also invented an endpoint you don't have. Your support team quoted it to a customer.

The problem isn't writing docs. It's keeping them correct after you write them.

docs.acme.com
GET /api/sessions · returns active sessions
AUTH_TTL · idle session lifetime, seconds
POST /api/tokens/refresh · rotates a token
users.legacy_role · enum: admin | member
commits
3stale sections
7stale sections
12stale sections
0stale sections
torabase

How it works. No magic.

step 1 · connect

Install the GitHub app. Pick your repos. Under a minute, no config files, no CI changes.

select repositories
onacme/orion
onacme/orion-sdk
acme/marketing-site
482 entities found
step 2 · we read the code

Torabase parses your codebase into a map of what your product actually does: every route, every config key, every database table, every error. Not by guessing from comments. By reading the structure.

from fastapi import APIRouter
router = APIRouter()
 
@router.post("/api/sessions")
async def create_session(body: SessionIn):
 
TTL = os.environ[
  "SESSION_TTL_SECONDS"]
 
class User(Base):
  __tablename__ = "users"
 
class InvalidTokenError(AppError):
  status = 401
entities found
routePOST /api/sessions
cfgSESSION_TTL_SECONDS
dbusers
errInvalidTokenError
step 3 · only what changed

New push → we compare the new map against the old one. Renamed a setting? We know, and we know it's breaking. Moved a file without changing behavior? We know that too, and we skip it. Most pushes change nothing customer-visible. Your docs only regenerate when reality changed.

map @ 7c21bd→map @ a3f9e2
AUTH_TTL → SESSION_TTL_SECONDS
renamed · breaking · affects 2 routes
_hash_password moved to utils/
internal refactor · no customer impact
skipped

There's no AI in the analysis. The map is built by parsing, not prompting. It can't hallucinate your API.

One engine. Every document your product needs.

commit a3f9e2
API reference
1 page updated
Changelog
1 new entry
Guides
no change1 page updated
Internal docs
2 notes synced

API reference

Every endpoint, parameter, and response, extracted from the code, not transcribed from memory. Updates the moment a signature changes.

POST/api/sessions
ttl_seconds · integer · optional
defaults to SESSION_TTL_SECONDS
201 → { id, expires_at }

Changelog

Written automatically from what actually changed. Breaking changes flagged. Versions grouped. The changelog nobody on your team has to remember to write.

v2.4.0
breaking · SESSION_TTL renamed
added · POST /api/exports
fixed · rate limit off-by-one

User guides and manuals

Setup guides, configuration references, and how-tos generated from your real config surface and kept in sync with it. Edit any section by hand and the engine steps back: your prose stays yours, it never overwrites what you wrote.

keydefaultSESSION_TTL_SECONDS3600MAX_EXPORT_ROWS50000

Internal docs

Architecture notes, module maps, and onboarding docs for your own team. Living in your workspace, never published, always current. A new engineer reads docs that match the code they're about to touch.

orion/
├ api/ · 38 routes
├ auth/ · 6 modules
└ workers/ · 4 queues
last synced: 2 min ago

External docs for your users. Internal docs for your team. One codebase in, every document out. All of them update on push.

You stay in control: every generated change lands as a review, like a pull request. Approve it, edit it, or reject it. Mark any section as hands-off and the engine never touches it.

Connecting takes two clicks.

Install the GitHub app
Pick your repos
The first pass runs on its own
reading the repobuilding the mapdrafting pagesdocs ready for review
then every push updates in seconds

No YAML. No CI pipeline. No “docs-as-code workflow migration.” The first full pass takes a few minutes on a large repo. After that, only what changed gets rewritten, and it lands within seconds of a push.

Get early access.

We’re onboarding a small group of teams first. Leave your details and we’ll reach out when it’s your turn. Open-source projects skip the line.

What’s your role?