-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Ori Pekelman edited this page May 11, 2026
·
8 revisions
Detailed reference for the framework. The repo's
README.md covers the
quick start; everything deeper lives here.
- Getting Started — install, build, serve, and deploy your first Tep app, all the way through auth, persistence, and a systemd unit.
Pure-Tep modules covering the gem ecosystem's most common needs in a way that lowers cleanly through Spinel.
-
Tep::SQLite — libsqlite3 wrapper: prepare / bind /
step / col, plus
first_str/first_intconveniences. - Tep::Json — primitive encoders, flat-key decoder, hash/array helpers for JSON-over-HTTP.
- Tep::Logger — levelled logger; stderr or file.
-
Tep::Jwt — HS256 JWT encode / verify / decode; interop-
tested against the canonical
jwtgem. - Tep::Password — PBKDF2-SHA256 hashing with self- describing storage; 200k iters.
-
Tep::Security —
Cors(before-filter) +Headers(HSTS, nosniff, frame-options, ...). -
Tep::Assets — compile-time bundling for
<app>/assets/*(CSS, SVG, JS, ...). - Tep::Scheduler — cooperative fiber scheduler with timer + I/O parking.
-
Tep::Shell — popen-based shell-out + small-file reader
for
/proc,/sys,/etc. - Tep::Http — outbound HTTP/1.0 client, Faraday-shaped.
- Tep::Parallel — grosser/parallel-shaped fork fan-out.
- Tep::Job — sidekiq-shaped queue over SQLite.
- Sinatra compatibility matrix — which Sinatra idioms translate (and which don't).
- Ecosystem survey — which gems lower today, which don't.
- Examples — end-to-end apps (hello, blog, chat, GB10 dashboard) you can read straight through.
Tep deliberately tracks Spinel's edges. If you hit something that "should work" — a Sinatra idiom that doesn't translate, a Spinel- emitted miscompile, a runtime hang — file an issue with a minimal reproduction at OriPekelman/tep/issues.