Edition No. 19 · 13 Sep 2026

Twelve repositories for work that runs on its own

A job scheduler with no database, a feed reader that fits in 50 MB, and five projects with fewer than 3,000 stars.

By Genn·12 repositories·14 min read

The web version carries the English / Русский switch. The Russian text is in the file radar-2026-09-13-ru.md, delivered into the chat on the day. This archive stays English only.

Most tools that run jobs on a schedule ask you to install a database first, then a message queue, then a worker. Today's first entry is one file. It keeps what it knows in ordinary files on disk. That is the most interesting true thing in today's twelve, so it is the title.

There is no theme. Twelve repositories, picked on how good they are, spread across seven of the sixteen areas. Five of them have fewer than three thousand stars.

We aim for twelve every day. Some candidates fall out while we check them — those are listed at the end, with the reason.

Two things worth knowing, separate from the recommendations

- A job scheduler with no database is unusual, and it is the reason dagu leads today. Airflow wants PostgreSQL, a message queue and a worker. Temporal wants a cluster. For one person with one server that is more machinery than the jobs it manages. Dagu keeps its state in ordinary files on disk, so installing it is copying one file and removing it is deleting one file. That is worth saying plainly, because the reason scheduled work stays as a list of timed commands on most small servers is not that people prefer it. It is that every alternative asked for a database first. - Five of today's twelve have fewer than three thousand stars, and one has 581. That is the most in one edition since Edition 17. It is also a reminder of what the star count measures, which is how many people have heard of something, not how good it is. Zudoku at 581 stars generates a documentation site your FastAPI project could publish this week. Nothing about that is worse because fewer people have found it.

