Cinder is now Tomoshibi (灯火, lamp light). Same Go scraper, same API. New name, cleaner monorepo, easier to find.
If you used Cinder, your old GitHub URL still redirects and your stars carried over. Migration is two lines.
TL;DR for existing users
- Repo:
github.com/Michael-Obele/cinder→github.com/Michael-Obele/tomoshibi(old URL redirects) - npm:
npx tomoshi(npx tomoshibiworks too, same package) - Docker:
michaelobele/tomoshibi-apietc. (old tags still pull for now) - Go module:
github.com/Michael-Obele/tomoshibi - MCP tools:
cinder_*→tomoshi_* - Env:
TOMOSHIBI_API_URL(oldCINDER_API_URLstill read as fallback where it existed)
No breaking API changes. /v1/scrape, /v1/crawl, /v1/search, /v1/map work the same.
Why I renamed it
Cinder was a working name. It stuck for a bit, but it was hard to search and it collided with a lot of other projects. I wanted a name I could own and that says what the tool does.
Tomoshibi means lamp light in Japanese. The job is simple; turn messy, dark HTML into clean markdown your LLM can actually read. Light felt right. tomoshi is the short alias so you type less.
I scored names with a small naming rubric and Tomoshibi came out top at 30/35. Short, memorable, searchable, and the alias works in the terminal.
What actually changed
The rename was also a chance to clean up structure.
Before: separate repos cinder, cinder-tmcp, cinder-sv
Now: one monorepo tomoshibi
| Package | Path | What it is |
|---|---|---|
| api | packages/api |
Go API; Gin + Colly + Chromedp + SearXNG |
| mcp | packages/mcp |
MCP server; 3 tools, tomoshi bin on npm |
| web | packages/web |
Svelte 5 playground for scrape/crawl/search |
Other bits: new lantern banner, unified README, Dockerfiles now build from packages/*, go.mod updated, archived the old cinder-tmcp and cinder-sv repos.
What stayed the same
- One binary, hobby tier RAM. Monolith with embedded Asynq worker.
- Smart mode; static first with Colly, fallback to Chromedp only when needed.
- Readability plus ad block; clean markdown.
- SearXNG search with Brave fallback.
- Self hosted, no per token bill.
Benchmark still holds: scripts/search-bench.py (10 workers/30s) Tomoshibi ~560 req/s p50 11ms on the same box where hosted alternatives were far slower.
Migration (30 seconds)
Docker Compose (recommended):
git clone https://github.com/Michael-Obele/tomoshibi.git && cd tomoshibi
docker compose up -d # api 7431 + mcp 7433 + web 7432 + redis 7434 + searxng 7435
curl http://localhost:7431/health # -> {"status":"ok","service":"tomoshibi"}
MCP config (.vscode/mcp.json or Claude config):
{
"mcpServers": {
"tomoshi": {
"command": "npx",
"args": ["-y", "tomoshi"],
"env": { "TOMOSHIBI_API_URL": "http://localhost:7431" }
}
}
}
Go import:
import "github.com/Michael-Obele/tomoshibi/packages/api/internal/scraper"
Old cinder imports and Docker tags will error clearly and point to the new name. Old GitHub URL redirects so links do not break.
Try it with Docker
Full stack — 1 command:
git clone https://github.com/Michael-Obele/tomoshibi.git && cd tomoshibi
docker compose up -d
-
docker-compose.yml — api
7431+ mcp7433+ web7432+ redis7434+ searxng7435
Docker Hub:
- michaelobele/tomoshibi — all in one
- michaelobele/tomoshibi-api — api only
- michaelobele/tomoshibi-mcp — mcp only
- michaelobele/tomoshibi-web — web only
GHCR (same images):
- ghcr.io/michael-obele/tomoshibi
- ghcr.io/michael-obele/tomoshibi-api
- ghcr.io/michael-obele/tomoshibi-mcp
- ghcr.io/michael-obele/tomoshibi-web
Pull:
docker pull michaelobele/tomoshibi-api:latest
# or
docker pull ghcr.io/michael-obele/tomoshibi-api:latest
Per-service compose:
What is next
Same roadmap; better SPA heuristics, more tests, keep the monolith cheap to run. Name is settled now so I can focus on shipping.
If you starred Cinder, thank you.
Repo: https://github.com/Michael-Obele/tomoshibi
npm: https://www.npmjs.com/package/tomoshi
web: https://tomoshi.svelte-apps.me/
Formerly Cinder. Now Tomoshibi 灯火.
Top comments (0)