goscii

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

README

CI Go Report Card Go Reference

goscii-screencast

Sci-fi TUI for learning Go.

Inspired by rustlings and golings.

GOSCII pushes the terminal-first approach further - no external editor required.

The narrative: you're a stranded astronaut on a crashed station, and every broken system is a Go exercise. You're not alone: the onboard AI, also called GOSCII, hands you missions, give you hints, read the logs and checks the output; and slowly pieces its own corrupted memory back together as you progress.

Two ways to play

  • Bundled adventures — handcrafted or pre-generated mission tracks, offline with no "Signal" (API key) needed.
  • AI missions — bring your own key (Anthropic, OpenAI, or Groq), pick a topic and difficulty, and get an endless stream of generated exercises wrapped in the same sci-fi narrative.

Run

# In a sandbox - requires Docker. 
# First run pulls the image automatically.
docker run -it --rm ghcr.io/ashbuk/goscii

# Same, but -v keeps your progress between runs (otherwise --rm wipes it on exit).
docker run -it --rm -v ~/.local/share/goscii:/home/goscii/.local/share/goscii ghcr.io/ashbuk/goscii

# On host - requires Go, your code runs directly on your machine
go install github.com/AshBuk/goscii@latest

CLI Usage

goscii subcommands - call directly after go install, or append to the Docker run command (e.g. docker run --rm ghcr.io/ashbuk/goscii progress):

goscii start                        # launch the home hub
goscii adventure [name]             # run a bundled offline adventure directly
goscii progress                     # show solved missions by topic
goscii reset                        # reset adventure checkpoint
goscii reset --all                  # wipe all progress

Everything lives on your machine in ~/.local/share/goscii/ (or $XDG_DATA_HOME/goscii):

  • config.json — AI provider, model, and your API key (chmod 600)
  • progress.json — which missions you've solved

Safety: Docker is the recommended way to play — every release ships a sandboxed image that keeps execution isolated from your filesystem. On the host, GOSCII compiles and runs Go with your own permissions; as a guard it blocks dangerous imports (os/exec, syscall, unsafe, …) and uses a throwaway working directory. If you don't trust your AI provider's output and would rather not run AI-generated code directly, stick with the Docker image.

Built with

Thanks to Charm for the cool TUI stuff: Bubble Tea, Bubbles and Lip Gloss, and to Cobra for the CLI.

Apache 2.0 LICENSE

For folks who love their terminal and want gamified coding sessions that are fun and AI-powered!

If GOSCII helped you drop a ⭐ for others to find it.

Documentation

Overview

GOSCII is a sci-fi TUI for learning Go — the Go Orbital Survival Coding Interactive Interface.

You're a on a crashed orbital station, and the only way home is through the code: every broken system is a Go exercise. The onboard AI, also called GOSCII, hands you missions, checks your output, and pieces its own corrupted memory back together as you progress.

Two ways to play:

  • Offline adventures — bundled mission tracks, no API key. You write Go, GOSCII compiles and runs it, and checks the output.
  • AI missions — bring your own key for an endless stream of generated exercises by topic and difficulty, wrapped in the same narrative.

Commands:

goscii start              # launch the home hub
goscii adventure [name]   # play a bundled offline track directly
goscii progress           # show solved missions by topic
goscii reset [--all]      # reset the adventure checkpoint, or wipe all progress

Full briefing: https://github.com/AshBuk/goscii

Directories

Path Synopsis
Package ai provides AI-driven level generation for GOSCII practice missions.
Package ai provides AI-driven level generation for GOSCII practice missions.
Package assets holds the embedded per-topic ASCII art pack.
Package assets holds the embedded per-topic ASCII art pack.
Package cmd is the command bridge - parses mission directives from the terminal.
Package cmd is the command bridge - parses mission directives from the terminal.
Package engine executes player code in isolated orbit and verifies the results.
Package engine executes player code in isolated orbit and verifies the results.
Package levels loads mission data from the embedded archive.
Package levels loads mission data from the embedded archive.
Package tui implements the full terminal UI: home hub, signal setup, mission/difficulty popups, generator, and cockpit.
Package tui implements the full terminal UI: home hub, signal setup, mission/difficulty popups, generator, and cockpit.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL