Tad.Turnkey — brownfield integration kit
tad.tk is a kit that brings together three essential tools—SCM, RPA, and Monitoring—and lets them work seamlessly inside a single UI: 👉 tad.web
The goal is simple: operate legacy or mixed environments with minimal setup and maximum visibility.
-
Assist Core Engineering Tasks
Tool Purpose Fossil Version control for code and artifacts, built‑in issue tracking, wiki, and documentation. Robot Framework + SikuliX GUI automation via DSL. Works with any GUI app, including VNC/RDP sessions. Prometheus Monitoring for multi‑process and multi‑server environments, with alerting support. -
Easy to Use & Deploy
Fossil and Prometheus are single‑binary tools that run on macOS, Linux, and Windows.
Robot Framework + SikuliX requires a few more steps, but the kit aims to simplify the setup.
-
Fossil (SCM)
Start/stop Fossil repository server Add a filesystem directory to version control Commit changes
-
Robot Framework (RPA)
Start/stop SikuliX server Execute DSL scripts and view reports
-
Prometheus (Monitoring)
Start/stop Prometheus and proxy server Enable monitoring for Fossil and Robot services
-
macOS with babashka installed
-
Installed tools:
- Fossil
- Prometheus
- Robot Framework + SikuliX
{:fossil
{:base "var/repos"
:user #or [#env FOSSIL_USER "tad"]
:pass #or [#env FOSSIL_PASS "tadxxxxxx"]}
:robot
{:virtual-env ".venv"
:sikulix-jar "f/sikulix.jar"
:code "r/c"
:arch "r/a"}
:prom
{:prm-bin "/opt/homebrew/bin/prometheus"
:pgw-bin "f/pushgateway"
:tsdb-pth "/opt/homebrew/var/prometheus"
:prm-web "127.0.0.1:9090"
:pgw-web "127.0.0.1:9091"
:prm-job "prm"
:pgw-job "pgw"
}
}-
venv (config.edn
:virtual-env)in the dir of
tad.tk$ brew install uv ... $ brew install [email protected] ... $ uv venv --python 3.11 ... $ uv pip sync requirements.txt ...
-> new dir
.venv -
d/l sikulixidemacm-2.0.6-20230417.154405.jar and pushgateway
mkdir f
copy two files into new dir
f
-
Download frontend resources
$ bb dl.bb resources/jsdlv/*.txt ... downloading ...This fetches all required JS/CSS assets (≈10 MB) into the
w/directory. -
Generate Documentation
$ bb docs Reading metadata for post: docs.md Writing blog/style.css Parsing Markdown for post: docs.md Processing markdown for file: c/qb/posts/docs.md Caching post to file: .work/prod/docs.md.pre-template.html Writing post: blog/docs.html Writing page: blog/tags/index.html Writing page: blog/tags/docs.html Writing page: blog/archive.html Writing page: blog/index.html Writing Clojure feed blog/planetclojure.xml Writing feed blog/atom.xml
The generated site is placed under
blog/. -
Start the web server
$ bb serv pwd: #object[java.io.File 0x20aa826e /Users/tcc/wa/tad.tk] URL: http://127.0.0.1:8888/ 2026-03-31T18:42:29.372+08 t4.local INFO [tad.web.svc:18] - Starting svc on port 8888Open the browser at: http://127.0.0.1:8888/