Files
rubbs/lib/bbs.rb
Zsolt Tasnadi 4d38046c70 Add FakeOS: configurable character-mode OS simulator
BBS::FakeOS is a generic, teletype-style engine for simulating retro
operating systems: a scripted boot sequence (BIOS POST, memory test,
banners, typewriter output) followed by an interactive command shell.

Each simulated OS (MS-DOS, CP/M, AmigaDOS CLI, ...) is just a
FakeOS.define { ... } config — prompt, colors, boot block, command table
and an on_unknown fallback — so new OSes are added as configuration, not
code. on_unknown is the natural hook for a conversational/LLM-backed
shell. Exposed as a Flow step (`os <definition>`) alongside tui/app.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 20:04:59 +02:00

49 lines
1.3 KiB
Ruby

# frozen_string_literal: true
require_relative 'bbs/color'
require_relative 'bbs/config'
require_relative 'bbs/telnet'
require_relative 'bbs/banner'
require_relative 'bbs/flow'
require_relative 'bbs/flow_runner'
require_relative 'bbs/fake_os'
require_relative 'bbs/renderer'
require_relative 'bbs/store'
require_relative 'bbs/frame_buffer'
require_relative 'bbs/event'
require_relative 'bbs/theme'
require_relative 'bbs/widget'
require_relative 'bbs/container'
require_relative 'bbs/widgets'
require_relative 'bbs/widgets/ansi_art'
require_relative 'bbs/window'
require_relative 'bbs/focus_manager'
require_relative 'bbs/menu'
require_relative 'bbs/statusbar'
require_relative 'bbs/dialogs'
require_relative 'bbs/markdown'
require_relative 'bbs/windows/button_bar'
require_relative 'bbs/windows/info'
require_relative 'bbs/windows/form'
require_relative 'bbs/windows/master_detail'
require_relative 'bbs/windows/stream'
require_relative 'bbs/application'
require_relative 'bbs/tui'
require_relative 'bbs/tui_runner'
require_relative 'bbs/session'
require_relative 'bbs/server'
module BBS
def self.configure
yield(@config ||= Config.new)
end
def self.config
@config ||= Config.new
end
def self.start(port: config.port)
Server.new(port: port).run
end
end