Understand your database as a map — built for the AI-coding era.
Project description
shirube
AI writes the SQL.
You still own the schema.
標べ — a signpost for reading a database as a map.
🚧 Status: Beta. Both halves are here now — the explorer core and the AI navigator that shirube is ultimately built around. shirube is pre-1.0: things may still change.
See the whole database as a map.
🤖 Why shirube
You write less SQL by hand than you used to — an AI writes much of it for you. But that SQL still runs against your schema, and someone still has to understand that schema: to prompt the AI well, to check what it gave back, to reason about where the data actually lives. That understanding used to come for free while you wrote the queries yourself. It doesn't any more.
shirube is where that understanding lives — and it's just as useful in the classic case, dropping into a project with hundreds of undocumented tables and needing to find your footing fast.
AI changed how we write SQL. shirube changes how we understand databases.
🧭 What shirube does
shirube turns a database into a map you can read. It opens on an interactive ER diagram and gives you two ways to find your footing: steer it yourself — search for a table, focus on it, follow its relationships outward — or just ask, and the AI navigator answers on the map. Either way you see how everything connects without reading DDL or writing a single query.
It is not another SQL IDE or database administration console — there is no query editor, and nothing that ever writes. shirube is a tool for understanding a database.
✨ Features
Everything below works today, in the beta:
- 🔮 AI navigator — ask in plain language and get an answer on the map, lighting up the tables involved. Bring your own Claude or OpenAI key, or point it at a local model.
- 🗺️ ER diagram home — auto-generated and centred on the most-connected table; see a table and its immediate neighbours, and travel outward one hop at a time.
- 📋 Table detail — columns with their types, primary keys and nullability, plus relationships split into references and referenced by.
- 🔗 Relationship navigation — click a related table to glide the map over to it.
- 👁️ Data preview — read a table or view's actual rows in a drawer, with click-to-sort columns, simple filters and paging.
- ⚡ Instant search — jump straight to any table or column.
- 🔐 Saved connections — passwords kept in your operating system's keychain, never in a config file.
- 🌗 Light and dark themes.
🔮 The AI navigator
Ask in plain language and get your answer on the map: the navigator reads your schema metadata to guide you and lights up the tables involved, with every object name a link that flies the map to it. It is a navigator, not a SQL generator — it never writes or runs a query.
Use your own Claude or OpenAI key, or a local model such as Ollama. The request goes straight from your machine to the model you chose — no shirube server in between, only question-relevant schema metadata leaves, and a local model sends nothing off your machine at all. The navigator is entirely optional; the explorer works fully without it.
🛡️ Safe by design
- 🔒 Read-only — every connection is opened read-only with a statement timeout. shirube cannot modify your database — no writes, no schema changes, ever.
- 💻 Local-first — it runs on your machine and binds to
127.0.0.1only. Your database credentials and data never leave your computer. - 📝 Metadata-only logging — the local log records errors and request timings, but never the values in your data.
- 🤖 Your data, your provider — the AI navigator talks straight from your machine to the model you chose; only question-relevant schema metadata is sent, and a local model sends nothing off your machine at all.
🚀 Getting started
You'll need a PostgreSQL database to point shirube at, and a way to run a Python application without installing it permanently.
pipx run shirube # with pipx
# or
uvx shirube # with uv
Either command starts a small local server and opens shirube in your browser. Add a connection with your PostgreSQL details, and shirube inspects the schema and opens the ER diagram.
💡 shirube connects with whatever credentials you give it. A read-only role with
CONNECTandSELECTis all it needs — and all it should have.
🔮 To use the AI navigator, add a provider in Settings → AI navigator — your own Claude or OpenAI key, or a local model. It's optional; the explorer works fully without it.
📚 Learn more
- Full README and roadmap — https://github.com/shou-taro/shirube
- Contributing — https://github.com/shou-taro/shirube/blob/main/CONTRIBUTING.md
- Licence — GNU AGPL-3.0
Project details
Release history Release notifications | RSS feed
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 shirube-0.2.0b1.tar.gz.
File metadata
- Download URL: shirube-0.2.0b1.tar.gz
- Upload date:
- Size: 310.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ea4d825cb0310f070a28622d9f4df11f5102538f428b2d3418dbaf4435f6ee8
|
|
| MD5 |
fa11e31721c51c3a254ea9ae15e1a4bb
|
|
| BLAKE2b-256 |
009bcd0c85a7a88ec0b2dcee4d90d063489d8a277e1898eddfb6fa4480fa09be
|
File details
Details for the file shirube-0.2.0b1-py3-none-any.whl.
File metadata
- Download URL: shirube-0.2.0b1-py3-none-any.whl
- Upload date:
- Size: 335.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc1e99c9718d2ed602a2e22cc382f02ccbb5de0a1a00372d9e9e2f4bc4a5c103
|
|
| MD5 |
5c3e64a728473afd06d8a049a708ea82
|
|
| BLAKE2b-256 |
c0d93781f22cb9a43ef2f0134c4156017ed7fc232405b5069b5dddf464c9324e
|