# ranaroussi-tiny
**Repository Path**: wfdaj/ranaroussi-tiny
## Basic Information
- **Project Name**: ranaroussi-tiny
- **Description**: No description available
- **Primary Language**: PHP
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-13
- **Last Updated**: 2026-06-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Tiny — PHP Framework
> Zero-config, batteries-included PHP framework. Your filesystem **is** the router. Your SQL is just SQL. You stay in PHP. Runs unchanged on PHP-FPM, Swoole, or FrankenPHP.
[](https://www.php.net/)
[](#license)
[](https://github.com/ranaroussi/tiny/blob/tiny/.version)
**Status:** v3.x — feature-complete, in active production use. Public API is stable; ScalVer applies.
---
## What makes Tiny different
- **Zero ceremony.** Drop a file in `app/controllers/`. That is the route.
- **Let PHP be PHP.** No compilation step, no route cache to warm, no container to restart. Add or remove a file and the change is live instantly. This is what makes Tiny extremely fast and lightweight — it doesn't fight the language, it gets out of the way.
- **No magic ORM.** Raw SQL with a thin, safe wrapper over MySQL, PostgreSQL, SQLite, and ClickHouse.
- **HTMX-native** request/response with auto `HX-Push-Url` and HTMX-aware redirects.
- **React hybrid renderer** — SSR on first load, JSON on subsequent requests. One controller, both modes.
- **Built-in scheduler** — fluent cron-style API with second-level granularity. No external binaries.
- **File-based CMS** — drop markdown into `app/cms/`, get pages, posts, tags, and a sitemap-ready API.
- **30+ integration helpers** — Stripe, Mailgun, Twilio, Spaces/S3, OAuth, ClickHouse, and more.
---
## Repository structure
Tiny is organized into focused branches. Pick the entry point that matches what you need:
| Branch | What it is | Get started |
|---|---|---|
| **`main`** | This page — the landing page | You're here |
| **[`tiny`](https://github.com/ranaroussi/tiny/tree/tiny)** | Framework code only — for submodules and drop-in use | `git submodule add -b tiny https://github.com/ranaroussi/tiny.git tiny` |
| **[`boilerplate`](https://github.com/ranaroussi/tiny/tree/boilerplate)** | Full app shell with Docker, Tailwind, build pipeline, tests, and migrations | `php tiny/cli create my-app` |
| **[`docs`](https://github.com/ranaroussi/tiny/tree/docs)** | Full documentation, examples, and architecture writeups | Browse on GitHub |
---
## Quick example
**Controller** — `app/controllers/users.php` becomes `/users`:
```php
all();
$response->render('users/index', ['users' => $users]);
}
}
```
**Model** — `app/models/user.php`:
```php
get('users', null, '*', 'created_at DESC');
}
}
```
**View** — `app/views/users/index.php`:
```php
'Users']); ?>