If you only do three things

  1. dagu (#1) — this weekend, about two hours. Your server runs jobs on a timer. Right now you find out they failed by noticing something missing. Dagu gives you one web page that shows every job, when it last ran, and what it printed. It needs no database, so there is nothing extra to install and nothing extra to back up.
  2. Apprise (#2) — tonight, five minutes, one command. After this, any script you own can send you a message on Telegram, or by email, or to your phone. You write one line of code and change where it goes by changing a piece of text. This is the smallest amount of work on the page for the largest change in what you find out.
  3. ast-grep (#6) — half an hour. You build Grasppy and ScalpingMate with a coding assistant. This lets you tell it exactly which pieces of code to change, by shape, instead of asking it to read the whole project and guess. It is also the fastest way to find every place one pattern appears. ---

A job scheduler that needs no database at all

Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.

4.0k stars · GPL-3.0 · v2.16.4 (2026-09-11) · Track this in Scout

A workflow scheduler shipped as one file that keeps its state in ordinary files, so there is no database, no message queue and no worker to install.

Repo detailsthe review · specs · pros & cons · install

What it is

Dagu is a workflow engine written in Go and shipped as a single file you copy onto a server. You describe each job in a short text file, and each step can be a shell command, a Docker container (a way to run a program inside its own sealed box, so it cannot break anything else on your server), a Kubernetes job, or a command run on another machine over SSH.What it is good for. Anybody running a handful of scheduled tasks on one server. The usual answer to this problem is Airflow or Temporal, and both of those want a database, a message queue and a worker process before they will do anything at all. Dagu keeps its state in ordinary files, so there is nothing extra to install, nothing extra to back up and nothing extra to go wrong at 3am. It also has retries and step-by-step dependencies, which a plain timed command does not. For you: it is the natural partner to Healthchecks (Ed. 15 #8). Healthchecks tells you a job did not run. Dagu is the thing that runs it, and the place you look when it failed.

Stars4.0k
LicenceGPL-3.0
Latestv2.16.4 (2026-09-11)
Good
  • One file, no database, no queue. You can install it and remove it in minutes.
  • The web page shows logs for every run, so you stop reading server log files by hand.
  • Steps can depend on other steps, so a report only runs after the data it needs has arrived.
Watch for
  • You write the job files by hand in YAML, a plain text format that cares about indentation. There is no drag-and-drop screen, so this is harder than it sounds for a non-programmer.
  • The licence is GPL-3.0, and single sign-on, permissions and audit logs sit behind a paid tier. The free part is complete for one person, but the line between free and paid can move.
  • The project changed its owner name from dagu-org to dagucloud. Old guides, old Docker image names and old links all point at the previous name.
Similar repositories
  • jhuckaby/Cronicle

    The same job of running scheduled commands across servers with a web screen, but built on Node.js and organised around single jobs rather than a chain of steps.

    Track this in Scout
  • mcuadros/ofelia

    The same replacement for timed commands, but only for commands inside Docker containers, and with no web page and no chain of steps.

    Track this in Scout
  • kestra-io/kestra

    The same idea of writing workflows as text files, but much heavier: it wants Java, PostgreSQL and Elasticsearch, and it is aimed at data teams rather than one person on one server.

    Track this in Scout
Install
# On the server, as a single file
curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
dagu start-all          # web page on http://localhost:8080
# Or with Docker
docker run --rm -v ~/.dagu:/var/lib/dagu -p 8080:8080 \
  ghcr.io/dagucloud/dagu:latest dagu start-all
Screenshots
dagucloud/dagu: GitHub preview carddagucloud/dagu: Screenshot 1dagucloud/dagu: Screenshot 2dagucloud/dagu: Screenshot 3dagucloud/dagu: Screenshot 4

17.2k stars · BSD-2-Clause · v1.13.1 (2026-08-31) · Track this in Scout

One library that sends the same message to any of more than a hundred services, each written as a short URL-shaped address.

Repo detailsthe review · specs · pros & cons · install

What it is

Apprise is a small Python library and command-line tool. Each destination is written as a short address, like a web address, and Apprise knows how to talk to more than a hundred services behind those addresses.What it is good for. Anybody who runs anything unattended. The usual failure is not that a job breaks, it is that nobody hears about it. Apprise removes every excuse for staying quiet, because adding a message to a script is one line. It is also the piece that stops you writing separate code for email, for chat and for phone alerts. For you: put it at the end of the nightly backup and at the end of the ScalpingMate data pull, and use the same line for both.

Stars17.2k
LicenceBSD-2-Clause
Latestv1.13.1 (2026-08-31)
Good
  • Five minutes to install, one line to use, nothing left running afterwards.
  • More than a hundred services are supported, so you are not locked into one chat app.
  • The licence is BSD-2-Clause, which is about as permissive as licences get. Nothing here restricts what you build.
Watch for
  • It sends and forgets. There is no screen showing what was delivered and no automatic retry, unless you also run the separate Apprise API service.
  • Breadth is also a weakness. With that many services, one of them changing its rules will quietly break your channel, and you wait for the maintainer to fix it.
  • The next major version is a rewrite, so expect a migration. Also, the address contains your secret token, so it is easy to leak it into a log file or your shell history.
Similar repositories
Install
pip install apprise
# Send one test message to a Telegram bot
apprise -vv -t "Backup finished" -b "All good" \
  "tgram://<bot-token>/<chat-id>"
Screenshots
caronc/apprise: GitHub preview card
03

0x2E/fusion

💎 hidden gem

2.1k stars · MIT · v1.2.1 (2026-07-28) · Track this in Scout

A self-hosted RSS and Atom reader that runs as one Go binary in about 50 MB of memory, with a Fever API so existing phone apps can sync against it.

Repo detailsthe review · specs · pros & cons · install

What it is

Fusion is a single Go program with its own small database built in. It reads RSS and Atom feeds, which are the plain machine-readable version of a blog that most sites still publish, and gives you groups, unread counts, bookmarks and full-text search over everything it has collected.What it is good for. Anybody who wants to follow an industry without a social feed deciding the order. It also works as a quiet competitor watch: point it at the blogs of the products you compete with and you see every announcement the day it appears. It speaks the Fever protocol, so existing phone apps such as Reeder and Unread can read from it. The README says plainly that there are no AI features by design. For you: the marketing entries in earlier editions all assumed you were watching what competitors publish. This is the cheapest way to actually do that.

Stars2.1k
LicenceMIT
Latestv1.2.1 (2026-07-28)
Good
  • About 50 MB of memory. It runs on a Raspberry Pi or the smallest box Hetzner sells.
  • One file and one folder. Backing it up means copying one directory.
  • The licence is MIT, and there is no paid tier and no account.
Watch for
  • It is really a one-person tool. Access is one shared password, not real user accounts, so it is not something to share with a team.
  • Small project, largely one maintainer. The release information shown on its own front page was out of date when we checked, which is a small sign that the housekeeping is loose.
  • Self-hosting is still self-hosting. You choose the server, set the password, and own the backups.
Similar repositories
  • miniflux/v2

    The same small, plain feed reader written in Go, more mature and more tested, but it needs a PostgreSQL database beside it.

    Track this in Scout
  • FreshRSS/FreshRSS

    The same job with many more features, including real user accounts and fetching the full text of an article, at the cost of a PHP and MySQL setup.

    Track this in Scout
  • nkanaev/yarr

    The same single-file idea taken further, small enough to sit in your desktop tray, but with a much thinner feature set.

    Track this in Scout
Install
docker run -it -d -p 8080:8080 \
  -v $(pwd)/fusion:/data \
  -e FUSION_PASSWORD="choose-a-real-password" \
  ghcr.io/0x2e/fusion:latest
Screenshots
0x2E/fusion: GitHub preview card0x2E/fusion: Screenshot 10x2E/fusion: Screenshot 2

1.1k stars · AGPL-3.0 · v1.14.3 (2026-08-20) · Track this in Scout

Drives real Chromium browsers to record a page as a viewer actually saw it, writing a standard WACZ archive plus the page text.

Repo detailsthe review · specs · pros & cons · install

What it is

Browsertrix Crawler is one Docker image that drives real Chromium browsers and records everything they load. The result is a WACZ file, a standard archive format you can replay in a viewer, plus a plain text file of everything that was on the pages.What it is good for. Anybody who needs an honest copy of a page rather than a picture of it. Ordinary scrapers read the first thing the server sends, which on a modern site is often an empty shell filled in afterwards by code. This one waits and records what a person would have seen. That matters for competitor pricing pages, for terms and conditions, for regulatory records, and for anything you may need to show somebody in six months. This is the engine behind Webrecorder's own paid service, so it is the real thing rather than a demonstration.

Stars1.1k
LicenceAGPL-3.0
Latestv1.14.3 (2026-08-20)
Good
  • It handles pages that are built by code in the browser, which is where simple scrapers return nothing useful.
  • It runs several browsers at once, with rules for how far to wander from the starting page.
  • It writes plain text alongside the archive, so the result is searchable as well as viewable.
Watch for
  • Memory. Budget one to two gigabytes for each browser you run at the same time, so a small server will stop working on anything ambitious.
  • The licence is AGPL-3.0, the strictest of the common ones. If you build a service on top of it and let other people use it over the internet, you must publish your changes.
  • It gives you an archive and raw text, not neat fields. If you want prices in a spreadsheet, this is not the tool.
Similar repositories
Install
docker pull webrecorder/browsertrix-crawler
docker run -v $PWD/crawls:/crawls/ -it webrecorder/browsertrix-crawler \
  crawl --url https://example.com --generateWACZ --text --collection test
# result: crawls/collections/test/test.wacz
Screenshots
webrecorder/browsertrix-crawler: GitHub preview card
05

kbwo/ccmanager

💎 hidden gem

1.2k stars · MIT · v4.4.3 (2026-09-13) · Track this in Scout

A terminal screen that runs several coding assistants at once, each in its own git worktree, showing which session is busy and which is waiting for an answer.

Repo detailsthe review · specs · pros & cons · install

What it is

ccmanager is a terminal program written in JavaScript. It uses git worktrees, which is git's own way of having several separate working copies of one project on disk at the same time, and it starts one assistant session inside each.What it is good for. Anybody whose day is now mostly reviewing what an assistant wrote. The bottleneck stops being how fast the model types and becomes how many things you can have in flight without losing track. It does not care which assistant you use: Claude Code, Gemini CLI, Codex CLI, Cursor Agent, Copilot CLI, OpenCode and several others all work. It creates, merges and deletes the working copies from inside the app, so you are not typing git commands between tasks. For you: you build Grasppy, ScalpingMate and the channel's tooling with a coding assistant, and those are three separate projects. This is the screen that shows all three at once.

Stars1.2k
LicenceMIT
Latestv4.4.3 (2026-09-13)
Good
  • Each assistant works in its own copy, so two of them cannot overwrite each other.
  • One screen shows which sessions are waiting for you, which is the thing you actually lose track of.
  • It released version 4.4.3 on the morning this edition was written, so it is under active work.
Watch for
  • It assumes you understand git worktrees and are comfortable merging branches. If you are not, this will create confusion rather than remove it.
  • Four assistants running at once cost roughly four times as much as one, and it is easy to leave a session burning money.
  • Essentially one maintainer. The npm package is also a few versions behind the GitHub tag, so npm install -g may not give you the newest fixes.
Similar repositories
Install
npm install -g ccmanager
ccmanager            # or try it once with: npx ccmanager
Screenshots
kbwo/ccmanager: GitHub preview cardkbwo/ccmanager: Screenshot 1

15.7k stars · MIT · 0.45.3 (2026-08-31) · Track this in Scout

Searches and rewrites code by matching the syntax tree rather than the raw text, so a pattern written in the language itself finds every real match.

Repo detailsthe review · specs · pros & cons · install

What it is

ast-grep is a single command-line program written in Rust. It parses your code into a tree, the same way a compiler does, and matches patterns against that tree rather than against the raw characters. It supports many languages and can also run a set of your own rules as a checker.What it is good for. Anybody making the same change in many places. The pattern is written in the language itself: console.log($ARG) finds every one of those calls whatever the spacing or line breaks. Rewrites use the same notation, so a rename across four hundred files is reliable instead of hopeful. For you: this is the best pairing on the page with a coding assistant. Instead of asking it to read the whole project and find every place something happens, you hand it one exact command that already found them.

Stars15.7k
LicenceMIT
Latest0.45.3 (2026-08-31)
Good
  • Fast on large projects, and there is nothing left running afterwards.
  • Rewrites are expressed the same way as searches, so what you found is what you change.
  • You can write your own rules as text files and run them as a project checker.
Watch for
  • Simple patterns are easy but the rule format has a real learning curve once you need conditions and relationships between pieces of code.
  • Language support depends on community grammars, so an unusual language may parse badly or not at all.
  • It is still before version 1.0 after several years, and the rule format has changed between releases, so saved rules can need revisiting after an upgrade.
Similar repositories
  • comby-tools/comby

    The same structural search and replace across many languages, using lighter parsing, so it is more forgiving and less precise.

    Track this in Scout
  • biomejs/gritql

    The same declarative searching and changing of code, now maintained inside the Biome project rather than as a standalone tool; it moved from getgrit/gritql.

    Track this in Scout
  • semgrep/semgrep

    The same idea of matching on code shape, aimed at security checks with a large public rule library, but heavier, licensed LGPL-2.1, and built to report problems rather than fix them.

    Track this in Scout
Install
npm install --global @ast-grep/cli     # or: pip install ast-grep-cli
# or: brew install ast-grep
ast-grep run --pattern 'console.log($ARG)' --lang ts src/
Screenshots
ast-grep/ast-grep: GitHub preview cardast-grep/ast-grep: Screenshot 1
07

sist2app/sist2

💎 hidden gem

1.3k stars · GPL-3.0 · v4.2.1 (2026-08-26) · Track this in Scout

Indexes a folder tree and serves a search page over the contents of the files, including files inside zip, rar and 7z archives, with OCR for scanned pages.

Repo detailsthe review · specs · pros & cons · install

What it is

sist2 is a single program for Linux, also available as a Docker image. It walks a folder tree, pulls the text and details out of each file, makes small preview pictures, and serves a web page you search from. The index can live in a small local file, or in Elasticsearch if you want the heavier search engine.What it is good for. Anybody with a pile of documents they cannot search. It handles PDF, EPUB, MOBI, DOCX, HTML, JSON and plain text, reads the details stored inside images, video and audio, and can read the words off a scanned page using OCR, which means teaching a computer to read text in a picture. It also tags files, by hand or by rule, and re-scanning only looks at what changed. For you: point it at the folder where the Grasppy research, the transcripts and the old reports live, and stop searching by filename.

Stars1.3k
LicenceGPL-3.0
Latestv4.2.1 (2026-08-26)
Good
  • It looks inside zip, rar and 7z folders, which almost no other tool does.
  • With the small local index it uses about 20 MB of memory, so it costs almost nothing to keep.
  • Re-scanning is cheap, so you can run it nightly and always have a current index.
Watch for
  • It is three separate commands: scan, then index, then serve. There is a web screen that hides this, but the screen itself needs Docker.
  • The well-tested path uses Elasticsearch, which the project says needs more than 500 MB of memory. The small local option is lighter but less used.
  • One maintainer, 1.3k stars, and GPL-3.0, which means you cannot quietly build it into a product you sell.
Similar repositories
Install
# Download the sist2 binary from the GitHub releases page, then:
sist2 scan ~/Documents --output ./documents.sist2
sist2 index ./documents.sist2
sist2 web ./documents.sist2      # search page on http://localhost:4090
Screenshots
sist2app/sist2: GitHub preview cardsist2app/sist2: Screenshot 1

28.9k stars · AGPL-3.0 · v0.33.2 (2026-08-11) · Track this in Scout

A self-hosted place for links, notes, images and PDFs that keeps a copy of every page, labels items with a language model, and searches by words and by meaning.

Repo detailsthe review · specs · pros & cons · install

What it is

Karakeep is a Node.js application you run yourself, usually with Docker Compose, which is a way of starting several connected programs with one command. It stores links, notes, images and PDFs, fetches titles and descriptions, keeps a full copy of each page, and searches by words and by meaning.What it is good for. Anybody whose research lives in eighty browser tabs and a chat message to themselves. It has browser extensions, phone apps, RSS intake and a web interface for other programs, so things can arrive from anywhere. The automatic labelling uses a language model, either a paid one from OpenAI or a free one you run yourself with Ollama. A note on naming: this project used to be hoarder-app/hoarder. Old links still work, but the name is different now.

Stars28.9k
LicenceAGPL-3.0
Latestv0.33.2 (2026-08-11)
Good
  • It keeps a copy of the page, so a link that dies later is still readable.
  • Search works on words and on meaning, so you find things you cannot remember the title of.
  • Extensions, phone apps and a web interface mean saving something takes one tap from anywhere.
Watch for
  • This is not a small install. Docker Compose, secrets in a settings file, a reverse proxy and a certificate are all your job, and realistically it wants about 2 GB of memory because it runs a hidden browser to copy pages.
  • The automatic labelling costs real money for every item you save, unless you run your own model, which costs memory instead.
  • The licence is AGPL-3.0. Running it for yourself is fine. Offering it to other people as a service means publishing your changes.
Similar repositories
Install
mkdir karakeep && cd karakeep
curl -o docker-compose.yml https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/.env.sample
# edit .env: set NEXTAUTH_SECRET, MEILI_MASTER_KEY and, if you want labels, OPENAI_API_KEY
docker compose up -d
Screenshots
karakeep-app/karakeep: GitHub preview card

4.2k stars · MIT · v0.9.0 (2025-02-07) · Track this in Scout

Keyword and keyphrase extraction using BERT embeddings, from the author of BERTopic.

Repo detailsthe review · specs · pros & cons · install

What it is

KeyBERT is a small Python library. It turns a document into a list of numbers that stands for its meaning, does the same for every candidate phrase inside it, and ranks the phrases by how close the two are. It can also spread the results out so you do not get five versions of the same phrase.What it is good for. Anybody naming things automatically. Article tags, search suggestions, section titles and topic labels are all the same problem. It can use several different engines underneath, including the very small model2vec models, so you do not have to run a large model to get a usable answer. For you: this is the most direct fit on the page for Grasppy. Naming a cluster of messages is exactly this problem, and the ledger has had a gap here since toponymy (Ed. 6 #9).

Stars4.2k
LicenceMIT
Latestv0.9.0 (2025-02-07)checked 7 Sep 2026
Written inPython
Good
  • A single small library with one job, and the licence is MIT.
  • You can swap the engine underneath, from a full sentence model down to a tiny one that runs on a plain server.
  • Built-in options to keep the results varied rather than five near-copies of one phrase.
Watch for
  • Its newest release is version 0.9.0 from 7 February 2025, nineteen months ago. The repository itself is current: the last code landed on 25 August 2026, recorded in the 9 September sweep. This is a stable single-purpose library, not a neglected one, but you should know the release is old before you depend on it.
  • Installing it the normal way pulls in PyTorch, which is several gigabytes to download and one to two gigabytes of memory to run. The light path avoids that but you have to ask for it.
  • It is a library, so there is nothing to open and click. Without writing Python you get nothing from it.
Similar repositories
  • INESCTEC/yake

    The same extraction of key phrases from one document with no training needed, but by counting position and frequency rather than by meaning, so it is much faster and does not understand the text; it moved from LIAAD/yake.

    Track this in Scout
  • boudinfl/pke

    The same ranked key phrases, offering a whole family of classical methods instead of one, but its releases have been slow for years.

    Track this in Scout
  • csurfer/rake-nltk

    The same key phrases from a much simpler counting method, tiny and with almost no dependencies, but with no meaning-based ranking and little recent maintenance.

    Track this in Scout
Install
source venv/bin/activate
pip install keybert
# the light path, no PyTorch:
pip install keybert --no-deps
pip install scikit-learn model2vec
Screenshots
MaartenGr/KeyBERT: GitHub preview cardMaartenGr/KeyBERT: Screenshot 1

17.4k stars · EUPL-1.2 and MIT · v0.23.6 (2026-09-12) · Track this in Scout

A static site generator shipped as one self-contained binary, with Sass, syntax highlighting, image resizing, taxonomies, multilingual sites and a search index all built in.

Repo detailsthe review · specs · pros & cons · install

What it is

Zola is a static site generator written in Rust and shipped as one self-contained file. You write pages in Markdown, which is plain text with a few marks for headings and links, and lay them out with templates in a language called Tera. It compiles style sheets, highlights code, resizes images, builds a search index and handles multiple languages without any add-ons.What it is good for. Anybody who wants a blog or a documentation site that still builds in three years. The usual alternative brings a Node.js project with hundreds of dependencies, and dependency upgrades become a chore that eventually stops the site from building at all. Zola has none of that: the tool is one file, and the output is plain HTML you can host anywhere for nothing. It shipped version 0.23.6 on 12 September 2026, the day before this edition.

Stars17.4k
LicenceEUPL-1.2 and MIT
Latestv0.23.6 (2026-09-12)
Good
  • Everything is built in, so there is no add-on ecosystem to maintain and nothing to upgrade but the one program.
  • The output is plain files. Hosting costs nothing and nothing can break at 3am.
  • Multiple languages are a first-class feature, which matters if a site needs an English half and a Russian half.
Watch for
  • You need to be comfortable with the command line, with Markdown, with TOML settings files and with the Tera template language. A non-programmer meets the template layer on day one.
  • Built-in is also a ceiling. There is no add-on system, so if Zola does not do what you need, your choices are to pre-process the files yourself or to patch the program.
  • The licence is now dual: code added after version 0.22 is EUPL-1.2 and the earlier code is MIT. Building your own site with Zola imposes nothing on you. Copying and changing Zola itself is a different matter, and EUPL-1.2 is a copyleft licence far fewer lawyers have read than GPL.
Similar repositories
Install
brew install zola                 # macOS
winget install getzola.zola       # Windows
# Linux: pacman -S zola, apk add zola, or snap install --edge zola
zola init myblog && cd myblog && zola serve
Screenshots
getzola/zola: GitHub preview card
11

zuplo/zudoku

💎 hidden gem

581 stars · MIT · v0.86.0 (2026-08-28) · Track this in Scout

Builds an API documentation site from one or more OpenAPI schemas, with an in-browser request playground, and lets hand-written MDX guides live beside the generated reference.

Repo detailsthe review · specs · pros & cons · install

What it is

Zudoku is a documentation site builder in JavaScript. It reads one or more OpenAPI files, which is the standard machine-readable description of a web service, and produces a full reference site with a try-it panel. You add hand-written pages in MDX, which is Markdown with the ability to drop in interactive pieces.What it is good for. Anybody shipping a web service for other people to use. The reference half writes itself and stays correct, which is where hand-written documentation always fails. Guides and tutorials, which cannot be generated, live in the same site beside it. It can also sit behind a login, so private documentation is possible. For you: Grasppy is built with FastAPI, and FastAPI produces an OpenAPI description already, without you doing anything. That means most of a proper documentation site is one command away. Scalar (Ed. 11 #7) is the other answer to the same question; the difference is that Zudoku also holds your written guides.

Stars581
LicenceMIT
Latestv0.86.0 (2026-08-28)
Good
  • The reference is generated, so it cannot drift away from what the service actually does.
  • Written guides and generated reference live in one site with one search box.
  • The output is a plain static site, so hosting it costs nothing.
Watch for
  • It is version 0.86.0, before 1.0. Settings and structure can still change between minor versions.
  • 581 stars, and it is made by one company, Zuplo, whose main business is an API gateway. The licence is MIT and releases are frequent, but the direction follows their commercial interest.
  • It is a JavaScript toolchain, so Node.js, npm and a build step are unavoidable. If your product is not a web service, a general documentation builder suits you better.
Similar repositories
Install
npm create zudoku@latest
cd my-docs
npm run dev
Screenshots
zuplo/zudoku: GitHub preview cardzuplo/zudoku: Screenshot 1

4.3k stars · MIT · 1.0.1 (2026-06-28) · Track this in Scout

shadcn/ui's look for plain HTML and Tailwind, with no React required.

Repo detailsthe review · specs · pros & cons · install

What it is

Basecoat is a set of CSS classes plus a small amount of plain JavaScript, built on Tailwind CSS. It gives you buttons, dialogs, dropdowns and form controls that match the shadcn/ui design, but as ordinary HTML you write yourself. It uses the same colour and spacing settings as shadcn, so themes carry across.What it is good for. Anybody whose pages are not built in React. Django, Rails, Laravel, Astro, FastAPI templates and plain HTML all work, because there is nothing to render. It is the natural companion to the parts of a product that never justified a JavaScript framework: an admin screen, a settings page, a marketing page. For you: shadcn/ui (Ed. 12 #1) was recommended for the Grasppy front end, which is React. This is the answer for any page of yours that is not.

Stars4.3k
LicenceMIT
Latest1.0.1 (2026-06-28)checked 7 Sep 2026
Written inMDX
Good
  • It works with any way of producing HTML, because it is styling and not a framework.
  • The same settings as shadcn, so a theme you already chose carries over.
  • Almost nothing to load, and nothing to keep running.
Watch for
  • You still need Tailwind CSS in your build, and you write the HTML by hand. Somebody who does not write code gets nothing usable out of the box.
  • The behaviour is much thinner than the React original. Keyboard use and screen-reader support are your responsibility, not the library's.
  • It is a small project by one maintainer at version 1.0.x, and the npm package is already ahead of the newest GitHub tag, which suggests release discipline is loose.
Similar repositories
Install
npm install basecoat-css
# then in your CSS, after Tailwind:
#   @import "basecoat-css";
Screenshots
hunvreus/basecoat: GitHub preview cardhunvreus/basecoat: Screenshot 1

Checked, and left out

These were opened for this edition and did not make it, with the reason.

mikf/gallery-dl - ALIVE and very active: v1.32.12 published 12 September 2026, confirmed on PyPI. A command-line downloader for image galleries across hundreds of sites. Left out because the twelve were full, and because its README says active development has moved to Codeberg while releases keep appearing on GitHub - a fact that deserves its own entry rather than a line in the left-out list. Queued.

mikf/gallery-dl - ALIVE and very active: v1.32.12 published 12 September 2026, confirmed on PyPI. A command-line downloader for image galleries across hundreds of sites. Left out because the twelve were full, and because its README says active development has moved to Codeberg while releases keep appearing on GitHub - a fact that deserves its own entry rather than a line in the left-out list. Queued.

espocrm/espocrm - ALIVE: 10.0.8, 8 September 2026, AGPL-3.0, 3.2k stars. A complete CRM with a no-code entity designer. Left out because it does the same job as Twenty

espocrm/espocrm - ALIVE: 10.0.8, 8 September 2026, AGPL-3.0, 3.2k stars. A complete CRM with a no-code entity designer. Left out because it does the same job as Twenty (Ed. 9 #1); redundancy is a reason to queue a repository later and compare the two properly, never a reason to reject it. Queued.

dagger/container-use - ALIVE: v0.4.2, 19 August 2026, Apache-2.0, 4k stars. Gives every coding agent its own container and its own branch. Left out because ccmanager

dagger/container-use - ALIVE: v0.4.2, 19 August 2026, Apache-2.0, 4k stars. Gives every coding agent its own container and its own branch. Left out because ccmanager (#5) took that slot and is far lighter. Queued.

sigoden/argc - ALIVE: v1.24.0, 20 May 2026, with commits to main since. Turns comments above bash functions into a real command-line interface. Left out because ast-grep

sigoden/argc - ALIVE: v1.24.0, 20 May 2026, with commits to main since. Turns comments above bash functions into a real command-line interface. Left out because ast-grep (#6) took the workshop slot. Queued.

searxng/searxng - ALIVE. It publishes no tagged releases at all, which is a publishing habit and not a health signal. Left out because the upstream engines it queries rate-limit, CAPTCHA and block self-hosted instances, so results degrade in a way the operator cannot fix. Stays queued with that warning attached.

searxng/searxng - ALIVE. It publishes no tagged releases at all, which is a publishing habit and not a health signal. Left out because the upstream engines it queries rate-limit, CAPTCHA and block self-hosted instances, so results degrade in a way the operator cannot fix. Stays queued with that warning attached.

usememos/memos - ALIVE: v0.30.0, 26 July 2026, MIT, 62.5k stars. A very light self-hosted notes app built around quick capture. Left out because sist2

usememos/memos - ALIVE: v0.30.0, 26 July 2026, MIT, 62.5k stars. A very light self-hosted notes app built around quick capture. Left out because sist2 (#7) and Karakeep (#8) filled the two documents-and-knowledge slots. Queued.

Share this edition
← PreviousNo. 18Next →No. 20

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.