Skip to content

About

open-source scripting game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ScriptRunner TUI

ScriptRunner

A terminal-native idle game where your scripts are the controller.
Write code, hit an API, earn cycles. The server runs locally — you are the automation layer.

Website Stars Forks License Last Commit Python Issues CI


What Is This?

ScriptRunner is an idle game that runs entirely in your terminal. There is no UI to click through — the server exposes a local REST API and you write the scripts that interact with it. The built-in TUI dashboard shows the game state in real time while your automation runs in the background.

Mine cycles, manage entropy, complete missions, and climb through tiers — all from code you write yourself.


Features

  • Script-driven gameplay — interact with the game through a local HTTP API, no GUI required
  • Live TUI dashboard — real-time Textual UI showing your current state, resources, and missions
  • Starter script included — jump straight in without writing from scratch
  • Persistent state — game state is stored in a local SQLite database via SQLModel
  • Tier progression — advance through tiers by completing missions and managing resources
  • Entropy system — balance cycle generation against entropy buildup

Setup

Requirements: Python 3.11+

macOS / Linux

git clone https://github.com/Shonitbar/script-runner.git
cd script-runner
python -m venv .venv
source .venv/bin/activate
pip install -e .

Windows

git clone https://github.com/Shonitbar/script-runner.git
cd script-runner
python -m venv .venv
.venv\Scripts\activate
pip install -e .

pip install -e . installs all dependencies and registers the scriptrunner command.


Running the Game

scriptrunner start

Starts both the API server (http://localhost:8000) and the TUI dashboard in one command.

Server only (e.g. to run scripts while the TUI is open elsewhere):

scriptrunner server

Playing

A starter script is included to get you up and running immediately:

import requests, time

session = requests.Session()
r = session.post("http://localhost:8000/mine")
print(r.json())

That's it — three lines to start earning cycles. From there, write your own scripts to mine cycles, manage entropy, complete missions, and progress through tiers.

See the Player Guide for the full API reference, mechanics, and mission walkthroughs.


Tech Stack

Layer Library
API server FastAPI + Uvicorn
Database SQLModel (SQLite)
TUI Textual + Rich
CLI Typer

Made with Python · MIT License · Website · Open an issue

Created as a part of LLM course, HIT

About

open-source scripting game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages