Skip to content
Ori Pekelman edited this page May 11, 2026 · 8 revisions

Tep documentation

Detailed reference for the framework. The repo's README.md covers the quick start; everything deeper lives here.

Getting started

  • Getting Started — install, build, serve, and deploy your first Tep app, all the way through auth, persistence, and a systemd unit.

Batteries

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_int conveniences.
  • 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 jwt gem.
  • Tep::Password — PBKDF2-SHA256 hashing with self- describing storage; 200k iters.
  • Tep::SecurityCors (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.

Reference

Reporting issues

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.

Clone this wiki locally