Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

CLI Experiments

In this series, we'll explore building text-based user interfaces (TUIs) using Laravel Prompts. We'll examine the different aspects of building applications for the terminal, such as handling state, animations, and user interactions via the keyboard. By the end of the series, we'll have built seven fully functional CLI applications that will hopefully inspire you to go off and build your own!

Progress

Series Info

Episodes
12
Run Time
3h 21m
Difficulty
Advanced
Last Updated
Jul 1, 2024
Version
Latest

Series Episodes

  1. Episodes (12)
    1. Intro + Big Text

      Let's lay a foundation for building TUIs with Laravel Prompts. We'll explore the structure of an application by building something simple: Big Text.
    2. Tabs

      We'll dive a bit deeper into application state by building a simple tabs app.
    3. DataTable (Part 1)

      In this episode, we'll start building out a fully functional datatable in the terminal. This will teach us about rendering complex application state coupled with context-dependent keypress listeners.
    4. DataTable (Part 2)

      We'll continue building out our datatable app, adding functionality that allows us to search records and jump to pages.
    5. Directory Watcher

      In our first foray into bypassing the default "prompt" method to run our app, we'll build out a directory watcher that highlights changes happening in a directory in real time.
    6. Dancing Bars

      Let's animate! We'll explore what it means to animate in the terminal (spoiler alert: it's very manual) and see how Chewie's animation utilities can help us out.
    7. Stopwatch

      By building a stopwatch that records our laps, we'll combine our basic animation skills with listening for user input to create a simple interactive app.
    8. Dashboard (Part 1)

      Let's learn how to compose multiple animations running at different speeds by creating a 2001: A Space Odyssey inspired dashboard.
    9. Dashboard (Part 2)

      We'll continue building our dashboard by creating the automated chat between Dave and HAL.
    10. Prong (Part 1)

      Let's make a game! We'll combine all of our newfound skills to build Prong (Prompts + Pong), a terminal take on the classic arcade game.
    11. Prong (Part 2)

      We'll finish our our game by adding the gall and determining a winner.
    12. Where Do We Go From Here?

      There's so much more to explore! We've barely scratched the surface. Let's talk about where you can explore further.

Continue Learning