Read how to get started with Tempest here.
Zero config, zero overhead. This is Tempest:
final readonly class BookController { #[Get('/blog')] public function index() { /* … */ } #[Get('/blog/{post}')] public function show(Post $post) { /* … */ } } final readonly class RssSyncCommand { public function __construct(private Console $console) {} #[ConsoleCommand('rss:sync')] public function __invoke(bool $force = false) { /* … */ } }
We welcome contributing to the Tempest framework! We only ask that you take a quick look at our guidelines and then head on over to the issues page to see some ways you might help out!